linux-samsung-r9q2/include/linux
Mel Gorman 8cd7c588de mm/vmscan: throttle reclaim until some writeback completes if congested
Patch series "Remove dependency on congestion_wait in mm/", v5.

This series that removes all calls to congestion_wait in mm/ and deletes
wait_iff_congested.  It's not a clever implementation but
congestion_wait has been broken for a long time [1].

Even if congestion throttling worked, it was never a great idea.  While
excessive dirty/writeback pages at the tail of the LRU is one
possibility that reclaim may be slow, there is also the problem of too
many pages being isolated and reclaim failing for other reasons
(elevated references, too many pages isolated, excessive LRU contention
etc).

This series replaces the "congestion" throttling with 3 different types.

 - If there are too many dirty/writeback pages, sleep until a timeout or
   enough pages get cleaned

 - If too many pages are isolated, sleep until enough isolated pages are
   either reclaimed or put back on the LRU

 - If no progress is being made, direct reclaim tasks sleep until
   another task makes progress with acceptable efficiency.

This was initially tested with a mix of workloads that used to trigger
corner cases that no longer work.  A new test case was created called
"stutterp" (pagereclaim-stutterp-noreaders in mmtests) using a freshly
created XFS filesystem.  Note that it may be necessary to increase the
timeout of ssh if executing remotely as ssh itself can get throttled and
the connection may timeout.

stutterp varies the number of "worker" processes from 4 up to NR_CPUS*4
to check the impact as the number of direct reclaimers increase.  It has
four types of worker.

 - One "anon latency" worker creates small mappings with mmap() and
   times how long it takes to fault the mapping reading it 4K at a time

 - X file writers which is fio randomly writing X files where the total
   size of the files add up to the allowed dirty_ratio. fio is allowed
   to run for a warmup period to allow some file-backed pages to
   accumulate. The duration of the warmup is based on the best-case
   linear write speed of the storage.

 - Y file readers which is fio randomly reading small files

 - Z anon memory hogs which continually map (100-dirty_ratio)% of memory

 - Total estimated WSS = (100+dirty_ration) percentage of memory

X+Y+Z+1 == NR_WORKERS varying from 4 up to NR_CPUS*4

The intent is to maximise the total WSS with a mix of file and anon
memory where some anonymous memory must be swapped and there is a high
likelihood of dirty/writeback pages reaching the end of the LRU.

The test can be configured to have no background readers to stress
dirty/writeback pages.  The results below are based on having zero
readers.

The short summary of the results is that the series works and stalls
until some event occurs but the timeouts may need adjustment.

The test results are not broken down by patch as the series should be
treated as one block that replaces a broken throttling mechanism with a
working one.

Finally, three machines were tested but I'm reporting the worst set of
results.  The other two machines had much better latencies for example.

First the results of the "anon latency" latency

  stutterp
                                5.15.0-rc1             5.15.0-rc1
                                   vanilla mm-reclaimcongest-v5r4
  Amean     mmap-4      31.4003 (   0.00%)   2661.0198 (-8374.52%)
  Amean     mmap-7      38.1641 (   0.00%)    149.2891 (-291.18%)
  Amean     mmap-12     60.0981 (   0.00%)    187.8105 (-212.51%)
  Amean     mmap-21    161.2699 (   0.00%)    213.9107 ( -32.64%)
  Amean     mmap-30    174.5589 (   0.00%)    377.7548 (-116.41%)
  Amean     mmap-48   8106.8160 (   0.00%)   1070.5616 (  86.79%)
  Stddev    mmap-4      41.3455 (   0.00%)  27573.9676 (-66591.66%)
  Stddev    mmap-7      53.5556 (   0.00%)   4608.5860 (-8505.23%)
  Stddev    mmap-12    171.3897 (   0.00%)   5559.4542 (-3143.75%)
  Stddev    mmap-21   1506.6752 (   0.00%)   5746.2507 (-281.39%)
  Stddev    mmap-30    557.5806 (   0.00%)   7678.1624 (-1277.05%)
  Stddev    mmap-48  61681.5718 (   0.00%)  14507.2830 (  76.48%)
  Max-90    mmap-4      31.4243 (   0.00%)     83.1457 (-164.59%)
  Max-90    mmap-7      41.0410 (   0.00%)     41.0720 (  -0.08%)
  Max-90    mmap-12     66.5255 (   0.00%)     53.9073 (  18.97%)
  Max-90    mmap-21    146.7479 (   0.00%)    105.9540 (  27.80%)
  Max-90    mmap-30    193.9513 (   0.00%)     64.3067 (  66.84%)
  Max-90    mmap-48    277.9137 (   0.00%)    591.0594 (-112.68%)
  Max       mmap-4    1913.8009 (   0.00%) 299623.9695 (-15555.96%)
  Max       mmap-7    2423.9665 (   0.00%) 204453.1708 (-8334.65%)
  Max       mmap-12   6845.6573 (   0.00%) 221090.3366 (-3129.64%)
  Max       mmap-21  56278.6508 (   0.00%) 213877.3496 (-280.03%)
  Max       mmap-30  19716.2990 (   0.00%) 216287.6229 (-997.00%)
  Max       mmap-48 477923.9400 (   0.00%) 245414.8238 (  48.65%)

For most thread counts, the time to mmap() is unfortunately increased.
In earlier versions of the series, this was lower but a large number of
throttling events were reaching their timeout increasing the amount of
inefficient scanning of the LRU.  There is no prioritisation of reclaim
tasks making progress based on each tasks rate of page allocation versus
progress of reclaim.  The variance is also impacted for high worker
counts but in all cases, the differences in latency are not
statistically significant due to very large maximum outliers.  Max-90
shows that 90% of the stalls are comparable but the Max results show the
massive outliers which are increased to to stalling.

It is expected that this will be very machine dependant.  Due to the
test design, reclaim is difficult so allocations stall and there are
variances depending on whether THPs can be allocated or not.  The amount
of memory will affect exactly how bad the corner cases are and how often
they trigger.  The warmup period calculation is not ideal as it's based
on linear writes where as fio is randomly writing multiple files from
multiple tasks so the start state of the test is variable.  For example,
these are the latencies on a single-socket machine that had more memory

  Amean     mmap-4      42.2287 (   0.00%)     49.6838 * -17.65%*
  Amean     mmap-7     216.4326 (   0.00%)     47.4451 *  78.08%*
  Amean     mmap-12   2412.0588 (   0.00%)     51.7497 (  97.85%)
  Amean     mmap-21   5546.2548 (   0.00%)     51.8862 (  99.06%)
  Amean     mmap-30   1085.3121 (   0.00%)     72.1004 (  93.36%)

The overall system CPU usage and elapsed time is as follows

                    5.15.0-rc3  5.15.0-rc3
                       vanilla mm-reclaimcongest-v5r4
  Duration User        6989.03      983.42
  Duration System      7308.12      799.68
  Duration Elapsed     2277.67     2092.98

The patches reduce system CPU usage by 89% as the vanilla kernel is rarely
stalling.

The high-level /proc/vmstats show

                                       5.15.0-rc1     5.15.0-rc1
                                          vanilla mm-reclaimcongest-v5r2
  Ops Direct pages scanned          1056608451.00   503594991.00
  Ops Kswapd pages scanned           109795048.00   147289810.00
  Ops Kswapd pages reclaimed          63269243.00    31036005.00
  Ops Direct pages reclaimed          10803973.00     6328887.00
  Ops Kswapd efficiency %                   57.62          21.07
  Ops Kswapd velocity                    48204.98       57572.86
  Ops Direct efficiency %                    1.02           1.26
  Ops Direct velocity                   463898.83      196845.97

Kswapd scanned less pages but the detailed pattern is different.  The
vanilla kernel scans slowly over time where as the patches exhibits
burst patterns of scan activity.  Direct reclaim scanning is reduced by
52% due to stalling.

The pattern for stealing pages is also slightly different.  Both kernels
exhibit spikes but the vanilla kernel when reclaiming shows pages being
reclaimed over a period of time where as the patches tend to reclaim in
spikes.  The difference is that vanilla is not throttling and instead
scanning constantly finding some pages over time where as the patched
kernel throttles and reclaims in spikes.

  Ops Percentage direct scans               90.59          77.37

For direct reclaim, vanilla scanned 90.59% of pages where as with the
patches, 77.37% were direct reclaim due to throttling

  Ops Page writes by reclaim           2613590.00     1687131.00

Page writes from reclaim context are reduced.

  Ops Page writes anon                 2932752.00     1917048.00

And there is less swapping.

  Ops Page reclaim immediate         996248528.00   107664764.00

The number of pages encountered at the tail of the LRU tagged for
immediate reclaim but still dirty/writeback is reduced by 89%.

  Ops Slabs scanned                     164284.00      153608.00

Slab scan activity is similar.

ftrace was used to gather stall activity

  Vanilla
  -------
      1 writeback_wait_iff_congested: usec_timeout=100000 usec_delayed=16000
      2 writeback_wait_iff_congested: usec_timeout=100000 usec_delayed=12000
      8 writeback_wait_iff_congested: usec_timeout=100000 usec_delayed=8000
     29 writeback_wait_iff_congested: usec_timeout=100000 usec_delayed=4000
  82394 writeback_wait_iff_congested: usec_timeout=100000 usec_delayed=0

The fast majority of wait_iff_congested calls do not stall at all.  What
is likely happening is that cond_resched() reschedules the task for a
short period when the BDI is not registering congestion (which it never
will in this test setup).

      1 writeback_congestion_wait: usec_timeout=100000 usec_delayed=120000
      2 writeback_congestion_wait: usec_timeout=100000 usec_delayed=132000
      4 writeback_congestion_wait: usec_timeout=100000 usec_delayed=112000
    380 writeback_congestion_wait: usec_timeout=100000 usec_delayed=108000
    778 writeback_congestion_wait: usec_timeout=100000 usec_delayed=104000

congestion_wait if called always exceeds the timeout as there is no
trigger to wake it up.

Bottom line: Vanilla will throttle but it's not effective.

Patch series
------------

Kswapd throttle activity was always due to scanning pages tagged for
immediate reclaim at the tail of the LRU

      1 usec_timeout=100000 usect_delayed=72000 reason=VMSCAN_THROTTLE_WRITEBACK
      4 usec_timeout=100000 usect_delayed=20000 reason=VMSCAN_THROTTLE_WRITEBACK
      5 usec_timeout=100000 usect_delayed=12000 reason=VMSCAN_THROTTLE_WRITEBACK
      6 usec_timeout=100000 usect_delayed=16000 reason=VMSCAN_THROTTLE_WRITEBACK
     11 usec_timeout=100000 usect_delayed=100000 reason=VMSCAN_THROTTLE_WRITEBACK
     11 usec_timeout=100000 usect_delayed=8000 reason=VMSCAN_THROTTLE_WRITEBACK
     94 usec_timeout=100000 usect_delayed=0 reason=VMSCAN_THROTTLE_WRITEBACK
    112 usec_timeout=100000 usect_delayed=4000 reason=VMSCAN_THROTTLE_WRITEBACK

The majority of events did not stall or stalled for a short period.
Roughly 16% of stalls reached the timeout before expiry.  For direct
reclaim, the number of times stalled for each reason were

   6624 reason=VMSCAN_THROTTLE_ISOLATED
  93246 reason=VMSCAN_THROTTLE_NOPROGRESS
  96934 reason=VMSCAN_THROTTLE_WRITEBACK

The most common reason to stall was due to excessive pages tagged for
immediate reclaim at the tail of the LRU followed by a failure to make
forward.  A relatively small number were due to too many pages isolated
from the LRU by parallel threads

For VMSCAN_THROTTLE_ISOLATED, the breakdown of delays was

      9 usec_timeout=20000 usect_delayed=4000 reason=VMSCAN_THROTTLE_ISOLATED
     12 usec_timeout=20000 usect_delayed=16000 reason=VMSCAN_THROTTLE_ISOLATED
     83 usec_timeout=20000 usect_delayed=20000 reason=VMSCAN_THROTTLE_ISOLATED
   6520 usec_timeout=20000 usect_delayed=0 reason=VMSCAN_THROTTLE_ISOLATED

Most did not stall at all.  A small number reached the timeout.

For VMSCAN_THROTTLE_NOPROGRESS, the breakdown of stalls were all over
the map

      1 usec_timeout=500000 usect_delayed=324000 reason=VMSCAN_THROTTLE_NOPROGRESS
      1 usec_timeout=500000 usect_delayed=332000 reason=VMSCAN_THROTTLE_NOPROGRESS
      1 usec_timeout=500000 usect_delayed=348000 reason=VMSCAN_THROTTLE_NOPROGRESS
      1 usec_timeout=500000 usect_delayed=360000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=228000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=260000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=340000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=364000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=372000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=428000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=460000 reason=VMSCAN_THROTTLE_NOPROGRESS
      2 usec_timeout=500000 usect_delayed=464000 reason=VMSCAN_THROTTLE_NOPROGRESS
      3 usec_timeout=500000 usect_delayed=244000 reason=VMSCAN_THROTTLE_NOPROGRESS
      3 usec_timeout=500000 usect_delayed=252000 reason=VMSCAN_THROTTLE_NOPROGRESS
      3 usec_timeout=500000 usect_delayed=272000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=188000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=268000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=328000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=380000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=392000 reason=VMSCAN_THROTTLE_NOPROGRESS
      4 usec_timeout=500000 usect_delayed=432000 reason=VMSCAN_THROTTLE_NOPROGRESS
      5 usec_timeout=500000 usect_delayed=204000 reason=VMSCAN_THROTTLE_NOPROGRESS
      5 usec_timeout=500000 usect_delayed=220000 reason=VMSCAN_THROTTLE_NOPROGRESS
      5 usec_timeout=500000 usect_delayed=412000 reason=VMSCAN_THROTTLE_NOPROGRESS
      5 usec_timeout=500000 usect_delayed=436000 reason=VMSCAN_THROTTLE_NOPROGRESS
      6 usec_timeout=500000 usect_delayed=488000 reason=VMSCAN_THROTTLE_NOPROGRESS
      7 usec_timeout=500000 usect_delayed=212000 reason=VMSCAN_THROTTLE_NOPROGRESS
      7 usec_timeout=500000 usect_delayed=300000 reason=VMSCAN_THROTTLE_NOPROGRESS
      7 usec_timeout=500000 usect_delayed=316000 reason=VMSCAN_THROTTLE_NOPROGRESS
      7 usec_timeout=500000 usect_delayed=472000 reason=VMSCAN_THROTTLE_NOPROGRESS
      8 usec_timeout=500000 usect_delayed=248000 reason=VMSCAN_THROTTLE_NOPROGRESS
      8 usec_timeout=500000 usect_delayed=356000 reason=VMSCAN_THROTTLE_NOPROGRESS
      8 usec_timeout=500000 usect_delayed=456000 reason=VMSCAN_THROTTLE_NOPROGRESS
      9 usec_timeout=500000 usect_delayed=124000 reason=VMSCAN_THROTTLE_NOPROGRESS
      9 usec_timeout=500000 usect_delayed=376000 reason=VMSCAN_THROTTLE_NOPROGRESS
      9 usec_timeout=500000 usect_delayed=484000 reason=VMSCAN_THROTTLE_NOPROGRESS
     10 usec_timeout=500000 usect_delayed=172000 reason=VMSCAN_THROTTLE_NOPROGRESS
     10 usec_timeout=500000 usect_delayed=420000 reason=VMSCAN_THROTTLE_NOPROGRESS
     10 usec_timeout=500000 usect_delayed=452000 reason=VMSCAN_THROTTLE_NOPROGRESS
     11 usec_timeout=500000 usect_delayed=256000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=112000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=116000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=144000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=152000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=264000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=384000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=424000 reason=VMSCAN_THROTTLE_NOPROGRESS
     12 usec_timeout=500000 usect_delayed=492000 reason=VMSCAN_THROTTLE_NOPROGRESS
     13 usec_timeout=500000 usect_delayed=184000 reason=VMSCAN_THROTTLE_NOPROGRESS
     13 usec_timeout=500000 usect_delayed=444000 reason=VMSCAN_THROTTLE_NOPROGRESS
     14 usec_timeout=500000 usect_delayed=308000 reason=VMSCAN_THROTTLE_NOPROGRESS
     14 usec_timeout=500000 usect_delayed=440000 reason=VMSCAN_THROTTLE_NOPROGRESS
     14 usec_timeout=500000 usect_delayed=476000 reason=VMSCAN_THROTTLE_NOPROGRESS
     16 usec_timeout=500000 usect_delayed=140000 reason=VMSCAN_THROTTLE_NOPROGRESS
     17 usec_timeout=500000 usect_delayed=232000 reason=VMSCAN_THROTTLE_NOPROGRESS
     17 usec_timeout=500000 usect_delayed=240000 reason=VMSCAN_THROTTLE_NOPROGRESS
     17 usec_timeout=500000 usect_delayed=280000 reason=VMSCAN_THROTTLE_NOPROGRESS
     18 usec_timeout=500000 usect_delayed=404000 reason=VMSCAN_THROTTLE_NOPROGRESS
     20 usec_timeout=500000 usect_delayed=148000 reason=VMSCAN_THROTTLE_NOPROGRESS
     20 usec_timeout=500000 usect_delayed=216000 reason=VMSCAN_THROTTLE_NOPROGRESS
     20 usec_timeout=500000 usect_delayed=468000 reason=VMSCAN_THROTTLE_NOPROGRESS
     21 usec_timeout=500000 usect_delayed=448000 reason=VMSCAN_THROTTLE_NOPROGRESS
     23 usec_timeout=500000 usect_delayed=168000 reason=VMSCAN_THROTTLE_NOPROGRESS
     23 usec_timeout=500000 usect_delayed=296000 reason=VMSCAN_THROTTLE_NOPROGRESS
     25 usec_timeout=500000 usect_delayed=132000 reason=VMSCAN_THROTTLE_NOPROGRESS
     25 usec_timeout=500000 usect_delayed=352000 reason=VMSCAN_THROTTLE_NOPROGRESS
     26 usec_timeout=500000 usect_delayed=180000 reason=VMSCAN_THROTTLE_NOPROGRESS
     27 usec_timeout=500000 usect_delayed=284000 reason=VMSCAN_THROTTLE_NOPROGRESS
     28 usec_timeout=500000 usect_delayed=164000 reason=VMSCAN_THROTTLE_NOPROGRESS
     29 usec_timeout=500000 usect_delayed=136000 reason=VMSCAN_THROTTLE_NOPROGRESS
     30 usec_timeout=500000 usect_delayed=200000 reason=VMSCAN_THROTTLE_NOPROGRESS
     30 usec_timeout=500000 usect_delayed=400000 reason=VMSCAN_THROTTLE_NOPROGRESS
     31 usec_timeout=500000 usect_delayed=196000 reason=VMSCAN_THROTTLE_NOPROGRESS
     32 usec_timeout=500000 usect_delayed=156000 reason=VMSCAN_THROTTLE_NOPROGRESS
     33 usec_timeout=500000 usect_delayed=224000 reason=VMSCAN_THROTTLE_NOPROGRESS
     35 usec_timeout=500000 usect_delayed=128000 reason=VMSCAN_THROTTLE_NOPROGRESS
     35 usec_timeout=500000 usect_delayed=176000 reason=VMSCAN_THROTTLE_NOPROGRESS
     36 usec_timeout=500000 usect_delayed=368000 reason=VMSCAN_THROTTLE_NOPROGRESS
     36 usec_timeout=500000 usect_delayed=496000 reason=VMSCAN_THROTTLE_NOPROGRESS
     37 usec_timeout=500000 usect_delayed=312000 reason=VMSCAN_THROTTLE_NOPROGRESS
     38 usec_timeout=500000 usect_delayed=304000 reason=VMSCAN_THROTTLE_NOPROGRESS
     40 usec_timeout=500000 usect_delayed=288000 reason=VMSCAN_THROTTLE_NOPROGRESS
     43 usec_timeout=500000 usect_delayed=408000 reason=VMSCAN_THROTTLE_NOPROGRESS
     55 usec_timeout=500000 usect_delayed=416000 reason=VMSCAN_THROTTLE_NOPROGRESS
     56 usec_timeout=500000 usect_delayed=76000 reason=VMSCAN_THROTTLE_NOPROGRESS
     58 usec_timeout=500000 usect_delayed=120000 reason=VMSCAN_THROTTLE_NOPROGRESS
     59 usec_timeout=500000 usect_delayed=208000 reason=VMSCAN_THROTTLE_NOPROGRESS
     61 usec_timeout=500000 usect_delayed=68000 reason=VMSCAN_THROTTLE_NOPROGRESS
     71 usec_timeout=500000 usect_delayed=192000 reason=VMSCAN_THROTTLE_NOPROGRESS
     71 usec_timeout=500000 usect_delayed=480000 reason=VMSCAN_THROTTLE_NOPROGRESS
     79 usec_timeout=500000 usect_delayed=60000 reason=VMSCAN_THROTTLE_NOPROGRESS
     82 usec_timeout=500000 usect_delayed=320000 reason=VMSCAN_THROTTLE_NOPROGRESS
     82 usec_timeout=500000 usect_delayed=92000 reason=VMSCAN_THROTTLE_NOPROGRESS
     85 usec_timeout=500000 usect_delayed=64000 reason=VMSCAN_THROTTLE_NOPROGRESS
     85 usec_timeout=500000 usect_delayed=80000 reason=VMSCAN_THROTTLE_NOPROGRESS
     88 usec_timeout=500000 usect_delayed=84000 reason=VMSCAN_THROTTLE_NOPROGRESS
     90 usec_timeout=500000 usect_delayed=160000 reason=VMSCAN_THROTTLE_NOPROGRESS
     90 usec_timeout=500000 usect_delayed=292000 reason=VMSCAN_THROTTLE_NOPROGRESS
     94 usec_timeout=500000 usect_delayed=56000 reason=VMSCAN_THROTTLE_NOPROGRESS
    118 usec_timeout=500000 usect_delayed=88000 reason=VMSCAN_THROTTLE_NOPROGRESS
    119 usec_timeout=500000 usect_delayed=72000 reason=VMSCAN_THROTTLE_NOPROGRESS
    126 usec_timeout=500000 usect_delayed=108000 reason=VMSCAN_THROTTLE_NOPROGRESS
    146 usec_timeout=500000 usect_delayed=52000 reason=VMSCAN_THROTTLE_NOPROGRESS
    148 usec_timeout=500000 usect_delayed=36000 reason=VMSCAN_THROTTLE_NOPROGRESS
    148 usec_timeout=500000 usect_delayed=48000 reason=VMSCAN_THROTTLE_NOPROGRESS
    159 usec_timeout=500000 usect_delayed=28000 reason=VMSCAN_THROTTLE_NOPROGRESS
    178 usec_timeout=500000 usect_delayed=44000 reason=VMSCAN_THROTTLE_NOPROGRESS
    183 usec_timeout=500000 usect_delayed=40000 reason=VMSCAN_THROTTLE_NOPROGRESS
    237 usec_timeout=500000 usect_delayed=100000 reason=VMSCAN_THROTTLE_NOPROGRESS
    266 usec_timeout=500000 usect_delayed=32000 reason=VMSCAN_THROTTLE_NOPROGRESS
    313 usec_timeout=500000 usect_delayed=24000 reason=VMSCAN_THROTTLE_NOPROGRESS
    347 usec_timeout=500000 usect_delayed=96000 reason=VMSCAN_THROTTLE_NOPROGRESS
    470 usec_timeout=500000 usect_delayed=20000 reason=VMSCAN_THROTTLE_NOPROGRESS
    559 usec_timeout=500000 usect_delayed=16000 reason=VMSCAN_THROTTLE_NOPROGRESS
    964 usec_timeout=500000 usect_delayed=12000 reason=VMSCAN_THROTTLE_NOPROGRESS
   2001 usec_timeout=500000 usect_delayed=104000 reason=VMSCAN_THROTTLE_NOPROGRESS
   2447 usec_timeout=500000 usect_delayed=8000 reason=VMSCAN_THROTTLE_NOPROGRESS
   7888 usec_timeout=500000 usect_delayed=4000 reason=VMSCAN_THROTTLE_NOPROGRESS
  22727 usec_timeout=500000 usect_delayed=0 reason=VMSCAN_THROTTLE_NOPROGRESS
  51305 usec_timeout=500000 usect_delayed=500000 reason=VMSCAN_THROTTLE_NOPROGRESS

The full timeout is often hit but a large number also do not stall at
all.  The remainder slept a little allowing other reclaim tasks to make
progress.

While this timeout could be further increased, it could also negatively
impact worst-case behaviour when there is no prioritisation of what task
should make progress.

For VMSCAN_THROTTLE_WRITEBACK, the breakdown was

      1 usec_timeout=100000 usect_delayed=44000 reason=VMSCAN_THROTTLE_WRITEBACK
      2 usec_timeout=100000 usect_delayed=76000 reason=VMSCAN_THROTTLE_WRITEBACK
      3 usec_timeout=100000 usect_delayed=80000 reason=VMSCAN_THROTTLE_WRITEBACK
      5 usec_timeout=100000 usect_delayed=48000 reason=VMSCAN_THROTTLE_WRITEBACK
      5 usec_timeout=100000 usect_delayed=84000 reason=VMSCAN_THROTTLE_WRITEBACK
      6 usec_timeout=100000 usect_delayed=72000 reason=VMSCAN_THROTTLE_WRITEBACK
      7 usec_timeout=100000 usect_delayed=88000 reason=VMSCAN_THROTTLE_WRITEBACK
     11 usec_timeout=100000 usect_delayed=56000 reason=VMSCAN_THROTTLE_WRITEBACK
     12 usec_timeout=100000 usect_delayed=64000 reason=VMSCAN_THROTTLE_WRITEBACK
     16 usec_timeout=100000 usect_delayed=92000 reason=VMSCAN_THROTTLE_WRITEBACK
     24 usec_timeout=100000 usect_delayed=68000 reason=VMSCAN_THROTTLE_WRITEBACK
     28 usec_timeout=100000 usect_delayed=32000 reason=VMSCAN_THROTTLE_WRITEBACK
     30 usec_timeout=100000 usect_delayed=60000 reason=VMSCAN_THROTTLE_WRITEBACK
     30 usec_timeout=100000 usect_delayed=96000 reason=VMSCAN_THROTTLE_WRITEBACK
     32 usec_timeout=100000 usect_delayed=52000 reason=VMSCAN_THROTTLE_WRITEBACK
     42 usec_timeout=100000 usect_delayed=40000 reason=VMSCAN_THROTTLE_WRITEBACK
     77 usec_timeout=100000 usect_delayed=28000 reason=VMSCAN_THROTTLE_WRITEBACK
     99 usec_timeout=100000 usect_delayed=36000 reason=VMSCAN_THROTTLE_WRITEBACK
    137 usec_timeout=100000 usect_delayed=24000 reason=VMSCAN_THROTTLE_WRITEBACK
    190 usec_timeout=100000 usect_delayed=20000 reason=VMSCAN_THROTTLE_WRITEBACK
    339 usec_timeout=100000 usect_delayed=16000 reason=VMSCAN_THROTTLE_WRITEBACK
    518 usec_timeout=100000 usect_delayed=12000 reason=VMSCAN_THROTTLE_WRITEBACK
    852 usec_timeout=100000 usect_delayed=8000 reason=VMSCAN_THROTTLE_WRITEBACK
   3359 usec_timeout=100000 usect_delayed=4000 reason=VMSCAN_THROTTLE_WRITEBACK
   7147 usec_timeout=100000 usect_delayed=0 reason=VMSCAN_THROTTLE_WRITEBACK
  83962 usec_timeout=100000 usect_delayed=100000 reason=VMSCAN_THROTTLE_WRITEBACK

The majority hit the timeout in direct reclaim context although a
sizable number did not stall at all.  This is very different to kswapd
where only a tiny percentage of stalls due to writeback reached the
timeout.

Bottom line, the throttling appears to work and the wakeup events may
limit worst case stalls.  There might be some grounds for adjusting
timeouts but it's likely futile as the worst-case scenarios depend on
the workload, memory size and the speed of the storage.  A better
approach to improve the series further would be to prioritise tasks
based on their rate of allocation with the caveat that it may be very
expensive to track.

This patch (of 5):

Page reclaim throttles on wait_iff_congested under the following
conditions:

 - kswapd is encountering pages under writeback and marked for immediate
   reclaim implying that pages are cycling through the LRU faster than
   pages can be cleaned.

 - Direct reclaim will stall if all dirty pages are backed by congested
   inodes.

wait_iff_congested is almost completely broken with few exceptions.
This patch adds a new node-based workqueue and tracks the number of
throttled tasks and pages written back since throttling started.  If
enough pages belonging to the node are written back then the throttled
tasks will wake early.  If not, the throttled tasks sleeps until the
timeout expires.

[neilb@suse.de: Uninterruptible sleep and simpler wakeups]
[hdanton@sina.com: Avoid race when reclaim starts]
[vbabka@suse.cz: vmstat irq-safe api, clarifications]

Link: https://lore.kernel.org/linux-mm/45d8b7a6-8548-65f5-cccf-9f451d4ae3d4@kernel.dk/ [1]
Link: https://lkml.kernel.org/r/20211022144651.19914-1-mgorman@techsingularity.net
Link: https://lkml.kernel.org/r/20211022144651.19914-2-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: NeilBrown <neilb@suse.de>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: "Darrick J . Wong" <djwong@kernel.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Rik van Riel <riel@surriel.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-11-06 13:30:40 -07:00
..
amba spi: Updates for v5.13 2021-04-26 16:32:11 -07:00
atomic locking/atomic: add arch_atomic_long*() 2021-07-16 18:46:45 +02:00
avf Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2021-06-07 13:24:50 -07:00
bcma
byteorder
can can: dev: provide optional GPIO based termination support 2021-08-19 15:07:03 +02:00
ceph ceph: flush mdlog before umounting 2021-09-02 22:49:16 +02:00
clk clk: at91: add register definition for sama7g5's master clock 2021-07-19 14:28:56 +02:00
crush
decompress
device bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
dma dmaengine: ti: k3-psil: optimize struct psil_endpoint_config for size 2021-02-01 11:29:11 +05:30
dsa net: dsa: tag_ocelot_8021q: break circular dependency with ocelot switch lib 2021-10-12 17:35:18 -07:00
extcon
firmware drivers: firmware: Add PDI load API support 2021-07-21 13:14:08 +02:00
fpga fpga: fix spelling mistakes 2021-07-21 19:54:21 -07:00
fsl bus: fsl-mc: extend fsl_mc_get_endpoint() to pass interface ID 2021-08-04 09:53:34 +01:00
gpio intel-gpio for v5.15-1 2021-08-13 09:38:04 +02:00
greybus
hsi
i3c i3c: Make remove callback return void 2021-02-02 00:16:57 +01:00
iio iio: adc: ad_sigma_delta: remove ad_sd_{setup,cleanup}_buffer_and_trigger() 2021-06-13 17:00:17 +01:00
input Input: cy8ctmg110_ts - rely on platform code to supply interrupt 2021-06-05 20:34:06 -07:00
irqchip KVM: arm64: vgic: Let an interrupt controller advertise lack of HW deactivation 2021-06-01 10:45:59 +01:00
isdn
lockd Keep read and write fds with each nlm_file 2021-08-23 18:05:31 -04:00
mailbox mailbox: mtk-cmdq: Add struct cmdq_pkt in struct cmdq_cb_data 2021-06-26 11:40:20 -05:00
mdio
mfd - Core Frameworks 2021-09-07 12:38:59 -07:00
mlx4 RDMA/mlx4: Do not map the core_clock page to user space unless enabled 2021-06-03 14:19:53 -03:00
mlx5 net/mlx5: Lag, change multipath and bonding to be mutually exclusive 2021-10-20 10:42:49 -07:00
mmc Core: 2021-08-31 16:43:06 -07:00
mtd MTD core changes: 2021-07-05 11:21:51 -07:00
mux
net/intel RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw 2021-06-02 20:06:36 -03:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2021-09-03 16:20:37 -07:00
netfilter_arp netfilter: arptables: use pernet ops struct during unregister 2021-05-03 23:04:01 +02:00
netfilter_bridge netfilter: ebtables: do not hook tables by default 2021-08-02 11:40:45 +02:00
netfilter_ipv4 netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
netfilter_ipv6 netfilter: allow to turn off xtables compat layer 2021-04-26 18:16:56 +02:00
pcs net: pcs: xpcs: export xpcs_do_config and xpcs_link_up 2021-06-11 13:43:56 -07:00
perf KVM: arm64: Fix PMU probe ordering 2021-09-20 12:43:34 +01:00
phy USB / Thunderbolt patches for 5.14-rc1 2021-07-05 14:16:22 -07:00
pinctrl This is the bulk of pin control changes for the v5.14 kernel: 2021-07-01 16:57:14 -07:00
platform_data ARM: omap1: move omap15xx local bus handling to usb.c 2021-10-05 15:39:50 +02:00
power ARM: SoC drivers for 5.15 2021-09-01 15:25:28 -07:00
qed qed: Add IP services APIs support 2021-06-03 14:04:18 -07:00
raid
regulator regulator: Documentation fix for regulator error notification helper 2021-08-23 11:06:28 +01:00
remoteproc remoteproc: qcom: expose types for COMPILE_TEST 2021-01-09 13:51:36 -08:00
reset
rpmsg rpmsg: glink: Guard qcom_glink_ssr_notify() with correct config 2021-01-05 22:22:07 -06:00
rtc rtc: remove sirfsoc driver 2021-01-23 14:57:21 +01:00
sched Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
soc Networking stragglers and fixes for 5.15-rc1, including changes from netfilter, 2021-09-07 14:02:58 -07:00
soundwire sound updates for 5.15-rc1 2021-09-01 10:29:29 -07:00
spi spi: Fix deadlock when adding SPI controllers on SPI buses 2021-10-14 12:47:29 +01:00
ssb ssb: fix boolreturn.cocci warning 2021-08-29 14:47:42 +03:00
sunrpc NFS Client Updates for Linux 5.15 2021-09-04 10:25:26 -07:00
surface_aggregator platform/surface: aggregator: Update copyright 2021-06-16 17:47:53 +02:00
ulpi
unaligned asm-generic: simplify asm/unaligned.h 2021-05-17 13:30:29 +02:00
usb usb: core: hcd: Add support for deferring roothub registration 2021-09-14 10:41:30 +02:00
8250_pci.h
a.out.h
acct.h
acpi.h Merge branches 'acpi-numa', 'acpi-glue', 'acpi-config' and 'acpi-pmic' 2021-08-30 19:30:37 +02:00
acpi_dma.h
acpi_iort.h ACPI: Move IOMMU setup code out of IORT 2021-06-25 15:02:43 +02:00
acpi_mdio.h net: mdio: Add ACPI support code for mdio 2021-06-11 13:08:53 -07:00
acpi_pmtmr.h
acpi_viot.h ACPI: Add driver for the VIOT table 2021-06-25 15:02:43 +02:00
adb.h
adfs_fs.h
adreno-smmu-priv.h iommu/arm-smmu-qcom: Add stall support 2021-06-23 07:33:55 -07:00
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
align.h kernel.h: drop inclusion in bitmap.h 2021-05-06 19:24:11 -07:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h iommu/amd: Move a few prototypes to include/linux/amd-iommu.h 2021-04-07 11:14:55 +02:00
anon_inodes.h fs: add LSM-supporting anon-inode interface 2021-01-14 17:31:05 -05:00
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h cpufreq: CPPC: Add support for frequency invariance 2021-07-01 07:32:14 +05:30
arm-cci.h
arm-smccc.h qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
arm_ffa.h firmware: arm_ffa: Add support for MEM_* interfaces 2021-05-26 22:38:43 +01:00
arm_sdei.h
armada-37xx-rwtm-mailbox.h treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
ascii85.h drm: include only needed headers in ascii85.h 2021-07-01 11:06:04 -07:00
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
asn1_encoder.h lib: Add ASN.1 encoder 2021-04-14 16:30:30 +03:00
assoc_array.h
assoc_array_priv.h
async.h kernel/async.c: remove async_unregister_domain() 2021-05-07 00:26:33 -07:00
async_tx.h
ata.h ata: Replace inclusion of kernel.h by bits.h in the header 2021-05-17 09:10:20 -06:00
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_tcp.h
atmdev.h atm: fix a typo in the struct description 2021-03-08 15:16:30 -08:00
atmel-isc-media.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic.h locking/atomic: add arch_atomic_long*() 2021-07-16 18:46:45 +02:00
attribute_container.h
audit.h audit: trigger accompanying records when no rules present 2020-10-27 21:02:57 -04:00
auto_dev-ioctl.h
auto_fs.h
auxiliary_bus.h driver core: auxiliary bus: minor coding style tweaks 2020-12-04 13:30:59 +01:00
auxvec.h
average.h
backing-dev-defs.h mm: simplify bdi refcounting 2021-11-06 13:30:34 -07:00
backing-dev.h mm/vmscan: throttle reclaim until some writeback completes if congested 2021-11-06 13:30:40 -07:00
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h coredump: don't bother with do_truncate() 2021-03-08 10:21:11 -05:00
bio.h for-5.15-tag 2021-08-31 09:41:22 -07:00
bit_spinlock.h
bitfield.h
bitmap.h cpumask: introduce cpumap_print_list/bitmask_to_buf to support large bitmask and list 2021-08-13 10:27:49 +02:00
bitops.h bitops: Add non-atomic bitops for pointers 2021-07-07 20:01:45 -07:00
bitrev.h
bits.h linux/bits.h: fix compilation error with GENMASK 2021-05-22 15:09:07 -10:00
blk-cgroup.h blk-cgroup: stop using seq_get_buf 2021-08-16 10:53:01 -06:00
blk-crypto.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h block: cleanup the lockdep handling in *alloc_disk 2021-08-23 12:54:30 -06:00
blk-pm.h
blk_types.h for-5.15-tag 2021-08-31 09:41:22 -07:00
blkdev.h SCSI misc on 20210902 2021-09-02 15:09:46 -07:00
blkpg.h
blktrace_api.h blktrace: remove debugfs file dentries from struct blk_trace 2021-02-23 09:54:51 -07:00
blockgroup_lock.h
bma150.h
bootconfig.h bootconfig: Rename xbc_node_find_child() to xbc_node_find_subkey() 2021-09-09 19:14:33 -04:00
bootmem_info.h mm: hugetlb: free the vmemmap pages associated with each HugeTLB page 2021-06-30 20:47:25 -07:00
bottom_half.h tick/sched: Prevent false positive softirq pending warnings on RT 2021-03-17 16:34:11 +01:00
bpf-cgroup.h bpf: Migrate cgroup_bpf to internal cgroup_bpf_attach_type enum 2021-08-23 17:50:24 -07:00
bpf-netns.h
bpf.h bpf: Fix potential race in tail call compatibility check 2021-10-26 12:37:28 -07:00
bpf_lirc.h
bpf_local_storage.h bpf: Fix spelling mistakes 2021-05-24 21:13:05 -07:00
bpf_lsm.h bpf: Enable task local storage for tracing programs 2021-02-26 11:51:47 -08:00
bpf_trace.h
bpf_types.h bpf: Move BPF_MAP_TYPE for INODE_STORAGE and TASK_STORAGE outside of CONFIG_NET 2021-10-26 12:35:16 -07:00
bpf_verifier.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-07-31 09:14:46 -07:00
bpfilter.h
bpfptr.h bpf: Use kvmalloc for map keys in syscalls 2021-08-20 00:09:49 +02:00
brcmphy.h net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S 2021-02-16 15:23:23 -08:00
bsearch.h
bsg-lib.h scsi: bsg: Simplify device registration 2021-07-30 22:22:36 -04:00
bsg.h scsi: bsg: Move the whole request execution into the SCSI/transport handlers 2021-07-30 22:22:36 -04:00
btf.h bpf: Add map side support for bpf timers. 2021-07-15 22:31:10 +02:00
btf_ids.h bpf: Fix bpf-next builds without CONFIG_BPF_EVENTS 2021-08-25 19:41:39 -07:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h mm: fs: invalidate bh_lrus for only cold path 2021-09-24 16:13:35 -07:00
bug.h bug: Provide dummy version of bug_get_file_line() when !GENERIC_BUG 2021-04-15 17:04:24 +01:00
build-salt.h
build_bug.h Revert "kbuild: avoid static_assert for genksyms" 2020-12-29 15:36:49 -08:00
buildid.h kdump: use vmlinux_build_id to simplify 2021-07-08 11:48:22 -07:00
bvec.h bvec: add a bvec_virt helper 2021-08-16 10:50:32 -06:00
c2port.h
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheinfo.h drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION() 2021-09-01 10:29:10 +02:00
capability.h commoncap: handle idmapped mounts 2021-01-24 14:27:17 +01:00
cb710.h
cciss_ioctl.h
ccp.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
cdev.h
cdrom.h scsi: sr: cdrom: Move cdrom_read_cdda_bpc() into the sr driver 2021-07-30 22:13:09 -04:00
cfag12864b.h treewide: Miguel has moved 2021-02-26 09:41:03 -08:00
cfi.h add support for Clang CFI 2021-04-08 16:04:20 -07:00
cgroup-defs.h bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode 2021-09-13 16:35:58 -07:00
cgroup.h bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode 2021-09-13 16:35:58 -07:00
cgroup_rdma.h
cgroup_subsys.h cgroup: Add misc cgroup controller 2021-04-04 13:34:46 -04:00
circ_buf.h
cleancache.h
clk-provider.h Merge branch 'clk-frac-divider' into clk-next 2021-09-01 15:26:45 -07:00
clk.h This is all driver updates, the majority of which is a bunch of new Qualcomm 2021-02-22 09:45:23 -08:00
clkdev.h clkdev: remove unused clkdev_alloc() interfaces 2021-06-08 17:00:09 +02:00
clockchips.h
clocksource.h clocksource: Provide kernel module to test clocksource watchdog 2021-06-22 16:53:17 +02:00
clocksource_ids.h clocksource: Add clocksource id for arm arch counter 2021-04-07 16:33:20 +01:00
cm4000_cs.h
cma.h mm/cma: add cma_pages_valid to determine if pages are in CMA 2021-11-06 13:30:39 -07:00
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h mm: compaction: support triggering of proactive compaction by user 2021-09-03 09:58:17 -07:00
compat.h arch: remove compat_alloc_user_space 2021-09-08 15:32:35 -07:00
compiler-clang.h compiler.h: drop fallback overflow checkers 2021-09-13 10:18:28 -07:00
compiler-gcc.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
compiler-intel.h
compiler-version.h kbuild: redo fake deps at include/config/*.h 2021-04-25 05:26:10 +09:00
compiler.h compiler.h: Introduce absolute_pointer macro 2021-09-15 12:04:28 -07:00
compiler_attributes.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
compiler_types.h Compiler Attributes: add __alloc_size() for better bounds checking 2021-11-06 13:30:33 -07:00
completion.h completion: Drop init_completion define 2020-12-03 11:20:52 +01:00
component.h
configfs.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
connector.h connector: fix a kernel-doc markup 2021-01-21 14:06:00 -07:00
console.h Revert "init/console: Use ttynull as a fallback when there is no console" 2021-01-08 11:02:18 -08:00
console_struct.h vt: Fix character height handling with VT_RESIZEX 2021-05-13 11:00:18 -07:00
consolemap.h
const.h linux/bits.h: fix compilation error with GENMASK 2021-05-22 15:09:07 -10:00
container.h
context_tracking.h context_tracking: KVM: Move guest enter/exit wrappers to KVM's domain 2021-05-05 22:54:12 +02:00
context_tracking_state.h
cookie.h
cordic.h
coredump.h coredump.h: move CONFIG_COREDUMP-only stuff inside the ifdef 2021-03-08 10:21:11 -05:00
coresight-pmu.h coresight: etm-perf: Support PID tracing for kernel at EL2 2021-02-11 18:31:48 +01:00
coresight-stm.h
coresight.h coresight: syscfg: Add API to activate and enable configurations 2021-08-18 22:33:28 +02:00
count_zeros.h
counter.h counter: Rename counter_count_function to counter_function 2021-08-09 20:17:36 +01:00
counter_enum.h
cper.h
cpu.h cpu/hotplug: Remove deprecated CPU-hotplug functions. 2021-09-11 00:41:21 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm 2021-09-07 15:42:10 +02:00
cpuhotplug.h mm/migrate: fix CPUHP state to update node demotion order 2021-10-18 20:22:03 -10:00
cpuidle.h cpuidle: Use s64 as exit_latency_ns and target_residency_ns data type 2021-04-07 19:26:44 +02:00
cpuidle_haltpoll.h
cpumask.h cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf 2021-09-21 17:34:53 +02:00
cpuset.h mm/page_alloc: detect allocation forbidden by cpuset and bail out early 2021-11-06 13:30:38 -07:00
crash_core.h kdump: use vmlinux_build_id to simplify 2021-07-08 11:48:22 -07:00
crash_dump.h crash_dump: Make elfcorehdr address/size symbols always visible 2021-08-24 17:09:01 -05:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h lib: crc8: pointer to data block should be const 2021-05-06 19:24:12 -07:00
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2021-06-28 20:39:26 -07:00
crypto.h crypto: api - Move crypto attr definitions out of crypto.h 2021-06-24 14:51:35 +08:00
cs5535.h
ctype.h ctype.h: remove duplicate isdigit() helper 2020-10-28 14:55:36 +01:00
cuda.h
damon.h mm/damon: implement a debugfs-based user space interface 2021-09-08 11:50:24 -07:00
dasd_mod.h
davinci_emac.h
dax.h dax: remove bdev_dax_supported 2021-08-26 16:52:03 -07:00
dca.h
dcache.h useful constants: struct qstr for ".." 2021-04-15 22:36:45 -04:00
dccp.h
debug_locks.h locking/lockdep: Reduce header dependencies in <linux/debug_locks.h> 2021-08-17 17:29:10 +02:00
debugfs.h debugfs: remove return value of debugfs_create_ulong() 2021-05-21 20:59:55 +02:00
debugobjects.h lib: fix spelling mistakes in header files 2021-07-08 11:48:20 -07:00
delay.h
delayacct.h delayacct: Add sysctl to enable at runtime 2021-05-12 11:43:25 +02:00
delayed_call.h
dev_printk.h printk: index: Add indexing support to dev_printk 2021-07-19 12:13:06 +02:00
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: Register devfreq as a cooling device on demand 2021-03-09 15:40:16 +09:00
devfreq_cooling.h thermal: devfreq_cooling: remove old power model and use EM 2020-12-11 14:10:44 +01:00
device-mapper.h - Add DM infrastructure for IMA-based remote attestion. These changes 2021-08-31 14:55:09 -07:00
device.h Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2021-09-03 10:34:44 -07:00
device_cgroup.h
devm-helpers.h devm-helpers: Add resource managed version of work init 2021-06-17 13:21:06 +02:00
devpts_fs.h
dfl.h fpga: dfl: expose feature revision from struct dfl_device 2021-07-29 12:54:10 -07:00
digsig.h
dim.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h dm integrity: fix flush with external metadata device 2021-01-08 15:57:29 -05:00
dm-dirty-log.h
dm-io.h
dm-kcopyd.h dm writecache: have ssd writeback wait if the kcopyd workqueue is busy 2021-06-15 15:42:03 -04:00
dm-region-hash.h
dm9000.h
dma-buf-map.h dma-buf: Fix kerneldoc formatting 2020-12-15 10:57:29 +01:00
dma-buf.h dma-buf: Fix a few typos in dma-buf documentation 2021-08-10 12:23:46 +02:00
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h dma-buf: add dma_fence_chain_alloc/free v3 2021-06-14 19:38:34 +02:00
dma-fence.h drm/syncobj: use newly allocated stub fences 2021-04-08 12:21:13 +02:00
dma-heap.h dma-buf: dma-heap: Provide accessor to get heap name 2021-02-25 18:28:24 +05:30
dma-iommu.h iommu: Allow enabling non-strict mode dynamically 2021-08-18 13:27:49 +02:00
dma-map-ops.h dma-mapping: make the global coherent pool conditional 2021-08-19 09:02:39 +02:00
dma-mapping.h dma-mapping: return an unsigned int from dma_map_sg{,_attrs} 2021-08-14 09:18:36 +02:00
dma-resv.h <linux/dma-resv.h>: correct a function name in kernel-doc 2021-06-29 18:09:24 +02:00
dmaengine.h dmaengine: Extend the dma_slave_width for 128 bytes 2021-08-29 19:14:19 +05:30
dmapool.h
dmar.h iommu/vt-d: Parse SATC reporting structure 2021-02-04 14:42:00 +01:00
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dtpm.h powercap/drivers/dtpm: Add CPU energy model based support 2020-12-22 19:50:40 +01:00
dw_apb_timer.h
dynamic_debug.h dyndbg: avoid calling dyndbg_emit_prefix when it has no work 2021-05-13 20:50:23 +02:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h EDAC/mc: Add new HBM2 memory type 2021-07-20 09:20:49 -07:00
edd.h
eeprom_93cx6.h
eeprom_93xx46.h misc: eeprom_93xx46: Add new 93c56 and 93c66 compatible strings 2021-05-14 13:45:24 +02:00
efi-bgrt.h
efi.h efi: use 32-bit alignment for efi_guid_t literals 2021-03-19 07:44:28 +01:00
efi_embedded_fw.h
efs_vh.h
eisa.h
elevator.h blk: Fix lock inversion between ioc lock and bfqd lock 2021-06-24 18:43:55 -06:00
elf-fdpic.h
elf-randomize.h
elf.h elf: Expose ELF header on arch_setup_additional_pages() 2020-10-26 13:46:47 +01:00
elfcore-compat.h [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly 2021-01-06 08:40:56 -05:00
elfcore.h elfcore: correct reference to CONFIG_UML 2021-10-18 20:22:03 -10:00
elfnote-lto.h kbuild: add an elfnote for whether vmlinux is built with lto 2021-04-25 05:25:42 +09:00
elfnote.h
enclosure.h
energy_model.h PM: EM: fix kernel-doc comments 2021-09-07 21:17:28 +02:00
entry-common.h entry: Fix typos in comments 2021-03-22 03:57:39 +01:00
entry-kvm.h entry: KVM: Allow use of generic KVM entry w/o full generic support 2021-08-19 11:19:41 +01:00
err.h
errname.h
errno.h nfs: don't allow reexport reclaims 2021-08-26 15:32:28 -04:00
error-injection.h
errqueue.h
errseq.h
etherdevice.h etherdevice: use __dev_addr_set() 2021-10-05 12:38:39 +01:00
ethtool.h ethtool: extend coalesce setting uAPI with CQE mode 2021-08-24 07:38:29 -07:00
ethtool_netlink.h
eventfd.h eventfd: Make signal recursion protection a task bit 2021-08-28 01:33:02 +02:00
eventpoll.h ARM: 9108/1: oabi-compat: rework epoll_wait/epoll_pwait emulation 2021-08-20 11:39:26 +01:00
evm.h ima: Define new template fields xattrnames, xattrlengths and xattrvalues 2021-06-02 18:56:13 -04:00
export.h export: Make CRCs robust to symbol trimming 2021-05-21 13:15:39 +02:00
exportfs.h nfs: don't atempt blocking locks on nfs reexports 2021-08-26 15:32:10 -04:00
ext2_fs.h
extable.h
extcon-provider.h
extcon.h extcon: Add stubs for extcon_register_notifier_all() functions 2021-03-15 11:09:38 +09:00
f2fs_fs.h f2fs: compress: add compress_inode to cache compressed blocks 2021-06-23 01:09:35 -07:00
f75375s.h
falloc.h
fanotify.h fanotify: add pidfd support to the fanotify API 2021-08-10 13:08:49 +02:00
fault-inject-usercopy.h
fault-inject.h
fb.h drm-misc-next for v5.15-rc1: 2021-07-23 11:32:43 +10:00
fbcon.h
fcdevice.h
fcntl.h fcntl: remove unused VALID_UPGRADE_FLAGS 2021-05-28 17:44:36 +02:00
fd.h
fddidevice.h
fdtable.h file: Remove get_files_struct 2020-12-10 12:42:59 -06:00
fec.h
fiemap.h fs: remove generic_block_fiemap 2021-07-27 11:00:36 +02:00
file.h file: Export receive_fd() to modules 2021-09-06 07:20:56 -04:00
fileattr.h vfs: add fileattr ops 2021-04-12 15:04:23 +02:00
filter.h bpf: Prevent increasing bpf_jit_limit above max 2021-10-22 17:23:53 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h firmware: replace HOTPLUG with UEVENT in FW_ACTION defines 2021-05-13 16:14:45 +02:00
fixp-arith.h fixp-arith: add a linear interpolation function 2021-01-16 18:14:53 +00:00
flat.h
flex_proportions.h
font.h Fonts: Add charcount field to font_desc 2020-11-16 16:31:41 +01:00
fortify-string.h string.h: move fortified functions definitions in a dedicated header. 2021-02-26 09:41:04 -08:00
freelist.h
freezer.h freezer: Remove unused inline function try_to_freeze_nowarn() 2021-04-08 19:12:20 +02:00
frontswap.h
fs.h fs: explicitly unregister per-superblock BDIs 2021-11-06 13:30:34 -07:00
fs_context.h cgroup1: fix leaked context root causing sporadic NULL deref in LTP 2021-07-21 06:39:20 -10:00
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h fscache: Remove the object list procfile 2021-08-27 13:34:02 +01:00
fscache.h fscache: Use refcount_t for the cookie refcount instead of atomic_t 2021-08-27 13:34:03 +01:00
fscrypt.h fscrypt: document struct fscrypt_operations 2021-07-28 21:40:36 -07:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fsnotify: optimize the case of no marks of any type 2021-08-11 13:50:53 +02:00
fsnotify_backend.h fanotify: configurable limits via sysfs 2021-03-16 16:49:31 +01:00
fsverity.h fs-verity: add FS_IOC_READ_VERITY_METADATA ioctl 2021-02-07 14:51:11 -08:00
ftrace.h ftrace: Introduce ftrace_need_init_nop() 2021-08-03 14:31:40 +02:00
ftrace_irq.h trace: Add osnoise tracer 2021-06-25 19:57:01 -04:00
futex.h
fwnode.h driver core: fw_devlink: Add support for FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD 2021-09-23 19:26:54 +02:00
fwnode_mdio.h net: mdiobus: withdraw fwnode_mdbiobus_register 2021-06-25 11:46:29 -07:00
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h net: netlink: Remove unused function 2021-07-30 18:35:47 +02:00
genhd.h block: drain file system I/O on del_gendisk 2021-10-15 21:02:50 -06:00
genl_magic_func.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
genl_magic_struct.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
getcpu.h
gfp.h mm/vmalloc: introduce alloc_pages_bulk_array_mempolicy to accelerate memory allocation 2021-11-06 13:30:37 -07:00
glob.h
gnss.h
goldfish.h tty: goldfish: use __raw_writel()/__raw_readl() 2020-10-28 13:44:43 +01:00
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h printk: remove NMI tracking 2021-07-26 15:09:44 +02:00
hash.h
hashtable.h
hdlc.h net: split out ndo_siowandev ioctl 2021-07-27 20:11:45 +01:00
hdlcdrv.h hamradio: use ndo_siocdevprivate 2021-07-27 20:11:44 +01:00
hdmi.h drm: Fix HDMI_STATIC_METADATA_TYPE1 constant 2021-02-23 19:26:43 +01:00
hid-debug.h
hid-roccat.h
hid-sensor-hub.h iio: Add relative sensitivity support 2021-03-11 20:47:09 +00:00
hid-sensor-ids.h iio: Add relative sensitivity support 2021-03-11 20:47:09 +00:00
hid.h Merge branch 'for-5.14/multitouch' into for-linus 2021-06-30 09:15:15 +02:00
hidden.h
hiddev.h
hidraw.h
highmem-internal.h highmem: don't disable preemption on RT in kmap_atomic() 2021-09-08 11:50:24 -07:00
highmem.h mm: remove flush_kernel_dcache_page 2021-09-03 09:58:13 -07:00
highuid.h
hil.h
hil_mlc.h hil/parisc: Disable HIL driver when it gets stuck 2020-10-22 22:44:35 +02:00
hippidevice.h
hmm.h mm: fix spelling mistakes in header files 2021-07-08 11:48:21 -07:00
host1x.h gpu: host1x: Add option to skip firewall for a job 2021-08-10 14:42:49 +02:00
hp_sdc.h
hpet.h
hrtimer.h timekeeping: Distangle resume and clock-was-set events 2021-08-10 17:57:23 +02:00
hrtimer_defs.h
htcpld.h
huge_mm.h mm: memory: add orig_pmd to struct vm_fault 2021-06-30 20:47:30 -07:00
hugetlb.h mm, hugepages: add mremap() support for hugepage backed vma 2021-11-06 13:30:39 -07:00
hugetlb_cgroup.h hugetlb: fix hugetlb cgroup refcounting during vma split 2021-09-03 09:58:16 -07:00
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h hv: hyperv.h: Remove unused inline functions 2021-07-22 10:14:25 +00:00
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-smbus.h
i2c.h i2c: acpi: Add an i2c_acpi_client_count() helper function 2021-08-12 17:26:24 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending 2021-02-23 11:29:52 -08:00
idle_inject.h
idr.h
ieee80211.h ieee80211: add definition for transmit power envelope element 2021-08-26 10:18:56 +02:00
ieee802154.h
if_arp.h net: handle ARPHRD_IP6GRE in dev_is_mac_header_xmit() 2021-06-21 14:51:24 -07:00
if_bridge.h net: make switchdev_bridge_port_{,unoffload} loosely coupled with the bridge 2021-08-04 12:35:07 +01:00
if_eql.h
if_ether.h
if_fddi.h
if_hsr.h net: hsr: add offloading support 2021-02-11 13:24:44 -08:00
if_link.h
if_ltalk.h
if_macvlan.h macvlan: macvlan_count_rx() needs to be aware of preemption 2021-03-10 15:20:24 -08:00
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h net: qualcomm: rmnet: trailer value is a checksum 2021-06-12 13:18:49 -07:00
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h net/ipv4/igmp: Use struct_size() helper 2021-08-05 11:46:42 +01:00
ihex.h
ima.h ima: Add digest and digest_len params to the functions to measure a buffer 2021-07-23 09:27:02 -04:00
imx-media.h
in.h
in6.h
indirect_call_wrapper.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-02-16 13:14:06 -08:00
inet.h
inet_diag.h
inetdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-13 06:41:22 -07:00
init.h init: verify that function is initcall_t at compile-time 2021-05-24 15:24:33 -07:00
init_ohci1394_dma.h
init_syscalls.h
init_task.h kernel/cred.c: make init_groups static 2021-05-06 19:24:11 -07:00
initrd.h init/initramfs.c: do unpacking asynchronously 2021-05-07 00:26:33 -07:00
inotify.h
input.h Input: Add "inhibited" property 2020-12-02 22:10:35 -08:00
instrumentation.h instrumentation.h: Avoid using inline asm operand modifiers 2021-05-19 15:30:59 -05:00
instrumented.h
integrity.h evm: Allow xattr/attr operations for portable signatures 2021-05-21 12:48:39 -04:00
intel-iommu.h iommu/vt-d: Update the virtual command related registers 2021-08-19 10:41:08 +02:00
intel-ish-client-if.h HID: intel-ish-hid: use async resume function 2021-07-15 20:49:09 +02:00
intel-svm.h iommu/vt-d: Allow devices to have more than 32 outstanding PRs 2021-08-19 10:41:08 +02:00
intel_rapl.h powercap: RAPL: Fix struct declaration in header file 2021-04-08 19:09:02 +02:00
intel_th.h
interconnect-provider.h
interconnect.h
interrupt.h genirq: Change force_irqthreads to a static key 2021-08-10 22:50:07 +02:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h include/linux/io-mapping.h: remove fallback for writecombine 2021-11-06 13:30:36 -07:00
io-pgtable.h Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
io.h mm: HUGE_VMAP arch support cleanup 2021-04-30 11:20:40 -07:00
io_uring.h io_uring: remove files pointer in cancellation functions 2021-08-23 13:10:37 -06:00
ioam6.h ipv6: ioam: Data plane support for Pre-allocated Trace 2021-07-21 08:14:33 -07:00
ioam6_genl.h ipv6: ioam: IOAM Generic Netlink API 2021-07-21 08:14:33 -07:00
ioam6_iptunnel.h ipv6: ioam: Support for IOAM injection with lwtunnels 2021-07-21 08:14:33 -07:00
ioasid.h iommu/ioasid: Add ioasid references 2020-11-23 14:16:55 +00:00
iocontext.h
iomap.h iomap: constify iomap_iter_srcmap 2021-08-16 21:26:33 -07:00
iommu-helper.h kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
iommu.h IOMMU Updates for Linux v5.15 2021-09-03 10:44:35 -07:00
iopoll.h
ioport.h ACPI updates for 5.13-rc1 2021-04-26 15:03:23 -07:00
ioprio.h block: fix default IO priority handling 2021-08-18 07:23:15 -06:00
iova.h iommu: Delete iommu_dma_free_cpu_cached_iovas() 2021-04-07 10:30:47 +02:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_smi.h
ipv6.h ipv6: ioam: Data plane support for Pre-allocated Trace 2021-07-21 08:14:33 -07:00
ipv6_route.h
irq.h genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP 2021-08-10 10:59:20 +02:00
irq_poll.h
irq_sim.h
irq_work.h irq_work: Cleanup 2020-11-24 16:47:48 +01:00
irqbypass.h
irqchip.h
irqdesc.h genirq: Move non-irqdomain handle_domain_irq() handling into ARM's handle_IRQ() 2021-06-10 13:09:19 +01:00
irqdomain.h irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent 2021-09-22 14:29:32 +01:00
irqflags.h lockdep: report broken irq restoration 2021-01-22 11:08:56 +01:00
irqhandler.h
irqnr.h
irqreturn.h
isa.h isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h iscsi_ibft: fix crash due to KASLR physical memory remapping 2021-07-31 22:20:24 -04:00
iversion.h nfsd: minor nfsd4_change_attribute cleanup 2020-12-09 09:39:37 -05:00
jbd2.h ext4: inline jbd2_journal_[un]register_shrinker() 2021-07-08 08:37:31 -04:00
jhash.h include: jhash/signal: Fix fall-through warnings for Clang 2020-10-29 13:17:58 -05:00
jiffies.h
journal-head.h
joystick.h
jump_label.h jump_label: Free jump_entry::key bit1 for build use 2021-05-12 14:54:55 +02:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h module: add printk formats to add module build ID to stacktraces 2021-07-08 11:48:22 -07:00
kasan-checks.h kasan: fix bug detection via ksize for HW_TAGS mode 2021-02-24 13:38:31 -08:00
kasan-tags.h arm64: kasan: mte: use a constant kernel GCR_EL1 value 2021-08-02 18:14:21 +01:00
kasan.h kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC 2021-11-06 13:30:37 -07:00
kbd_diacr.h
kbd_kern.h vt: keyboard, make keyboard_tasklet local 2021-01-07 16:17:31 +01:00
kbuild.h
kconfig.h kconfig.h: explain IS_MODULE(), IS_ENABLED() 2021-06-05 23:49:46 +09:00
kcore.h fs/proc/kcore: drop KCORE_REMAP and KCORE_OTHER 2021-06-30 20:47:28 -07:00
kcov.h kcov: Remove kcov include from sched.h and move it to its users. 2021-03-06 12:40:21 +01:00
kcsan-checks.h kcsan: Add missing license and copyright headers 2021-03-08 14:27:43 -08:00
kcsan.h kcsan: Add missing license and copyright headers 2021-03-08 14:27:43 -08:00
kdb.h kdb: Rename members of struct kdbtab_t 2021-07-27 17:05:06 +01:00
kdebug.h
kdev_t.h kdev_t: always inline major/minor helper functions 2020-12-29 15:36:49 -08:00
kern_levels.h
kernel-page-flags.h
kernel.h mm: create a new system state and fix core_kernel_text() 2021-11-06 13:30:38 -07:00
kernel_read_file.h
kernel_stat.h genirq: Make kstat_irqs() static 2020-12-15 16:19:31 +01:00
kernelcapi.h
kernfs.h kernfs: switch kernfs to use an rwsem 2021-07-27 09:29:15 +02:00
kexec.h powerpc: Move ima buffer fields to struct kimage 2021-03-08 12:06:29 -07:00
key-type.h keys: Provide the original description to the key preparser 2020-11-23 18:09:29 +00:00
key.h certs: Fix blacklist flag type confusion 2021-01-21 16:16:10 +00:00
keyboard.h
keyctl.h
keyslot-manager.h - Fix DM integrity's HMAC support to provide enhanced security of 2021-02-22 10:22:54 -08:00
kfence.h kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE 2021-08-20 11:31:42 -07:00
kfifo.h
kgdb.h kgdb: Fix spelling mistakes 2021-06-01 10:29:21 +01:00
khugepaged.h mm,thp,shmem: make khugepaged obey tmpfs mount flags 2021-02-26 09:40:59 -08:00
klist.h
kmemleak.h
kmod.h
kmsg_dump.h printk: kmsg_dump: remove _nolock() variants 2021-03-08 11:43:35 +01:00
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h powerpc updates for 5.14 2021-07-02 12:54:34 -07:00
kref.h
ks0108.h treewide: Miguel has moved 2021-02-26 09:41:03 -08:00
ks8842.h
ks8851_mll.h
ksm.h
kstrtox.h kernel.h: split out kstrtox() and simple_strtox() to a separate header 2021-07-01 11:06:05 -07:00
kthread.h Merge branch 'akpm' (patches from Andrew) 2021-06-29 17:29:11 -07:00
ktime.h timekeeping: Remove unused get_seconds() 2021-01-12 21:13:01 +01:00
kvm_dirty_ring.h KVM: X86: Implement ring-based dirty memory tracking 2020-11-15 09:49:15 -05:00
kvm_host.h KVM: Remove tlbs_dirty 2021-09-23 11:01:12 -04:00
kvm_irqfd.h
kvm_para.h
kvm_types.h KVM: stats: Add VM stat for remote tlb flush requests 2021-09-06 06:30:45 -04:00
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h leds: flash: Add flash registration with undefined CONFIG_LEDS_CLASS_FLASH 2021-02-19 11:54:08 +01:00
led-class-multicolor.h leds: flash: Fix multicolor no-ops registration by return 0 2021-02-19 11:54:08 +01:00
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-ti-lmu-common.h
leds.h leds: move default_state read from fwnode to core 2021-08-18 08:27:30 +02:00
libata.h libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD. 2021-09-03 08:06:02 -06:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h libnvdimm: Export nvdimm shutdown helper, nvdimm_delete() 2021-06-15 16:47:22 -07:00
libps2.h
license.h
limits.h
linear_range.h lib: add linear range get selector within 2021-08-13 18:37:38 +02:00
linkage.h x86/entry: Emit a symbol for register restoring thunk 2021-01-14 17:18:25 +01:00
linkmode.h
linux_logo.h
lis3lv02d.h
list.h list: Fix a typo at the kernel-doc markup 2021-01-04 13:35:14 -08:00
list_bl.h
list_lru.h mm: fix spelling mistakes in header files 2021-07-08 11:48:21 -07:00
list_nulls.h
list_sort.h treewide: Change list_sort to use const pointers 2021-04-08 16:04:22 -07:00
litex.h drivers/soc/litex: remove 8-bit subregister option 2021-06-11 04:35:40 +09:00
livepatch.h
llc.h
llist.h
local_lock.h
local_lock_internal.h locking/local_lock: Add PREEMPT_RT support 2021-08-17 19:08:49 +02:00
lockdep.h locking/lockdep: Provide lockdep_assert{,_once}() helpers 2021-08-05 12:08:15 +02:00
lockdep_types.h locking: Fix comment typos 2021-05-12 20:11:17 +02:00
lockref.h
log2.h ilog2: improve ilog2 for constant arguments 2020-12-15 22:46:16 -08:00
logic_iomem.h lib: add iomem emulation (logic_iomem) 2021-06-17 21:44:51 +02:00
logic_pio.h
lp.h
lru_cache.h lib: fix spelling mistakes in header files 2021-07-08 11:48:20 -07:00
lsm_audit.h lsm_audit,selinux: pass IB device name by reference 2021-05-14 16:38:19 -04:00
lsm_hook_defs.h selinux: delete selinux_xfrm_policy_lookup() useless argument 2021-05-10 21:38:31 -04:00
lsm_hooks.h Add Landlock, a new LSM from Mickaël Salaün <mic@linux.microsoft.com> 2021-05-01 18:50:44 -07:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h net: phy: marvell10g: fix differentiation of 88X3310 from 88X3340 2021-07-11 10:02:33 -07:00
math.h kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
math64.h math64.h: Add mul_s64_u64_shr() 2021-06-17 13:09:27 -04:00
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h mcb: Remove trailing semicolon in macros 2021-06-15 17:46:57 +02:00
mdev.h vfio: Remove struct vfio_device_ops open/release 2021-08-11 09:50:11 -06:00
mdio-bitbang.h net: phy: Add support for microchip SMI0 MDIO bus 2021-04-27 14:13:24 -07:00
mdio-gpio.h
mdio-mux.h
mdio.h net: mdio: introduce a shutdown method to mdio device drivers 2021-09-19 12:08:37 +01:00
mei_cl_bus.h mei: constify passed buffers and structures 2021-07-29 17:08:04 +02:00
mem_encrypt.h
memblock.h memblock: introduce saner 'memblock_free_ptr()' interface 2021-09-14 13:23:22 -07:00
memcontrol.h mm: memcontrol: remove the kmem states 2021-11-06 13:30:35 -07:00
memfd.h
memory.h memory: remove unused CONFIG_MEM_BLOCK_SIZE 2021-11-06 13:30:36 -07:00
memory_hotplug.h mm/memory_hotplug: memory group aware "auto-movable" online policy 2021-09-08 11:50:23 -07:00
mempolicy.h mm: don't include <linux/dax.h> in <linux/mempolicy.h> 2021-11-06 13:30:33 -07:00
mempool.h
memregion.h
memremap.h mm: fix spelling mistakes 2021-07-01 11:06:02 -07:00
memstick.h
mhi.h Char / Misc driver changes for 5.15-rc1 2021-09-01 08:35:06 -07:00
micrel_phy.h net: phy: micrel: ksz886x/ksz8081: add cabletest support 2021-06-14 12:54:43 -07:00
microchipphy.h
migrate.h mm/debug: sync up latest migrate_reason to migrate_reason_names 2021-09-24 16:13:35 -07:00
migrate_mode.h
mii.h net: mii: make mii_ethtool_gset() return void 2021-08-19 13:06:53 +01:00
mii_timestamper.h
min_heap.h
minmax.h linux/bits.h: fix compilation error with GENMASK 2021-05-22 15:09:07 -10:00
misc_cgroup.h cgroup: misc: mark dummy misc_cg_res_total_usage() static inline 2021-04-04 18:29:37 -04:00
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h isystem: trim/fixup stdarg.h and other headers 2021-08-19 09:02:55 +09:00
mm.h mm: khugepaged: recalculate min_free_kbytes after stopping khugepaged 2021-11-06 13:30:39 -07:00
mm_inline.h include/linux/mm_inline.h: fold __update_lru_size() into its sole caller 2021-02-24 13:38:33 -08:00
mm_types.h mm, slub: change percpu partial accounting from objects to pages 2021-11-06 13:30:32 -07:00
mm_types_task.h
mman.h mm: ignore MAP_DENYWRITE in ksys_mmap_pgoff() 2021-09-03 18:42:01 +02:00
mmap_lock.h Networking fixes for 5.15-rc2, including fixes from bpf. 2021-09-16 13:05:42 -07:00
mmdebug.h mm: make __dump_page static 2021-06-29 10:53:53 -07:00
mmiotrace.h
mmu_context.h sched: Introduce task_cpu_possible_mask() to limit fallback rq selection 2021-08-20 12:32:58 +02:00
mmu_notifier.h mm: fix spelling mistakes in header files 2021-07-08 11:48:21 -07:00
mmzone.h mm/vmscan: throttle reclaim until some writeback completes if congested 2021-11-06 13:30:40 -07:00
mnt_namespace.h
mod_devicetable.h PCI / VFIO: Add 'override_only' support for VFIO PCI sub system 2021-08-26 10:36:51 -06:00
module.h printk: Userspace format indexing support 2021-07-19 11:57:48 +02:00
module_signature.h
moduleloader.h kasan, arm64: expand CONFIG_KASAN checks 2020-12-22 12:55:08 -08:00
moduleparam.h params: lift param_set_uint_minmax to common code 2021-08-16 14:42:22 +02:00
most.h
mount.h Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2021-02-27 08:07:12 -08:00
moxtet.h treewide: change my e-mail address, fix my name 2021-04-09 14:54:23 -07:00
mpage.h
mpi.h lib/mpi: fix spelling mistakes 2021-07-01 11:06:05 -07:00
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msdos_partition.h
msg.h
msi.h genirq/msi: Move MSI sysfs handling from PCI to MSI core 2021-08-24 09:16:20 +02:00
mtio.h
mutex.h locking/rtmutex: Add mutex variant for RT 2021-08-17 19:05:29 +02:00
mv643xx.h watchdog: Remove MV64x60 watchdog driver 2021-06-21 08:49:11 +02:00
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
namei.h namei: add mapping aware lookup helper 2021-08-23 13:19:12 +02:00
nd.h libnvdimm: Notify disk drivers to revalidate region read-only 2021-04-08 22:18:36 -07:00
ndctl.h
net.h net: remove cmsg restriction from io_uring based send/recvmsg calls 2021-02-23 20:32:11 -07:00
netdev_features.h net: fix mistake path for netdev_features_strings 2021-06-17 11:32:50 -07:00
netdevice.h net: create netdev->dev_addr assignment helpers 2021-09-05 20:58:50 +01:00
netfilter.h netfilter: annotate nf_tables base hook ops 2021-06-07 12:23:38 +02:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h netfilter: use actual socket sk rather than skb sk when routing harder 2020-10-30 12:57:39 +01:00
netfilter_ipv6.h netfilter: use actual socket sk rather than skb sk when routing harder 2020-10-30 12:57:39 +01:00
netfs.h netfs: Move cookie debug ID to struct netfs_cache_resources 2021-08-25 15:20:25 +01:00
netlink.h netlink: simplify nl_set_extack_cookie_u64(), nl_set_extack_cookie_u32() 2021-04-19 15:41:28 -07:00
netpoll.h
nfs.h
nfs3.h
nfs4.h NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute 2021-04-13 10:04:05 -04:00
nfs_fs.h NFSv4 introduce max_connect mount options 2021-08-27 16:37:17 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4 introduce max_connect mount options 2021-08-27 16:37:17 -04:00
nfs_iostat.h
nfs_page.h pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled 2020-11-30 10:52:22 -05:00
nfs_ssc.h NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfs_xdr.h NFSv4/pnfs: Clean up layout get on open 2021-07-08 14:03:26 -04:00
nfsacl.h NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs 2021-03-22 10:19:00 -04:00
nitro_enclaves.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h lib: fix spelling mistakes in header files 2021-07-08 11:48:20 -07:00
nospec.h
notifier.h notifier: Remove atomic_notifier_call_chain_robust() 2021-08-16 18:55:32 +02:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h nubus: Make struct nubus_driver::remove return void 2021-07-28 15:33:59 +02:00
numa.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme.h: add missing nvme_lba_range_type endianness annotations 2021-06-17 15:51:21 +02:00
nvmem-consumer.h nvmem: core: Add stubs for nvmem_cell_read_variable_le_u32/64 if !CONFIG_NVMEM 2021-09-14 09:02:50 +02:00
nvmem-provider.h Char / Misc driver updates for 5.14-rc1 2021-07-05 13:42:16 -07:00
nvram.h
objagg.h
objtool.h objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC 2021-01-26 11:12:00 -06:00
of.h gpio updates for v5.15 2021-09-07 12:27:27 -07:00
of_address.h of: address: Use IS_ENABLED() for !CONFIG_PCI 2021-06-02 20:59:29 -05:00
of_clk.h
of_device.h driver core: platform: Drop of_device_node_put() wrapper 2021-02-12 19:23:57 -06:00
of_dma.h
of_fdt.h of: fdt: Remove weak early_init_dt_mark_hotplug_memory_arch() 2021-08-15 09:56:03 -05:00
of_gpio.h gpiolib: constify passed device_node pointer 2021-08-05 21:21:58 +02:00
of_graph.h
of_iommu.h iommu: Remove unused of_get_dma_window() 2021-06-08 14:15:46 +02:00
of_irq.h of: irq: Fix the return value for of_irq_parse_one() stub 2021-02-11 08:33:41 +01:00
of_mdio.h net: mdio: provide shim implementation of devm_of_mdiobus_register 2021-05-18 13:47:36 -07:00
of_net.h of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
of_pci.h
of_pdt.h
of_platform.h Revert "of/platform: Add stubs for of_platform_device_create/destroy()" 2021-06-18 08:38:47 +02:00
of_reserved_mem.h of: reserved-memory: Add stub for RESERVEDMEM_OF_DECLARE() 2021-06-21 13:56:46 -06:00
oid_registry.h oid_registry: Add OIDs for missing Spnego auth mechanisms to Macs 2021-08-25 15:43:26 -05:00
olpc-ec.h
omap-dma.h
omap-gpmc.h memory: omap-gpmc: Drop custom PM calls with cpu_pm notifier 2021-07-29 09:02:27 +02:00
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h include/linux/once.h: fix trivia typo Not -> Note 2021-09-08 11:50:25 -07:00
once_lite.h once: implement DO_ONCE_LITE for non-fast-path "do once" functionality 2021-06-28 15:54:57 -07:00
oom.h
openvswitch.h
osq_lock.h
overflow.h compiler.h: drop fallback overflow checkers 2021-09-13 10:18:28 -07:00
packing.h net: update NXP copyright text 2021-09-17 13:52:17 +01:00
padata.h padata: Convert from atomic_t to refcount_t on parallel_data->refcnt 2021-07-30 10:58:36 +08:00
page-flags-layout.h include/linux/page-flags-layout.h: cleanups 2021-04-30 11:20:42 -07:00
page-flags.h mm: fix data race in PagePoisoned() 2021-11-06 13:30:38 -07:00
page-isolation.h
page_counter.h mm: page_counter: re-layout structure to reduce false sharing 2021-02-24 13:38:29 -08:00
page_ext.h mm/idle_page_tracking: make PG_idle reusable 2021-09-08 11:50:24 -07:00
page_idle.h mm/idle_page_tracking: make PG_idle reusable 2021-09-08 11:50:24 -07:00
page_owner.h mm/page_owner: constify dump_page_owner 2021-06-29 10:53:53 -07:00
page_ref.h mm: constify page_count and page_ref_count 2021-06-29 10:53:53 -07:00
page_reporting.h mm/page_reporting: allow driver to specify reporting order 2021-06-29 10:53:47 -07:00
pageblock-flags.h mm: constify get_pfnblock_flags_mask and get_pfnblock_migratetype 2021-06-29 10:53:53 -07:00
pagemap.h Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
pagevec.h mm: remove pagevec_lookup_entries 2021-02-26 09:40:59 -08:00
pagewalk.h pagewalk: prefix struct kernel-doc descriptions 2021-04-30 11:20:41 -07:00
panic.h kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
panic_notifier.h kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
parman.h
parport.h parport: Introduce module_parport_driver() helper macro 2021-03-10 12:46:04 +00:00
parport_pc.h
parser.h parser: add unsigned int parser 2021-02-03 19:05:50 +01:00
part_stat.h block: switch partition lookup to use struct block_device 2020-12-01 14:53:40 -07:00
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus 2021-09-02 17:59:58 +02:00
pci-ats.h
pci-dma-compat.h
pci-ecam.h PCI: Dynamically map ECAM regions 2021-06-16 17:20:40 -05:00
pci-ep-cfs.h PCI: Fix kernel-doc formatting 2021-07-06 10:37:46 -05:00
pci-epc.h PCI: endpoint: Add virtual function number in pci_epc ops 2021-08-19 14:13:28 +01:00
pci-epf.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pci-p2pdma.h
pci.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pci_hotplug.h PCI: Change the type of probe argument in reset functions 2021-08-18 17:32:42 -05:00
pci_ids.h pci-v5.15-changes 2021-09-07 19:13:42 -07:00
pcs-lynx.h
pda_power.h
pe.h
percpu-defs.h mm: fix spelling mistakes in header files 2021-07-08 11:48:21 -07:00
percpu-refcount.h lib: fix spelling mistakes in header files 2021-07-08 11:48:20 -07:00
percpu-rwsem.h
percpu.h percpu: add __alloc_size attributes for better bounds checking 2021-11-06 13:30:34 -07:00
percpu_counter.h
perf_event.h perf/core: fix userpage->time_enabled of inactive events 2021-10-01 13:57:54 +02:00
perf_regs.h perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
personality.h
pfn.h
pfn_t.h
pgtable.h Revert "mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge" 2021-07-21 11:28:09 +01:00
phonet.h
phy.h net: phy: add API to read 802.3-c45 IDs 2021-07-20 06:55:20 -07:00
phy_fixed.h
phy_led_triggers.h
phylink.h net: phylink: add suspend/resume support 2021-09-07 14:04:59 +01:00
pid.h kernel/pid.c: remove static qualifier from pidfd_create() 2021-08-10 12:53:04 +02:00
pid_namespace.h
pim.h
pipe_fs_i.h pipe: avoid unnecessary EPOLLET wakeups under normal loads 2021-08-18 11:39:46 -07:00
pkeys.h x86/fault: Fix wrong signal when vsyscall fails with pkey 2021-09-20 22:28:47 +02:00
pktcdvd.h
pl320-ipc.h
platform_device.h driver core: platform: Remove platform_device_add_properties() 2021-08-18 16:08:11 +02:00
platform_profile.h docs: update sysfs-platform_profile.rst reference 2021-05-20 13:44:13 -06:00
pldmfw.h
plist.h
pm-trace.h
pm.h PM: runtime: Fix unpaired parent child_count for force_resume 2021-05-10 19:14:01 +02:00
pm_clock.h PM: runtime: add devm_pm_clk_create helper 2021-08-26 11:28:07 -07:00
pm_domain.h PM: domains: Add support for 'required-opps' to set default perf state 2021-08-16 18:45:29 +02:00
pm_opp.h opp: Change return type of devm_pm_opp_attach_genpd() 2021-03-16 10:14:11 +05:30
pm_qos.h
pm_runtime.h PM: runtime: add devm_pm_runtime_enable helper 2021-08-26 11:27:51 -07:00
pm_wakeirq.h
pm_wakeup.h PM: sleep: Add dev_wakeup_path() helper 2020-11-23 18:34:55 +01:00
pmbus.h hwmon: (pmbus) Add support for reading direct mode coefficients 2021-06-17 04:21:46 -07:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h mm: add a signature in struct page 2021-06-07 14:11:47 -07:00
poll.h
posix-clock.h
posix-timers.h posix-cpu-timers: Recalc next expiration when timer_settime() ends up not queueing 2021-08-10 17:09:59 +02:00
posix_acl.h ovl: enable RCU'd ->get_acl() 2021-08-18 22:08:24 +02:00
posix_acl_xattr.h acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
power_supply.h power: supply: core: Parse battery chemistry/technology 2021-08-14 12:48:07 +02:00
powercap.h
ppp-comp.h
ppp_channel.h net: ppp: resolve forwarding path for bridge pppoe devices 2021-03-24 12:48:38 -07:00
ppp_defs.h
pps_kernel.h
pr.h
prandom.h random32: Fix implicit truncation warning in prandom_seed_state() 2021-05-27 15:38:17 +02:00
preempt.h preempt: Adjust PREEMPT_LOCK_OFFSET for RT 2021-08-17 19:06:04 +02:00
prefetch.h
prime_numbers.h
printk.h Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
prmt.h ACPI: PRM: implement OperationRegion handler for the PlatformRtMechanism subtype 2021-06-10 15:06:54 +02:00
proc_fs.h proc: mandate ->proc_lseek in "struct proc_ops" 2021-05-06 19:24:11 -07:00
proc_ns.h
processor.h
profile.h linux/profile.h: remove unnecessary declaration 2021-05-06 19:24:11 -07:00
projid.h
property.h software nodes: Split software_node_notify() 2021-07-16 19:17:05 +02:00
pruss_driver.h
psci.h psci: Add accessor for psci_0_1_function_ids 2020-12-04 08:44:24 +00:00
pseudo_fs.h
psi.h psi: Use ONCPU state tracking machinery to detect reclaim 2021-03-06 12:40:22 +01:00
psi_types.h psi: Add PSI_CPU_FULL state 2021-03-06 12:40:22 +01:00
psp-sev.h KVM: SVM: Add support for KVM_SEV_SEND_CANCEL command 2021-04-21 12:20:04 -04:00
psp-tee.h
pstore.h
pstore_blk.h pstore/blk: Include zone in pstore_device_info 2021-06-16 21:09:31 -07:00
pstore_ram.h
pstore_zone.h
ptdump.h
pti.h
ptp_classify.h net: ptp: introduce common defines for PTP message types 2020-11-23 13:43:07 -08:00
ptp_clock_kernel.h ethernet: fix PTP_1588_CLOCK dependencies 2021-08-13 17:49:05 -07:00
ptp_kvm.h ptp: Reorganize ptp_kvm.c to make it arch-independent 2021-04-07 16:33:07 +01:00
ptp_pch.h ptp_pch: Move 'pch_*()' prototypes to shared header 2021-03-12 17:09:34 -08:00
ptr_ring.h
ptrace.h include/linux: remove repeated words 2021-02-26 09:41:03 -08:00
purgatory.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
pvclock_gtod.h
pwm.h pwm: Make pwmchip_remove() return void 2021-09-02 21:38:56 +02:00
pwm_backlight.h
pxa2xx_ssp.h spi: pxa2xx: Fix style of and typos in the comments and messages 2021-05-18 14:05:35 +01:00
pxa168_eth.h
qcom-geni-se.h soc: qcom: geni: Add support for gpi dma 2021-08-04 14:23:31 -05:00
qcom_scm.h qcom_scm: hide Kconfig symbol 2021-10-07 16:51:57 +02:00
qnx6_fs.h
quota.h fs/quota: update quota state flags scheme with project quota flags 2020-11-03 11:16:04 +01:00
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
randomize_kstack.h stack: Replace "o" output with "r" input constraint 2021-05-11 09:56:11 +02:00
range.h
ras.h
ratelimit.h
ratelimit_types.h
rational.h
rbtree.h rbtree: Split out the rbtree type definitions into <linux/rbtree_types.h> 2021-08-17 17:36:48 +02:00
rbtree_augmented.h
rbtree_latch.h
rbtree_types.h rbtree: Split out the rbtree type definitions into <linux/rbtree_types.h> 2021-08-17 17:36:48 +02:00
rcu_node_tree.h kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
rcu_segcblist.h rcu/nocb: Disable bypass when CPU isn't completely offloaded 2021-03-15 13:54:54 -07:00
rcu_sync.h
rculist.h rculist: Unify documentation about missing list_empty_rcu() 2021-08-06 13:41:48 -07:00
rculist_bl.h
rculist_nulls.h rculist: Replace reference to atomic_ops.rst 2021-03-08 14:17:35 -08:00
rcupdate.h Merge branches 'doc.2021.07.20c', 'fixes.2021.08.06a', 'nocb.2021.07.20c', 'nolibc.2021.07.20c', 'tasks.2021.07.20c', 'torture.2021.07.27a' and 'torturescript.2021.07.27a' into HEAD 2021-08-10 11:00:53 -07:00
rcupdate_trace.h rcu: Un-hide lockdep maps for !LOCKDEP 2020-11-02 17:09:59 -08:00
rcupdate_wait.h
rcutiny.h rcu: Remove special bit at the bottom of the ->dynticks counter 2021-08-06 13:41:48 -07:00
rcutree.h rcu: Remove the unused rcu_irq_exit_preempt() function 2021-05-10 16:22:53 -07:00
rcuwait.h
reboot-mode.h
reboot.h reboot: Add hardware protection power-off 2021-06-21 13:08:36 +01:00
reciprocal_div.h
refcount.h refcount: Fix a kernel-doc markup 2020-12-03 11:20:52 +01:00
regmap.h Merge series "Use raw spinlocks in the ls-extirq driver" from Vladimir Oltean <vladimir.oltean@nxp.com>: 2021-08-26 13:40:35 +01:00
regset.h powerpc/ptrace: Simplify gpr_get()/tm_cgpr_get() 2020-11-26 22:05:42 +11:00
relay.h relay: allow the use of const callback structs 2020-12-15 22:46:18 -08:00
remoteproc.h remoteproc: fix kernel doc for struct rproc_ops 2021-07-28 14:57:31 -05:00
resctrl.h x86/resctrl: Make resctrl_arch_get_config() return its value 2021-08-11 18:42:53 +02:00
reset-controller.h reset: Add compile-test stubs 2021-06-09 13:37:16 +02:00
reset.h pci-v5.13-changes 2021-05-05 13:24:11 -07:00
resource.h
resource_ext.h
restart_block.h x86: Introduce restart_block->arch_data to remove TS_COMPAT_RESTART 2021-03-16 22:13:11 +01:00
rfkill.h rfkill: add a reason to the HW rfkill state 2020-12-11 12:47:17 +01:00
rhashtable-types.h
rhashtable.h
ring_buffer.h tracing: Remove unused argument from "ring_buffer_time_stamp() 2021-04-01 14:18:32 -04:00
rio.h
rio_drv.h rapidio: remove unused rio_get_asm() and rio_get_device() 2020-12-15 22:46:18 -08:00
rio_ids.h
rio_regs.h
rmap.h mm: fix the try_to_unmap prototype for !CONFIG_MMU 2021-07-15 10:13:49 -07:00
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h rpmsg: Move RPMSG_ADDR_ANY in user API 2021-03-17 14:16:15 -05:00
rslib.h
rtc.h rtc: introduce features bitfield 2021-01-16 23:19:26 +01:00
rtmutex.h locking/rtmutex: Reduce <linux/rtmutex.h> header dependencies, only include <linux/rbtree_types.h> 2021-08-17 17:37:26 +02:00
rtnetlink.h
rtsx_common.h
rtsx_pci.h misc: rtsx: separate aspm mode into MODE_REG and MODE_CFG 2021-06-09 19:10:22 +02:00
rtsx_usb.h
rwbase_rt.h locking/rt: Add base code for RT rw_semaphore and rwlock 2021-08-17 17:12:22 +02:00
rwlock.h locking/rwlocks: Add contention detection for rwlocks 2021-02-04 05:27:42 -05:00
rwlock_api_smp.h
rwlock_rt.h locking/rwlock: Provide RT variant 2021-08-17 17:50:51 +02:00
rwlock_types.h locking/rwlock: Provide RT variant 2021-08-17 17:50:51 +02:00
rwsem.h locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT 2021-09-02 22:07:17 +02:00
s3c_adc_battery.h power: supply: s3c-adc-battery: Convert to GPIO descriptors 2020-11-30 02:13:02 +01:00
sbitmap.h scsi: sbitmap: Silence a debug kernel warning triggered by sbitmap_put() 2021-03-18 22:39:30 -04:00
scatterlist.h lib/scatterlist: Fix wrong update of orig_nents 2021-08-24 19:52:40 -03:00
scc.h
sched.h sched: Always inline is_percpu_thread() 2021-10-01 13:57:57 +02:00
sched_clock.h sched: Fix leftover comment typos 2021-05-12 19:54:49 +02:00
scmi_protocol.h firmware: arm_scmi: Fix kernel doc warnings 2021-07-13 11:39:42 +01:00
scpi_protocol.h firmware: arm_scpi: Fix kernel doc warnings 2021-07-13 11:39:48 +01:00
screen_info.h
scs.h arm64: scs: use vmapped IRQ and SDEI shadow stacks 2020-12-01 11:23:34 +00:00
sctp.h sctp: add pad chunk and its make function and event table 2021-06-22 11:28:51 -07:00
scx200.h
scx200_gpio.h
sdb.h
seccomp.h seccomp updates for v5.11-rc1 2020-12-16 11:30:10 -08:00
secretmem.h mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem() 2021-10-18 20:22:03 -10:00
securebits.h
security.h bpf: Add lockdown check for probe_write_user helper 2021-08-10 10:10:10 +02:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h seq_buf: Add seq_buf_terminate() API 2021-03-18 12:58:27 -04:00
seq_file.h seq_file: drop unused *_escape_mem_ascii() 2021-07-01 11:06:05 -07:00
seq_file_net.h
seqlock.h seqlock: Remove trailing semicolon in macros 2021-06-08 20:04:10 +02:00
seqno-fence.h
serdev.h serdev: Split and export serdev_acpi_get_uart_resource() 2021-08-13 09:12:53 +02:00
serial.h
serial_8250.h tty/serial: make port of serial8250_register_8250_port const 2021-05-20 16:59:14 +02:00
serial_bcm63xx.h
serial_core.h serial: 8250: fix handle_irq locking 2021-07-21 12:53:26 +02:00
serial_max3100.h
serial_s3c.h tty: serial: samsung: Init USI to keep clocks running 2021-08-13 09:14:36 +02:00
serial_sci.h
serio.h
set_memory.h set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
sfp.h phy: sfp: add netlink SFP support to generic SFP code 2021-04-11 16:34:56 -07:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h huge tmpfs: shmem_is_huge(vma, inode, index) 2021-09-03 09:58:12 -07:00
shrinker.h mm: fix spelling mistakes in header files 2021-07-08 11:48:21 -07:00
signal.h signal: Rename SIL_PERF_EVENT SIL_FAULT_PERF_EVENT for consistency 2021-07-23 13:16:43 -05:00
signal_types.h Reimplement RLIMIT_SIGPENDING on top of ucounts 2021-04-30 14:14:02 -05:00
signalfd.h
siox.h siox: Make remove callback return void 2020-12-10 16:17:15 +01:00
siphash.h
sizes.h sizes.h: add SZ_8G/SZ_16G/SZ_32G macros 2020-12-29 15:36:49 -08:00
skb_array.h
skbuff.h net/af_unix: fix a data-race in unix_dgram_poll 2021-09-09 10:57:52 +01:00
skmsg.h skmsg: Extract and reuse sk_msg_is_readable() 2021-10-26 12:29:33 -07:00
slab.h mm/kvmalloc: add __alloc_size attributes for better bounds checking 2021-11-06 13:30:34 -07:00
slab_def.h mm, kfence: insert KFENCE hooks for SLAB 2021-02-26 09:41:02 -08:00
slimbus.h
slub_def.h mm, slub: change percpu partial accounting from objects to pages 2021-11-06 13:30:32 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h A set of locking related fixes and updates: 2021-05-09 13:07:03 -07:00
smp_types.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h Core: 2021-08-31 16:43:06 -07:00
sockptr.h
sonet.h
sony-laptop.h sony-laptop: Remove unneeded semicolon 2021-01-18 21:39:28 +01:00
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h locking/spinlock: Provide RT variant header: <linux/spinlock_rt.h> 2021-08-17 17:43:24 +02:00
spinlock_api_smp.h locking/spinlock: Provide RT variant header: <linux/spinlock_rt.h> 2021-08-17 17:43:24 +02:00
spinlock_api_up.h
spinlock_rt.h locking/spinlock/rt: Prepare for RT local_lock 2021-08-17 19:06:13 +02:00
spinlock_types.h locking/spinlock/rt: Prepare for RT local_lock 2021-08-17 19:06:13 +02:00
spinlock_types_raw.h locking/spinlock/rt: Prepare for RT local_lock 2021-08-17 19:06:13 +02:00
spinlock_types_up.h
spinlock_up.h
splice.h splice: change exported internal do_splice() helper to take kernel offset 2020-10-22 14:15:51 -06:00
spmi.h spmi: Add driver shutdown support 2020-12-10 10:45:36 +01:00
sram.h
srcu.h srcu: Initialize SRCU after timers 2021-05-10 16:03:35 -07:00
srcutiny.h srcutiny: Mark read-side data races 2021-08-06 13:41:48 -07:00
srcutree.h srcu: Unconditionally embed struct lockdep_map 2021-05-10 16:03:35 -07:00
ssbi.h
stackdepot.h lib/stackdepot: introduce __stack_depot_save() 2021-11-06 13:30:33 -07:00
stackleak.h
stackprotector.h
stacktrace.h stacktrace: Move documentation for arch_stack_walk_reliable() to header 2021-03-10 15:52:31 +01:00
start_kernel.h
stat.h fs: add generic helper for filling statx attribute flags 2021-08-17 11:47:43 +02:00
statfs.h fs: introduce a wrapper uuid_to_fsid() 2021-04-19 16:03:15 +02:00
static_call.h static_call: Update API documentation 2021-08-17 19:09:27 +02:00
static_call_types.h static_call: Move struct static_call_key definition to static_call_types.h 2021-03-11 16:04:39 +01:00
static_key.h
stdarg.h isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
stddef.h
stm.h stm class: Spelling fix 2021-06-24 15:49:32 +02:00
stmmac.h net: stmmac: ptp: update tas basetime after ptp adjust 2021-07-05 10:16:17 -07:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h stop_machine: mark helpers __always_inline 2021-03-13 11:27:30 -08:00
string.h isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
string_helpers.h seq_file: drop unused *_escape_mem_ascii() 2021-07-01 11:06:05 -07:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h mfd/bus: sunxi-rsb: Make .remove() callback return void 2021-01-15 13:23:36 +00:00
superhyway.h
surface_acpi_notify.h platform/surface: Add Surface ACPI Notify driver 2021-01-07 00:06:39 +01:00
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h mm/vmscan: remove unneeded return value of kswapd_run() 2021-09-03 09:58:17 -07:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h mm: device exclusive memory access 2021-07-01 11:06:03 -07:00
swiotlb.h swiotlb: Convert io_default_tlb_mem to static allocation 2021-07-23 20:14:43 -04:00
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscall_user_dispatch.h kernel: Implement selective syscall userspace redirection 2020-12-02 15:07:56 +01:00
syscalls.h ARM development updates for 5.15: 2021-09-09 13:25:49 -07:00
syscore_ops.h
sysctl.h sysctl: introduce new proc handler proc_dobool 2021-08-17 11:47:53 -04:00
sysfb.h drivers/firmware: consolidate EFI framebuffer setup for all arches 2021-07-21 12:04:56 +02:00
sysfs.h sysfs: Rename struct bin_attribute member to f_mapping 2021-08-05 14:47:31 +02:00
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h task_work: add helper for more targeted task_work canceling 2021-04-11 19:30:25 -06:00
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: add TTL to SCM_TIMESTAMPING_OPT_STATS 2021-01-22 18:20:52 -08:00
tee_drv.h tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag 2021-07-21 07:55:50 +02:00
textsearch.h net: expand textsearch ts_state to fit skb_seq_state 2021-03-01 15:25:24 -08:00
textsearch_fsm.h
tfrc.h
thermal.h thermal: Spelling s/scallbacks/callbacks/ 2021-08-14 15:43:28 +02:00
thread_info.h kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
threads.h pid: cleanup the stale comment mentioning pidmap_init(). 2021-09-08 11:50:28 -07:00
thunderbolt.h thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt status 2021-08-09 14:58:29 +03:00
ti-emif-sram.h
ti_wilink_st.h
tick.h Updates to the tick/nohz code in this cycle: 2021-06-28 12:22:06 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h timekeeping: remove arch_gettimeoffset 2020-10-30 21:57:04 +01:00
time32.h
time64.h time: Handle negative seconds correctly in timespec64_to_ns() 2021-09-08 17:44:26 +02:00
time_namespace.h fixes-v5.11 2020-12-14 16:40:27 -08:00
timecounter.h time/timecounter: Mark 1st argument of timecounter_cyc2time() as const 2021-04-16 21:03:50 +02:00
timekeeper_internal.h
timekeeping.h time: Add mechanism to recognize clocksource in time_get_snapshot 2021-04-07 16:33:20 +01:00
timer.h timer: Revert "timer: Add timer_curr_running()" 2021-05-10 16:02:44 -07:00
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h timekeeping, clocksource: Fix various typos in comments 2021-03-22 23:06:48 +01:00
tnum.h
topology.h sched/topology: Make sched_init_numa() use a set for the deduplicating sort 2021-01-27 17:26:42 +01:00
torture.h torture: Maintain torture-specific set of CPUs-online books 2021-01-06 17:17:22 -08:00
toshiba.h
tpm.h security: keys: trusted: Make sealed key properly interoperable 2021-04-14 16:30:30 +03:00
tpm_command.h
tpm_eventlog.h
trace.h trace/osnoise: Fix 'no previous prototype' warnings 2021-06-28 14:12:26 -04:00
trace_clock.h
trace_events.h Tracing updates for 5.15: 2021-09-05 11:50:41 -07:00
trace_recursion.h tracing: Have all levels of checks prevent recursion 2021-10-18 18:12:09 -04:00
trace_seq.h seq_buf: Avoid type mismatch for seq_buf_init 2020-12-07 18:25:02 -05:00
tracefs.h
tracehook.h entry: rseq: Call rseq_handle_notify_resume() in tracehook_notify_resume() 2021-09-22 10:24:01 -04:00
tracepoint-defs.h
tracepoint.h tracing: Fix a typo in tracepoint.h 2021-08-16 11:37:21 -04:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h tty: move tty_port to new tty_port.h 2021-07-27 12:12:08 +02:00
tty_buffer.h tty: move tty_buffer definitions to new tty_buffer.h 2021-07-27 12:12:07 +02:00
tty_driver.h tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
tty_flip.h tty: tty_flip.h needs only tty_buffer and tty_port 2021-07-27 12:12:08 +02:00
tty_ldisc.h tty: include list & lockdep from tty_ldisc.h 2021-07-27 12:12:07 +02:00
tty_port.h tty: move tty_port to new tty_port.h 2021-07-27 12:12:08 +02:00
typecheck.h bitops: Add non-atomic bitops for pointers 2021-07-07 20:01:45 -07:00
types.h s390,alpha: switch to 64-bit ino_t 2021-02-13 17:17:53 +01:00
u64_stats_sync.h u64_stats,lockdep: Fix u64_stats_init() vs lockdep 2021-03-10 09:51:45 +01:00
uacce.h
uaccess.h arch: remove compat_alloc_user_space 2021-09-08 15:32:35 -07:00
ucb1400.h
ucs2_string.h
udp.h vxlan: allow L4 GRO passthrough 2021-03-30 17:06:49 -07:00
uidgid.h
uio.h Revert "iov_iter: track truncated size" 2021-09-15 09:22:35 -06:00
uio_driver.h uio: fix some kernel-doc markups 2020-11-09 18:39:36 +01:00
umh.h
unicode.h
units.h Merge branch 'akpm' (patches from Andrew) 2021-09-08 12:55:35 -07:00
uprobes.h
usb.h driver core: Move the "removable" attribute from USB to core 2021-05-27 09:36:31 +02:00
usb_usual.h usb-storage: Add quirk to defeat Kindle's automatic unload 2021-03-17 21:30:15 +01:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h ucounts: Fix signal ucount refcounting 2021-10-18 16:02:30 -05:00
userfaultfd_k.h userfaultfd: change mmap_changing to atomic 2021-09-03 09:58:16 -07:00
usermode_driver.h bpf: Fix umd memory leak in copy_process() 2021-03-19 22:23:19 +01:00
util_macros.h
uts.h
utsname.h
uuid.h
vbox_utils.h
vdpa.h vdpa: Support transferring virtual addressing during DMA mapping 2021-09-06 07:20:57 -04:00
verification.h PKCS#7: Fix missing include 2021-01-21 16:16:10 +00:00
vermagic.h
vexpress.h
vfio.h vfio: Remove struct vfio_device_ops open/release 2021-08-11 09:50:11 -06:00
vfio_pci_core.h vfio/pci: Introduce vfio_pci_core.ko 2021-08-26 10:36:51 -06:00
vfs.h
vga_switcheroo.h
vgaarb.h vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
vhost_iotlb.h vhost-iotlb: Add an opaque pointer for vhost IOTLB 2021-09-06 07:20:57 -04:00
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio: Protect vqs list access 2021-08-10 11:50:55 -04:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h vhost,vdpa,virtio: cleanups, fixes 2020-10-23 11:00:57 -07:00
virtio_console.h
virtio_dma_buf.h
virtio_net.h virtio_net: Do not pull payload in skb->head 2021-04-06 16:17:57 -07:00
virtio_pci_modern.h virtio-pci library: introduce vp_modern_get_driver_features() 2021-07-08 07:49:01 -04:00
virtio_ring.h
virtio_vsock.h virtio/vsock: rest of SOCK_SEQPACKET support 2021-06-11 13:32:47 -07:00
visorbus.h
vlynq.h
vm_event_item.h mm/vmscan: add page demotion counter 2021-09-03 09:58:16 -07:00
vmacache.h
vmalloc.h mm/vmalloc: don't allow VM_NO_GUARD on vmap() 2021-11-06 13:30:36 -07:00
vme.h vme: make remove callback return void 2021-02-09 12:15:07 +01:00
vmpressure.h mm/vmpressure: replace vmpressure_to_css() with vmpressure_to_memcg() 2021-09-03 09:58:17 -07:00
vmstat.h mm/page_alloc: batch the accounting updates in the bulk allocator 2021-06-29 10:53:54 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h VMCI: Enforce queuepair max size for IOCTL_VMCI_QUEUEPAIR_ALLOC 2021-01-26 19:18:50 +01:00
vringh.h vringh: pull in spinlock header 2021-08-11 06:44:24 -04:00
vt.h
vt_buffer.h
vt_kern.h vt: keyboard.c: make console an unsigned int 2021-07-27 12:23:20 +02:00
vtime.h sched/vtime: Move guest enter/exit vtime accounting to vtime.h 2021-05-05 22:54:11 +02:00
w1-gpio.h
w1.h w1: fix a kernel-doc markup 2021-01-21 14:06:00 -07:00
wait.h Scheduler changes for v5.15 are: 2021-08-30 13:42:10 -07:00
wait_bit.h
watch_queue.h
watchdog.h watchdog: introduce watchdog_dev_suspend/resume 2021-08-22 10:28:08 +02:00
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h power: supply: wm97xx_battery: Convert to GPIO descriptor 2021-01-13 22:25:07 +01:00
wmi.h platform/x86: wmi: Make remove callback return void 2021-03-08 11:33:39 +01:00
workqueue.h workqueue: annotate alloc_workqueue() as printf 2021-09-13 07:53:27 -10:00
writeback.h Merge branch 'akpm' (patches from Andrew) 2021-09-03 10:08:28 -07:00
ww_mutex.h locking/ww_mutex: Add rt_mutex based lock type and accessors 2021-08-17 19:05:11 +02:00
wwan.h wwan: core: add WWAN common private data for netdev 2021-06-22 10:01:17 -07:00
xarray.h XArray: Add xa_limit_16b 2021-03-30 13:42:33 -04:00
xattr.h xattr: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xxhash.h
xz.h
yam.h
z2_battery.h power: supply: z2_battery: Convert to GPIO descriptors 2021-01-13 22:25:03 +01:00
zconf.h
zlib.h
zorro.h zorro: Drop useless (and hardly used) .driver member in struct zorro_dev 2021-08-05 14:37:04 +02:00
zpool.h mm/zswap: add the flag can_sleep_mapped 2021-02-26 09:41:01 -08:00
zsmalloc.h zsmalloc: account the number of compacted pages correctly 2021-02-26 09:41:01 -08:00
zstd.h lib/zstd: convert constants to defines 2021-02-08 22:58:55 +01:00
zutil.h