android_kernel_msm-6.1_noth.../include/linux
Uladzislau Rezki (Sony) 68ad4a3304 mm/vmalloc.c: keep track of free blocks for vmap allocation
Patch series "improve vmap allocation", v3.

Objective
---------

Please have a look for the description at:

  https://lkml.org/lkml/2018/10/19/786

but let me also summarize it a bit here as well.

The current implementation has O(N) complexity. Requests with different
permissive parameters can lead to long allocation time. When i say
"long" i mean milliseconds.

Description
-----------

This approach organizes the KVA memory layout into free areas of the
1-ULONG_MAX range, i.e.  an allocation is done over free areas lookups,
instead of finding a hole between two busy blocks.  It allows to have
lower number of objects which represent the free space, therefore to have
less fragmented memory allocator.  Because free blocks are always as large
as possible.

It uses the augment tree where all free areas are sorted in ascending
order of va->va_start address in pair with linked list that provides
O(1) access to prev/next elements.

Since the tree is augment, we also maintain the "subtree_max_size" of VA
that reflects a maximum available free block in its left or right
sub-tree.  Knowing that, we can easily traversal toward the lowest (left
most path) free area.

Allocation: ~O(log(N)) complexity.  It is sequential allocation method
therefore tends to maximize locality.  The search is done until a first
suitable block is large enough to encompass the requested parameters.
Bigger areas are split.

I copy paste here the description of how the area is split, since i
described it in https://lkml.org/lkml/2018/10/19/786

<snip>

A free block can be split by three different ways.  Their names are
FL_FIT_TYPE, LE_FIT_TYPE/RE_FIT_TYPE and NE_FIT_TYPE, i.e.  they
correspond to how requested size and alignment fit to a free block.

FL_FIT_TYPE - in this case a free block is just removed from the free
list/tree because it fully fits.  Comparing with current design there is
an extra work with rb-tree updating.

LE_FIT_TYPE/RE_FIT_TYPE - left/right edges fit.  In this case what we do
is just cutting a free block.  It is as fast as a current design.  Most of
the vmalloc allocations just end up with this case, because the edge is
always aligned to 1.

NE_FIT_TYPE - Is much less common case.  Basically it happens when
requested size and alignment does not fit left nor right edges, i.e.  it
is between them.  In this case during splitting we have to build a
remaining left free area and place it back to the free list/tree.

Comparing with current design there are two extra steps.  First one is we
have to allocate a new vmap_area structure.  Second one we have to insert
that remaining free block to the address sorted list/tree.

In order to optimize a first case there is a cache with free_vmap objects.
Instead of allocating from slab we just take an object from the cache and
reuse it.

Second one is pretty optimized.  Since we know a start point in the tree
we do not do a search from the top.  Instead a traversal begins from a
rb-tree node we split.
<snip>

De-allocation.  ~O(log(N)) complexity.  An area is not inserted straight
away to the tree/list, instead we identify the spot first, checking if it
can be merged around neighbors.  The list provides O(1) access to
prev/next, so it is pretty fast to check it.  Summarizing.  If merged then
large coalesced areas are created, if not the area is just linked making
more fragments.

There is one more thing that i should mention here.  After modification of
VA node, its subtree_max_size is updated if it was/is the biggest area in
its left or right sub-tree.  Apart of that it can also be populated back
to upper levels to fix the tree.  For more details please have a look at
the __augment_tree_propagate_from() function and the description.

Tests and stressing
-------------------

I use the "test_vmalloc.sh" test driver available under
"tools/testing/selftests/vm/" since 5.1-rc1 kernel.  Just trigger "sudo
./test_vmalloc.sh" to find out how to deal with it.

Tested on different platforms including x86_64/i686/ARM64/x86_64_NUMA.
Regarding last one, i do not have any physical access to NUMA system,
therefore i emulated it.  The time of stressing is days.

If you run the test driver in "stress mode", you also need the patch that
is in Andrew's tree but not in Linux 5.1-rc1.  So, please apply it:

http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/commit/?id=e0cf7749bade6da318e98e934a24d8b62fab512c

After massive testing, i have not identified any problems like memory
leaks, crashes or kernel panics.  I find it stable, but more testing would
be good.

Performance analysis
--------------------

I have used two systems to test.  One is i5-3320M CPU @ 2.60GHz and
another is HiKey960(arm64) board.  i5-3320M runs on 4.20 kernel, whereas
Hikey960 uses 4.15 kernel.  I have both system which could run on 5.1-rc1
as well, but the results have not been ready by time i an writing this.

Currently it consist of 8 tests.  There are three of them which correspond
to different types of splitting(to compare with default).  We have 3
ones(see above).  Another 5 do allocations in different conditions.

a) sudo ./test_vmalloc.sh performance

When the test driver is run in "performance" mode, it runs all available
tests pinned to first online CPU with sequential execution test order.  We
do it in order to get stable and repeatable results.  Take a look at time
difference in "long_busy_list_alloc_test".  It is not surprising because
the worst case is O(N).

# i5-3320M
How many cycles all tests took:
CPU0=646919905370(default) cycles vs CPU0=193290498550(patched) cycles

# See detailed table with results here:
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/i5-3320M_performance_default.txt
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/i5-3320M_performance_patched.txt

# Hikey960 8x CPUs
How many cycles all tests took:
CPU0=3478683207 cycles vs CPU0=463767978 cycles

# See detailed table with results here:
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/HiKey960_performance_default.txt
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/HiKey960_performance_patched.txt

b) time sudo ./test_vmalloc.sh test_repeat_count=1

With this configuration, all tests are run on all available online CPUs.
Before running each CPU shuffles its tests execution order.  It gives
random allocation behaviour.  So it is rough comparison, but it puts in
the picture for sure.

# i5-3320M
<default>            vs            <patched>
real    101m22.813s                real    0m56.805s
user    0m0.011s                   user    0m0.015s
sys     0m5.076s                   sys     0m0.023s

# See detailed table with results here:
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/i5-3320M_test_repeat_count_1_default.txt
ftp://vps418301.ovh.net/incoming/vmap_test_results_v2/i5-3320M_test_repeat_count_1_patched.txt

# Hikey960 8x CPUs
<default>            vs            <patched>
real    unknown                    real    4m25.214s
user    unknown                    user    0m0.011s
sys     unknown                    sys     0m0.670s

I did not manage to complete this test on "default Hikey960" kernel
version.  After 24 hours it was still running, therefore i had to cancel
it.  That is why real/user/sys are "unknown".

This patch (of 3):

Currently an allocation of the new vmap area is done over busy list
iteration(complexity O(n)) until a suitable hole is found between two busy
areas.  Therefore each new allocation causes the list being grown.  Due to
over fragmented list and different permissive parameters an allocation can
take a long time.  For example on embedded devices it is milliseconds.

This patch organizes the KVA memory layout into free areas of the
1-ULONG_MAX range.  It uses an augment red-black tree that keeps blocks
sorted by their offsets in pair with linked list keeping the free space in
order of increasing addresses.

Nodes are augmented with the size of the maximum available free block in
its left or right sub-tree.  Thus, that allows to take a decision and
traversal toward the block that will fit and will have the lowest start
address, i.e.  it is sequential allocation.

Allocation: to allocate a new block a search is done over the tree until a
suitable lowest(left most) block is large enough to encompass: the
requested size, alignment and vstart point.  If the block is bigger than
requested size - it is split.

De-allocation: when a busy vmap area is freed it can either be merged or
inserted to the tree.  Red-black tree allows efficiently find a spot
whereas a linked list provides a constant-time access to previous and next
blocks to check if merging can be done.  In case of merging of
de-allocated memory chunk a large coalesced area is created.

Complexity: ~O(log(N))

[urezki@gmail.com: v3]
  Link: http://lkml.kernel.org/r/20190402162531.10888-2-urezki@gmail.com
[urezki@gmail.com: v4]
  Link: http://lkml.kernel.org/r/20190406183508.25273-2-urezki@gmail.com
Link: http://lkml.kernel.org/r/20190321190327.11813-2-urezki@gmail.com
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Reviewed-by: Roman Gushchin <guro@fb.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Thomas Garnier <thgarnie@google.com>
Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Joel Fernandes <joelaf@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-05-18 15:52:26 -07:00
..
amba video: amba-clcd: Decomission Versatile and Nomadik 2019-04-11 19:25:12 +02:00
avf
bcma wireless-drivers-next patches for 5.1 2019-02-06 09:36:36 -08:00
byteorder
can
ceph libceph: make ceph_pr_addr take an struct ceph_entity_addr pointer 2019-05-07 19:43:05 +02:00
clk Merge branch 'clk-ti' into clk-next 2019-05-07 11:46:02 -07:00
crush
decompress
dma dmaengine: idma64: Move driver name to the header 2019-04-26 16:55:23 +05:30
dsa net: dsa: sja1105: Add support for traffic through standalone ports 2019-05-05 21:52:42 -07:00
extcon
firmware ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
fpga
fsl include/fsl: add common FlexTimer #defines in a separate header. 2019-04-25 21:33:41 +02:00
gpio This is the bulk of the GPIO changes for the v5.2 kernel cycle: 2019-05-11 10:54:43 -04:00
hsi
i3c
iio power supply and reset changes for the v5.2 series 2019-05-15 18:50:40 -07:00
input Input: ili210x - drop platform data support 2019-02-06 22:17:42 -08:00
irqchip This modernizes the IXP4xx platform and adds initial Device Tree 2019-04-28 23:43:07 -07:00
isdn
lockd This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
mailbox mailbox: ZynqMP IPI mailbox controller 2019-03-06 20:34:20 -06:00
mfd - Core Frameworks 2019-05-14 10:39:08 -07:00
mlx4
mlx5 5.2 Merge Window second pull request 2019-05-14 20:56:31 -07:00
mmc mmc: sdio: Add helper macro for sdio_driver boilerplate 2019-04-23 18:09:07 +02:00
mtd mtd: nand: Make flags for bad block marker position more granular 2019-04-18 08:54:07 +02:00
mux
netfilter ipset: drop ipset_nest_start() and ipset_nest_end() 2019-04-27 17:03:44 -04:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy phy: core: Add *release* phy_ops invoked when the consumer relinquishes PHY 2019-04-17 14:13:17 +05:30
pinctrl pinctrl: remove unused 'pinconf-config' debugfs interface 2019-01-28 14:39:52 +01:00
platform_data ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
power power: supply: isp1704: switch to gpiod API 2019-01-20 21:57:43 +01:00
qed drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
raid
regulator regulator: add regulator_get_linear_step() stub helper 2019-03-21 14:59:38 +00:00
remoteproc
reset reset: socfpga: declare socfpga_reset_init in a header file 2019-01-28 11:16:04 +01:00
rpmsg
rtc ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
sched include/linux/sched/signal.h: replace tsk' with task' 2019-05-14 19:52:52 -07:00
soc This modernizes the IXP4xx platform and adds initial Device Tree 2019-04-28 23:43:07 -07:00
soundwire soundwire: remove multiple blank lines 2019-05-02 17:17:52 +02:00
spi spi: expand mode support 2019-05-02 10:37:55 +09:00
ssb
sunrpc This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
ulpi
unaligned
usb USB: changes for v5.2 merge window 2019-05-03 18:05:27 +02:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h pci-v5.2-changes 2019-05-14 10:30:10 -07:00
acpi_dma.h
acpi_iort.h perf/smmuv3: Enable HiSilicon Erratum 162001800 quirk 2019-04-04 16:49:22 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h mmc: alcor: work with multiple-entry sglists 2019-05-06 11:55:39 +02:00
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_sdei.h ACPI / APEI: Add support for the SDEI GHES Notification type 2019-02-11 11:07:49 +01:00
armada-37xx-rwtm-mailbox.h mailbox: Add support for Armada 37xx rWTM mailbox 2019-05-09 00:41:00 -05:00
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h async: Add support for queueing on specific NUMA node 2019-01-31 14:20:54 +01:00
async_tx.h
ata.h
ata_platform.h ata: pata_of_platform: Allow to use 16-bit wide data transfer 2019-02-08 06:42:53 -07:00
atalk.h appletalk: Fix potential NULL pointer dereference in unregister_snap_client 2019-03-15 11:25:48 -07:00
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atmel_tc.h
atomic-fallback.h locking/atomics: Check atomic headers with sha1sum 2019-02-13 08:07:31 +01:00
atomic.h
attribute_container.h
audit.h ntp: Audit NTP parameters adjustment 2019-04-15 18:14:01 -04:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h writeback: synchronize sync(2) against cgroup writeback membership switches 2019-01-22 14:39:38 -07:00
backing-dev.h writeback: fix inode cgroup switching comment 2019-03-05 21:07:21 -08:00
backlight.h
badblocks.h
balloon_compaction.h include/linux/balloon_compaction.h: drop unused function stubs 2019-05-14 09:47:48 -07:00
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h exec: move struct linux_binprm::buf 2019-05-14 19:52:50 -07:00
bio.h block: switch all files cleared marked as GPLv2 to SPDX tags 2019-04-30 16:11:57 -06:00
bit_spinlock.h
bitfield.h
bitmap.h
bitops.h include/linux/bitops.h: sanitize rotate primitives 2019-05-14 19:52:49 -07:00
bitrev.h include/linux/bitrev.h: fix constant bitrev 2019-04-05 16:02:30 -10:00
bits.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h block: add a SPDX tag to blk-mq-rdma.h 2019-04-30 16:12:02 -06:00
blk-mq-virtio.h
blk-mq.h blk-mq: always free hctx after request queue is freed 2019-05-04 07:24:08 -06:00
blk-pm.h
blk_types.h block: bio: ensure newly added bio flags don't override BVEC_POOL_IDX 2019-04-04 09:30:37 -06:00
blkdev.h blk-mq: always free hctx after request queue is freed 2019-05-04 07:24:08 -06:00
blkpg.h
blktrace_api.h blktrace: Show requests without sector 2019-02-07 12:57:17 -07:00
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h bpf: Add file_pos field to bpf_sysctl ctx 2019-04-12 13:54:58 -07:00
bpf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
bpf_lirc.h
bpf_trace.h
bpf_types.h bpf: Introduce bpf sk local storage 2019-04-27 09:07:04 -07:00
bpf_verifier.h bpf: remove global variables 2019-04-23 01:50:43 +02:00
bpfilter.h net: bpfilter: disallow to remove bpfilter module while being used 2019-01-11 18:05:41 -08:00
brcmphy.h net: phy: bcm54xx: Encode link speed and activity into LEDs 2019-03-26 11:24:47 -07:00
bsearch.h
bsg-lib.h block: switch all files cleared marked as GPLv2 or later to SPDX tags 2019-04-30 16:11:59 -06:00
bsg.h
btf.h bpf: allow for key-less BTF in array map 2019-04-09 17:05:46 -07:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h build_bug.h: add wrapper for _Static_assert 2019-03-07 18:31:59 -08:00
bvec.h block: fix mismerge in bvec_advance 2019-05-07 08:39:02 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h audit/stable-5.1 PR 20190305 2019-03-07 12:20:11 -08:00
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h cgroup: cgroup v2 freezer 2019-04-19 11:26:48 -07:00
cgroup.h cgroup: get rid of cgroup_freezer_frozen_exit() 2019-05-06 08:39:11 -07:00
cgroup_rdma.h IB/core: Simplify rdma cgroup registration 2019-01-18 13:43:10 -07:00
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk.h clk: Add missing stubs for a few functions 2019-04-25 08:19:15 -07:00
clkdev.h clkdev: add managed clkdev lookup registration 2019-02-06 10:35:02 -08:00
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h include/linux/compaction.h: fix potential build error 2019-03-05 21:07:20 -08:00
compat.h y2038: syscalls: rename y2038 compat syscalls 2019-02-07 00:13:27 +01:00
compiler-clang.h include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR 2019-01-09 11:36:41 +01:00
compiler-gcc.h include/linux/compiler*.h changes: 2019-01-21 07:23:42 +13:00
compiler-intel.h include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR 2019-01-09 11:36:41 +01:00
compiler.h tracing: Simplify "if" macro code 2019-05-09 15:25:13 -04:00
compiler_attributes.h Compiler Attributes: add support for __copy (gcc >= 9) 2019-02-15 19:52:17 +01:00
compiler_types.h compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING 2019-05-14 19:52:48 -07:00
completion.h
component.h drivers/component: kerneldoc polish 2019-02-19 13:20:35 +01:00
concap.h
configfs.h
connector.h
console.h
console_struct.h vt: refactor vc_ques to allow of other private sequences. 2019-01-18 13:52:41 +01:00
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h coresight: etm4x: Add kernel configuration for CONTEXTID 2019-04-25 22:00:16 +02:00
coresight-stm.h
coresight.h coresight: Communicate perf event to sink buffer allocation functions 2019-04-25 22:00:17 +02:00
count_zeros.h
counter.h counter: Introduce the Generic Counter interface 2019-04-25 21:33:37 +02:00
counter_enum.h counter: Introduce the Generic Counter interface 2019-04-25 21:33:37 +02:00
cper.h CPER: Remove unnecessary use of user-space types 2019-04-13 11:17:36 -05:00
cpu.h Merge branch 'x86-mds-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-14 07:57:29 -07:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Call transition notifier only once for each policy 2019-05-10 12:20:36 +02:00
cpuhotplug.h powerpc updates for 5.2 2019-05-10 05:29:27 -07:00
cpuidle.h cpuidle: Export the next timer expiration for CPUs 2019-04-10 00:32:34 +02:00
cpumask.h include/linux/cpumask.h: fix double string traverse in cpumask_parse 2019-05-14 19:52:50 -07:00
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h security: don't use RCU accessors for cred->session_keyring 2019-04-10 10:28:21 -07:00
crypto.h crypto: clarify name of WEAK_KEY request flag 2019-01-25 18:41:52 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h ARM: davinci: remove dead code related to MAC address reading 2019-01-10 13:58:00 +05:30
dax.h
dca.h
dcache.h Clean up fscrypt's dcache revalidation support, and other 2019-05-07 21:28:04 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h init/calibrate.c: provide proper prototype 2019-03-07 18:32:01 -08:00
delayacct.h
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h dm mpath: fix missing call of path selector type->end_io 2019-04-25 15:38:52 -04:00
device.h We have a couple new features and changes in the core clk framework this time 2019-05-09 14:50:09 -07:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs 2019-01-04 09:02:17 +01:00
dma-direct.h
dma-direction.h
dma-fence-array.h dma-buf: Fix kerneldoc comment for struct dma_fence_array 2019-01-17 10:12:32 +01:00
dma-fence-chain.h dma-buf: add new dma_fence_chain container v7 2019-04-01 12:05:02 +02:00
dma-fence.h dma-buf: explicitely note that dma-fence-chains use 64bit seqno 2019-04-16 14:49:10 +02:00
dma-iommu.h
dma-mapping.h dma-mapping: remove leftover NULL device support 2019-04-08 17:52:46 +02:00
dma-noncoherent.h dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence 2019-05-06 15:04:40 +02:00
dmaengine.h
dmapool.h
dmar.h
dmi.h efi: Unify DMI setup code over the arm/arm64, ia64 and x86 architectures 2019-03-29 07:35:00 +01:00
dnotify.h
dns_resolver.h dns_resolver: Allow used keys to be invalidated 2019-05-15 17:35:54 +01:00
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
dw_apb_timer.h
dynamic_debug.h RDMA/core: Introduce RDMA subsystem ibdev_* print functions 2019-05-01 12:29:28 -04:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T 2019-04-16 10:01:24 +02:00
efs_vh.h
eisa.h
elevator.h bfq: update internal depth state when queue depth changes 2019-04-13 19:08:22 -06:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h
err.h
errno.h vfs: Add configuration parser helpers 2019-02-28 03:28:53 -05:00
error-injection.h
errqueue.h
errseq.h
etherdevice.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-04-28 08:42:41 -04:00
ethtool.h net: phy: improve definition of __ETHTOOL_LINK_MODE_MASK_NBITS 2019-02-24 17:33:59 -08:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h f2fs: allow unfixed f2fs_checkpoint.checksum_offset 2019-05-08 21:23:11 -07:00
f75375s.h
falloc.h
fanotify.h fanotify: report FAN_ONDIR to listener with FAN_REPORT_FID 2019-02-07 16:47:32 +01:00
fault-inject.h
fb.h fbdev: fbmem: convert CONFIG_FB_LOGO_CENTER into a cmd line option 2019-01-16 17:42:35 +01:00
fbcon.h
fcdevice.h
fcntl.h 32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option 2019-02-19 10:10:05 +01:00
fd.h
fddidevice.h
fdtable.h
fec.h
file.h fs: add fget_many() and fput_many() 2019-02-28 08:24:23 -07:00
filter.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2019-05-07 22:03:58 -07:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h mm: rid swapoff of quadratic complexity 2019-03-05 21:07:18 -08:00
fs.h Add as a feature case-insensitive directories (the casefold feature) 2019-05-07 21:12:44 -07:00
fs_context.h vfs: Implement logging through fs_context 2019-03-20 18:49:06 -04:00
fs_enet_pd.h
fs_parser.h vfs: Add configuration parser helpers 2019-02-28 03:28:53 -05:00
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h fs: common implementation of file type 2019-01-21 17:48:13 +01:00
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h This pull request contains the following changes for UBI/UBIFS 2019-05-12 18:16:31 -04:00
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h drivers: usb :fsl: Remove USB Errata checking code 2019-01-18 10:02:09 +01:00
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h \n 2019-05-13 15:08:16 -07:00
fsnotify_backend.h \n 2019-05-13 15:08:16 -07:00
ftrace.h The major changes in this tracing update includes: 2019-05-15 16:05:47 -07:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk 2019-01-04 13:13:46 -08:00
generic-radix-tree.h generic radix trees 2019-03-12 10:04:02 -07:00
genetlink.h
genhd.h block: fix use-after-free on gendisk 2019-04-22 09:48:12 -06:00
genl_magic_func.h genetlink: make policy common to family 2019-03-22 10:38:23 -04:00
genl_magic_struct.h
getcpu.h
gfp.h hugetlb: allow to free gigantic pages regardless of the configuration 2019-05-14 09:47:47 -07:00
glob.h
gnss.h gnss: add mtk receiver type support 2019-02-15 16:54:38 +01:00
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
hardirq.h arm64: Fix HCR.TGE status for NMI contexts 2019-02-06 10:05:16 +00:00
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h video/hdmi: Add an enum for HDMI packet types 2019-01-25 19:35:20 +02:00
hid-debug.h HID: debug: fix the ring buffer implementation 2019-01-29 12:09:11 +01:00
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h Merge branches 'for-5.1/upstream-fixes', 'for-5.2/core', 'for-5.2/ish', 'for-5.2/logitech', 'for-5.2/macally', 'for-5.2/picolcd', 'for-5.2/sensor' and 'for-5.2/u2fzero' into for-linus 2019-05-06 15:45:18 +02:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h mm/hmm: convert various hmm_pfn_* to device_entry which is a better name 2019-05-14 09:47:48 -07:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
huge_mm.h mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses 2019-05-14 09:47:44 -07:00
hugetlb.h hugetlb: use same fault hash key for shared and private mappings 2019-05-14 09:47:48 -07:00
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: Add support for samples attributes 2019-04-15 17:19:53 -07:00
hwspinlock.h
hyperv.h Drivers: hv: vmbus: Fix race condition with new ring_buffer_info mutex 2019-04-10 18:58:56 -04:00
hypervisor.h
i2c-algo-bit.h i2c: algo: bit: add flag to whitelist atomic transfers 2019-04-16 13:08:16 +02:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: core: ratelimit 'transfer when suspended' errors 2019-05-03 15:25:00 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h ide: ensure atapi sense request aren't preempted 2019-01-31 08:25:09 -07:00
idle_inject.h
idr.h
ieee80211.h ieee80211: update HE IEs to D4.0 spec 2019-04-26 13:02:11 +02:00
ieee802154.h
if_arp.h net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP 2019-01-24 22:45:34 -08:00
if_bridge.h bridge: broute: make broute a real ebtables table 2019-04-12 01:47:50 +02:00
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_tap.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h ip: fix ip_mc_may_pull() return value 2019-03-09 19:52:47 -08:00
ihex.h ihex: Simplify next record offset calculation 2019-01-22 10:23:17 +01:00
ima.h s390/kexec_file: Disable kexec_load when IPLed secure 2019-04-29 10:44:03 +02:00
imx-media.h
in.h bridge: Snoop Multicast Router Advertisements 2019-01-22 17:18:09 -08:00
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h ipv4: Move IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN to helper 2019-03-29 10:48:03 -07:00
init.h
init_ohci1394_dma.h
init_task.h sched/core: Convert task_struct.stack_refcount to refcount_t 2019-02-04 08:53:56 +01:00
initrd.h ACPI / tables: table override from built-in initrd 2019-01-14 11:42:18 +01:00
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h iommu/vt-d: Aux-domain specific domain attach/detach 2019-04-11 17:15:48 +02:00
intel-ish-client-if.h HID: intel-ish-hid: Add interface function for PCI device pointer 2019-03-19 11:57:24 +01:00
intel-pti.h
intel-svm.h iommu/vt-d: Support page request in scalable mode 2019-01-11 13:10:03 +01:00
interconnect-provider.h interconnect: Allow endpoints translation via DT 2019-01-22 13:37:25 +01:00
interconnect.h interconnect: Allow endpoints translation via DT 2019-01-22 13:37:25 +01:00
interrupt.h softirq: Remove tasklet_hrtimer 2019-03-22 14:36:02 +01:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros 2019-01-22 13:39:59 +01:00
io-64-nonatomic-lo-hi.h io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros 2019-01-22 13:39:59 +01:00
io-mapping.h
io-pgtable.h iommu: io-pgtable: Add ARM Mali midgard MMU page table format 2019-04-12 12:52:38 -05:00
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h iomap: Add a page_prepare callback 2019-05-01 07:47:37 -07:00
iommu-helper.h
iommu.h Merge branch 'api-features' into arm/smmu 2019-04-26 17:11:46 +02:00
iopoll.h
ioport.h
ioprio.h
iova.h iommu/iova: Separate atomic variables to improve performance 2019-04-11 15:42:54 +02:00
ip.h bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls 2019-01-22 17:18:08 -08:00
ipack.h
ipc.h
ipc_namespace.h ipc: conserve sequence numbers in ipcmni_extend mode 2019-05-14 19:52:52 -07:00
ipmi-fru.h
ipmi.h
ipmi_smi.h ipmi: Make the smi watcher be disabled immediately when not needed 2019-02-09 19:48:42 -06:00
ipv6.h net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE 2019-03-03 21:05:10 -08:00
ipv6_route.h
irq.h genirq: Fix typo in comment of IRQD_MOVE_PCNTXT 2019-03-21 11:52:37 +01:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h irqchip updates for Linux 5.1 2019-02-23 10:53:31 +01:00
irqdomain.h This is the bulk of GPIO changes for the v5.1 cycle: 2019-03-08 10:09:53 -08:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iversion.h
jbd2.h crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
jhash.h
jiffies.h time: Introduce jiffies64_to_msecs() 2019-04-08 22:56:14 +02:00
journal-head.h
joystick.h
jump_label.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
jump_label_ratelimit.h locking/static_key: Add support for deferred static branches 2019-04-29 08:29:20 +02:00
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h kasan: fix kasan_check_read/write definitions 2019-03-05 21:07:13 -08:00
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h Linux 5.1-rc2 2019-03-28 10:58:28 +01:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h printk: Remove no longer used LOG_PREFIX. 2019-03-04 13:42:05 +01:00
kernel-page-flags.h
kernel.h lib/math: move int_pow() from pwm_bl.c for wider use 2019-05-14 19:52:49 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h selinux/stable-5.2 PR 20190507 2019-05-07 18:48:09 -07:00
kexec.h
key-type.h keys: Fix dependency loop between construction record and auth key 2019-02-15 14:12:09 -08:00
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h kgdb/treewide: constify struct kgdb_arch arch_kgdb_ops 2018-12-30 08:33:06 +00:00
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h kobject: Add support for default attribute groups to kobj_type 2019-04-25 22:06:10 +02:00
kobject_ns.h
kprobes.h x86/kprobes: Verify stack frame on kretprobe 2019-04-19 14:26:05 +02:00
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h mm: reuse only-pte-mapped KSM page in do_wp_page() 2019-03-05 21:07:15 -08:00
kthread.h include/: refactor headers to allow kthread.h inclusion in psi_types.h 2019-05-14 19:52:48 -07:00
ktime.h
kvm_host.h Second PPC KVM update for 5.2 2019-05-15 23:39:38 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h kernel/latencytop.c: rename clear_all_latency_tracing to clear_tsk_latency_tracing 2019-05-14 19:52:49 -07:00
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h leds: Add helper for getting default pattern from Device Tree 2019-01-16 22:08:07 +01:00
leds_pwm.h
libata.h scsi: ata: Use unsigned int for cmd's type in ioctls in scsi_host_template 2019-02-08 17:33:00 -05:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h device-dax for 5.1 2019-03-16 13:05:32 -07:00
libps2.h
license.h
lightnvm.h lightnvm: track inflight target creations 2019-05-06 10:19:19 -06:00
limits.h linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h> 2019-03-07 18:31:59 -08:00
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h - Improve DM snapshot target's scalability by using finer grained 2019-05-16 15:55:48 -07:00
list_bl.h list_bl: Add hlist_bl_add_before/behind helpers 2019-04-18 16:18:27 -04:00
list_lru.h
list_nulls.h
list_sort.h lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS 2019-05-14 19:52:49 -07:00
livepatch.h livepatch: Remove custom kobject state handling 2019-05-03 21:11:22 +02:00
llc.h
llist.h
lockdep.h Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-06 13:50:15 -07:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-05-07 20:17:51 -07:00
lz4.h
lzo.h lib/lzo: separate lzo-rle from lzo 2019-03-07 18:32:03 -08:00
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h net: phy: marvell: add new default led configure for m88e151x 2019-04-23 10:40:32 -07:00
math64.h math64: New DIV64_U64_ROUND_CLOSEST helper 2019-04-02 09:50:48 +02:00
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h IOMMU Updates for Linux v5.2 2019-05-13 09:23:18 -04:00
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
mei_cl_bus.h mei: adjust the copyright notice in the files. 2019-03-28 02:07:54 +09:00
mem_encrypt.h
memblock.h mm: memblock: make keeping memblock memory opt-in rather than opt-out 2019-05-14 09:47:50 -07:00
memcontrol.h mm: memcontrol: fix recursive statistics correctness & scalabilty 2019-05-14 19:52:53 -07:00
memfd.h
memory.h mm/memory_hotplug: make unregister_memory_section() never fail 2019-05-14 09:47:49 -07:00
memory_hotplug.h mm/memory_hotplug: make __remove_pages() and arch_remove_memory() never fail 2019-05-14 09:47:50 -07:00
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h net: mii: Fix PAUSE cap advertisement from linkmode_adv_to_lcl_adv_t() helper 2019-03-27 22:49:06 -07:00
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h mm: move buddy list manipulations into helpers 2019-05-14 19:52:48 -07:00
mm_inline.h mm: memcontrol: track LRU counts in the vmstats array 2019-05-14 09:47:46 -07:00
mm_types.h mm: move buddy list manipulations into helpers 2019-05-14 19:52:48 -07:00
mm_types_task.h
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h mm/mmu_notifier: mmu_notifier_range_update_to_read_only() helper 2019-05-14 09:47:49 -07:00
mmzone.h mm: maintain randomization of page free lists 2019-05-14 19:52:48 -07:00
mnt_namespace.h
mod_devicetable.h platform-drivers-x86 for v5.1-1 2019-03-10 13:16:37 -07:00
module.h Modules updates for v5.2 2019-05-14 10:55:54 -07:00
moduleloader.h
moduleparam.h moduleparam: Save information about built-in modules in separate file 2019-05-07 21:50:24 +09:00
mount.h acct_on(): don't mess with freeze protection 2019-04-04 21:04:13 -04:00
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h PCI/MSI: Remove unused mask_msi_irq() and unmask_msi_irq() 2019-03-21 14:39:33 -05:00
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h audit: ignore fcaps on umount 2019-01-30 20:51:47 -05:00
nd.h
ndctl.h
net.h net: rework SIOCGSTAMP ioctl handling 2019-04-19 14:07:40 -07:00
net_dim.h
netdev_features.h net: Add header for usage of fls64() 2019-02-16 13:45:01 -08:00
netdevice.h net/tls: move definition of tls ops into net/tls.h 2019-04-27 16:52:21 -04:00
netfilter.h netfilter: slightly optimize nf_inet_addr_mask 2019-05-06 01:18:58 +02:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
netfilter_ipv4.h netfilter: ipv4: remove useless export_symbol 2019-01-28 11:32:58 +01:00
netfilter_ipv6.h netfilter: nf_tables: merge route type into core 2019-04-08 23:01:42 +02:00
netlink.h net: netlink: add helper to retrieve NETLINK_F_STRICT_CHK 2019-01-19 10:09:58 -08:00
netpoll.h
nfs.h
nfs3.h
nfs4.h NFSv4.2: Add client support for the generic 'layouterror' RPC call 2019-03-01 16:20:16 -05:00
nfs_fs.h NFS: Replace custom error reporting mechanism with generic one 2019-04-25 14:18:14 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Store the credential of the mount process in the nfs_server 2019-04-26 16:11:54 -04:00
nfs_iostat.h
nfs_page.h NFS: Remove redundant open context from nfs_page 2019-04-25 14:18:15 -04:00
nfs_xdr.h NFSv4.2: Add client support for the generic 'layouterror' RPC call 2019-03-01 16:20:16 -05:00
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h node: Add memory-side caching attributes 2019-04-04 18:41:21 +02:00
nodemask.h numa: make "nr_online_nodes" unsigned int 2019-03-05 21:07:20 -08:00
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h NTB: add new parameter to peer_db_addr() db_bit and db_data 2019-02-13 11:03:18 -05:00
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h scsi: scsi_transport_fc: nvme: display FC-NVMe port roles 2019-04-12 20:09:34 -04:00
nvme-fc.h nvme-fc: convert to SPDX identifiers 2019-02-20 07:22:17 -07:00
nvme-rdma.h nvme-rdma: fix typo in struct comment 2019-04-25 16:51:42 +02:00
nvme-tcp.h nvme-tcp.h: fix SPDX header 2019-02-20 07:22:10 -07:00
nvme.h nvme: fix typos in nvme status code values 2019-05-14 17:19:47 +02:00
nvmem-consumer.h nvmem: core: add nvmem_cell_read_u16 2019-04-25 19:43:12 +02:00
nvmem-provider.h
nvram.h powerpc: Enable HAVE_ARCH_NVRAM_OPS and disable GENERIC_NVRAM 2019-01-22 10:21:45 +01:00
objagg.h lib: objagg: add root count to stats 2019-02-08 15:02:49 -08:00
of.h of: fix clang -Wunsequenced for be32_to_cpu() 2019-05-01 14:26:36 -05:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h gpio: add core support for pull-up/pull-down configuration 2019-02-13 09:10:14 +01:00
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h of: mark early_init_dt_alloc_reserved_memory_arch static 2019-02-28 11:40:49 -06:00
oid_registry.h crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm 2019-04-18 22:15:02 +08:00
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-16 10:29:00 -07:00
oxu210hp.h
packing.h lib: Add support for generic packing operations 2019-05-03 10:49:17 -04:00
padata.h
page-flags-layout.h
page-flags.h mm: better document PG_reserved 2019-03-05 21:07:19 -08:00
page-isolation.h mm/hotplug: fix offline undo_isolate_page_range() 2019-03-29 10:01:37 -07:00
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h mm: delete find_get_entries_tag 2019-05-14 09:47:51 -07:00
pagevec.h
parman.h
parport.h Revert "parport: daisy: use new parport device model" 2019-03-25 14:49:00 -07:00
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h PCI/ATS: Add inline to pci_prg_resp_pasid_required() 2019-02-28 11:09:29 +01:00
pci-dma-compat.h cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
pci-ecam.h PCI: al: Add Amazon Annapurna Labs PCIe host controller driver 2019-04-25 16:33:07 -05:00
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Add support to specify alignment for buffers allocated to BARs 2019-04-15 13:24:02 +01:00
pci-epf.h PCI: endpoint: Add support to specify alignment for buffers allocated to BARs 2019-04-15 13:24:02 +01:00
pci-p2pdma.h
pci.h pci-v5.2-changes 2019-05-14 10:30:10 -07:00
pci_hotplug.h PCI/ACPI: Implement _HPX Type 3 Setting Record 2019-04-23 16:38:09 -05:00
pci_ids.h PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h locking/percpu-rwsem: Remove preempt_disable variants 2019-02-28 07:55:37 +01:00
percpu.h percpu: set PCPU_BITMAP_BLOCK_SIZE to PAGE_SIZE 2019-03-13 12:25:31 -07:00
percpu_counter.h
perf_event.h * ARM: support for SVE and Pointer Authentication in guests, PMU improvements 2019-05-17 10:33:30 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h net: phy: improve resuming from hibernation 2019-05-04 00:50:58 -04:00
phy_fixed.h net: fixed-phy: Add fixed_phy_register_with_gpiod() API 2019-02-07 18:11:58 -08:00
phy_led_triggers.h
phylink.h net: phylink: update mac_config() documentation 2019-02-24 12:39:45 -08:00
pid.h clone: add CLONE_PIDFD 2019-05-07 14:31:03 +02:00
pid_namespace.h
pim.h
pipe_fs_i.h There tracing fixes: 2019-04-26 11:09:55 -07:00
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h This is the bulk of GPIO changes for the v5.1 cycle: 2019-03-08 10:09:53 -08:00
plist.h lib/plist: rename DEBUG_PI_LIST to DEBUG_PLIST 2019-05-14 19:52:49 -07:00
pm-trace.h
pm.h PM-runtime: Call pm_runtime_active|suspended_time() from sysfs 2019-03-07 11:23:17 +01:00
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag 2019-05-13 10:51:31 +02:00
pm_opp.h OPP: Introduce dev_pm_opp_find_freq_ceil_by_volt() 2019-04-10 12:13:31 +05:30
pm_qos.h
pm_runtime.h driver core: Fix PM-runtime for links added during consumer probe 2019-02-20 11:18:07 +01:00
pm_wakeirq.h
pm_wakeup.h PM / wakeup: Drop wakeup_source_drop() 2019-03-12 09:43:00 +01:00
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h Drop flex_arrays 2019-03-12 10:04:03 -07:00
poll.h fs/select: avoid clang stack usage warning 2019-05-14 19:52:48 -07:00
posix-clock.h timex: use __kernel_timex internally 2019-02-07 00:13:27 +01:00
posix-timers.h posix-cpu-timers: Remove private interval storage 2019-01-15 16:36:13 +01:00
posix_acl.h
posix_acl_xattr.h
power_supply.h power: supply: core: Add POWER_SUPPLY_HEALTH_OVERCURRENT constant 2019-05-03 22:15:51 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h pps: pps-gpio PPS ECHO implementation 2019-05-14 19:52:51 -07:00
pps_kernel.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h panic: avoid the extra noise dmesg 2019-05-14 19:52:51 -07:00
proc_fs.h signal: add pidfd_send_signal() syscall 2019-03-05 17:03:53 +01:00
proc_ns.h
processor.h
profile.h
projid.h
property.h device property: Add fwnode_graph_get_endpoint_by_id() 2019-04-18 16:44:05 +02:00
psci.h
psi.h kernel/sched/psi.c: expose pressure metrics on root cgroup 2019-05-14 19:52:48 -07:00
psi_types.h psi: introduce psi monitor 2019-05-14 19:52:48 -07:00
psp-sev.h crypto: ccp - introduce SEV_GET_ID2 command 2019-04-08 14:36:16 +08:00
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h ptr_ring: remove duplicated include from ptr_ring.h 2019-02-17 15:53:01 -08:00
ptrace.h ptrace: Remove maxargs from task_current_syscall() 2019-04-04 09:17:15 -04:00
purgatory.h
pvclock_gtod.h
pwm.h pwm: Fix deadlock warning when removing PWM device 2019-03-20 12:21:31 +01:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h treewide: remove SPDX "WITH Linux-syscall-note" from kernel-space headers 2019-05-14 19:52:48 -07:00
qcom_scm.h qcom-scm: Include <linux/err.h> header 2019-01-10 17:04:45 -06:00
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h s390 updates for the 5.2 merge window #2 2019-05-17 10:08:59 -07:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h linux/rcu_node_tree: Convert to SPDX license identifier 2019-02-09 08:44:32 -08:00
rcu_segcblist.h linux/rcu_segcblist: Convert to SPDX license identifier 2019-02-09 08:44:41 -08:00
rcu_sync.h linux/rcu_sync: Convert to SPDX license identifier 2019-02-09 08:44:46 -08:00
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: Do a single rhp->func read in rcu_head_after_call_rcu() 2019-03-26 14:38:38 -07:00
rcupdate_wait.h
rcutiny.h linux/rcutiny: Convert to SPDX license identifier 2019-02-09 08:45:46 -08:00
rcutree.h linux/rcutree: Convert to SPDX license identifier 2019-02-09 08:45:52 -08:00
rcuwait.h rcuwait: Annotate task_struct with __rcu 2019-04-03 12:34:31 +02:00
reboot-mode.h
reboot.h panic/reboot: allow specifying reboot_mode for panic only 2019-05-14 19:52:51 -07:00
reciprocal_div.h
refcount.h
regmap.h regmap: regmap-irq: Add main status register support 2019-01-23 15:52:15 +00:00
regset.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
relay.h include/linux/relay.h: fix percpu annotation in struct rchan 2019-03-07 18:32:03 -08:00
remoteproc.h remoteproc: fix recovery procedure 2019-02-20 21:34:17 -08:00
reservation.h dma-buf: clarify locking documentation for reservation_object_get_excl 2019-02-27 23:51:51 +01:00
reset-controller.h
reset.h reset: fix linux/reset.h errors 2019-04-02 17:57:35 +02:00
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h rhashtable: use bit_spin_locks to protect hash bucket. 2019-04-07 19:12:12 -07:00
rhashtable.h rhashtable: use BIT(0) for locking. 2019-04-12 17:34:45 -07:00
ring_buffer.h tracing: kdb: Fix ftdump to not sleep 2019-03-13 09:46:10 -04:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h
rslib.h
rtc.h rtc: drop set_mms and set_mmss64 2019-05-08 22:14:36 +02:00
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h locking/rwsem: Optimize rwsem structure for uncontended lock acquisition 2019-04-10 10:56:06 +02:00
s3c_adc_battery.h
sbitmap.h sbitmap: trivial - update comment for sbitmap_deferred_clear_bit 2019-03-22 11:01:02 -06:00
scatterlist.h lib/scatterlist: Remove leftover from sg_page_iter comment 2019-05-07 12:47:47 -03:00
scc.h
sched.h include/: refactor headers to allow kthread.h inclusion in psi_types.h 2019-05-14 19:52:48 -07:00
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-05-07 20:17:51 -07:00
sed-opal.h block: switch all files cleared marked as GPLv2 to SPDX tags 2019-04-30 16:11:57 -06:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h vt: selection: allow functions to be called from inside kernel 2019-04-19 15:09:10 +02:00
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h docs: serial: convert docs to ReST and rename to *.rst 2019-04-25 11:37:42 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h x86/mm/cpa: Add set_direct_map_*() functions 2019-04-30 12:37:56 +02:00
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h
shdma-base.h
shm.h
shmem_fs.h mm: swapoff: shmem_unuse() stop eviction without igrab() 2019-04-19 09:46:04 -07:00
shrinker.h
signal.h signal: Make siginmask safe when passed a signal of 0 2019-01-12 11:48:20 -06:00
signal_types.h
signalfd.h
siox.h
siphash.h inet: switch IP ID generator to siphash 2019-03-27 14:29:26 -07:00
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h bpf: support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type 2019-04-25 23:49:06 +02:00
skmsg.h
slab.h mm: add support for kmem caches in DMA32 zone 2019-03-29 10:01:37 -07:00
slab_def.h slab: remove /proc/slab_allocators 2019-05-16 15:51:55 -07:00
slimbus.h
slub_def.h include/linux/slub_def.h: comment fixes 2019-03-05 21:07:14 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h smpboot: Place the __percpu annotation correctly 2019-04-24 12:17:08 +02:00
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: add documentation to socket.c 2019-03-15 15:29:47 -07:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors 2019-04-08 11:59:47 +01:00
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h srcu: Remove cleanup_srcu_struct_quiesced() 2019-03-26 14:39:24 -07:00
srcutiny.h linux/srcu: Convert to SPDX license identifier 2019-02-09 08:45:59 -08:00
srcutree.h Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
ssbi.h
stackdepot.h lib/stackdepot: Remove obsolete functions 2019-04-29 12:37:57 +02:00
stackleak.h
stackprotector.h
stacktrace.h stacktrace: Provide common infrastructure 2019-04-29 12:37:57 +02:00
start_kernel.h
stat.h
statfs.h vfs: add vfs_get_fsid() helper 2019-02-07 16:38:35 +01:00
static_key.h
stddef.h
stm.h
stmmac.h net: stmmac: Fallback to Platform Data clock in Watchdog conversion 2019-01-30 22:24:49 -08:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h lib/string: Add strscpy_pad() function 2019-04-08 16:44:21 -06:00
string_helpers.h
stringhash.h
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h PM / sleep: Refactor filesystems sync to reduce duplication 2019-04-02 10:53:19 +02:00
svga.h
sw842.h
swab.h
swait.h
swap.h include/linux/swap.h: use offsetof() instead of custom __swapoffset macro 2019-03-14 14:36:20 -07:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h virtio: fixes, cleanups 2019-03-10 12:47:57 -07:00
switchtec.h switchtec: Increase PFF limit from 48 to 255 2019-04-17 17:20:01 -05:00
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h vfs: syscall: Add fspick() to select a superblock for reconfiguration 2019-03-20 18:49:06 -04:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tee_drv.h tee: add cancellation support to client interface 2019-02-28 13:49:29 +01:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2019-05-16 16:16:18 -07:00
thread_info.h
threads.h
thunderbolt.h thunderbolt: Add XDomain UUID exchange support 2019-04-18 11:18:53 +03:00
ti-emif-sram.h memory: ti-emif-sram: Add ti_emif_run_hw_leveling for DDR3 hardware leveling 2019-04-09 08:31:51 -07:00
ti_wilink_st.h
tick.h Power management updates for 5.2-rc1 2019-05-06 19:40:31 -07:00
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h timex: use __kernel_timex internally 2019-02-07 00:13:27 +01:00
time64.h timekeeping: Force upper bound for setting CLOCK_REALTIME 2019-03-28 13:41:06 +01:00
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h y2038: remove struct definition redirects 2019-02-07 00:13:28 +01:00
tnum.h
topology.h
torture.h Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'spdx.2019.02.09a', 'srcu.2019.01.26a' and 'torture.2019.01.26a' into HEAD 2019-02-09 08:47:52 -08:00
toshiba.h
tpm.h tpm: pass an array of tpm_extend_digest structures to tpm_pcr_extend() 2019-02-13 09:48:52 +02:00
tpm_command.h
tpm_eventlog.h tpm: rename and export tpm2_digest and tpm2_algorithms 2019-02-13 09:48:51 +02:00
trace.h
trace_clock.h
trace_events.h
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h bpf: add writable context for raw tracepoints 2019-04-26 19:04:19 -07:00
tracepoint.h tracing: introduce TRACE_EVENT_NOP() 2019-04-08 09:22:51 -04:00
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h block: remove CONFIG_LBDAF 2019-04-06 10:48:35 -06:00
u64_stats_sync.h
uaccess.h x86/uaccess: Introduce user_access_{save,restore}() 2019-04-03 11:02:19 +02:00
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h iov_iter: fix iov_iter_type 2019-05-01 08:38:47 -06:00
uio_driver.h
umh.h umh: add exit routine for UMH process 2019-01-11 18:05:40 -08:00
unicode.h unicode: implement higher level API for string handling 2019-04-25 13:51:22 -04:00
uprobes.h uprobes: Initialize uprobes earlier 2019-04-30 12:37:51 +02:00
usb.h USB/PHY patches for 5.2-rc1 2019-05-08 10:03:52 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h userfaultfd/sysctl: add vm.unprivileged_userfaultfd 2019-05-14 09:47:45 -07:00
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
vbox_utils.h virt: vbox: Implement passing requestor info to the host for VirtualBox 6.0.x 2019-03-28 01:55:18 +09:00
verification.h kexec, KEYS: Make use of platform keyring for signature verify 2019-02-04 17:34:07 -05:00
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h drm: move i915_kick_out_vgacon to vgaarb 2019-03-07 10:34:37 +01:00
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio/s390: DMA support for virtio-ccw 2019-05-12 13:11:36 -04:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: hint if callbacks surprisingly might sleep 2019-03-06 11:19:57 -05:00
virtio_console.h
virtio_net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-24 12:06:19 -08:00
virtio_ring.h virtio: Honour 'may_reduce_num' in vring_create_virtqueue 2019-04-08 17:05:52 -04:00
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h mm/vmalloc.c: keep track of free blocks for vmap allocation 2019-05-18 15:52:26 -07:00
vme.h
vmpressure.h
vmstat.h mm: move recent_rotated pages calculation to shrink_inactive_list() 2019-05-14 09:47:45 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h VMCI: Use BIT() macro for bit definitions 2019-04-02 16:58:30 +02:00
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h docs: Add colon clearing sphinx warning 2019-04-09 15:14:49 -06:00
wait_bit.h Add wait_var_event_interruptible() 2019-05-15 17:35:54 +01:00
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h platform/x86: wmi: move struct wmi_device_id to mod_devicetable.h 2019-03-07 08:46:07 -08:00
workqueue.h Driver core patches for 5.1-rc1 2019-03-06 14:52:48 -08:00
writeback.h
ww_mutex.h
xarray.h XArray: Use xa_cmpxchg to implement xa_reserve 2019-02-20 17:08:54 -05:00
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h