linux-uconsole/include/linux
Mathieu Desnoyers d7822b1e24 rseq: Introduce restartable sequences system call
Expose a new system call allowing each thread to register one userspace
memory area to be used as an ABI between kernel and user-space for two
purposes: user-space restartable sequences and quick access to read the
current CPU number value from user-space.

* Restartable sequences (per-cpu atomics)

Restartables sequences allow user-space to perform update operations on
per-cpu data without requiring heavy-weight atomic operations.

The restartable critical sections (percpu atomics) work has been started
by Paul Turner and Andrew Hunter. It lets the kernel handle restart of
critical sections. [1] [2] The re-implementation proposed here brings a
few simplifications to the ABI which facilitates porting to other
architectures and speeds up the user-space fast path.

Here are benchmarks of various rseq use-cases.

Test hardware:

arm32: ARMv7 Processor rev 4 (v7l) "Cubietruck", 2-core
x86-64: Intel E5-2630 v3@2.40GHz, 16-core, hyperthreading

The following benchmarks were all performed on a single thread.

* Per-CPU statistic counter increment

                getcpu+atomic (ns/op)    rseq (ns/op)    speedup
arm32:                344.0                 31.4          11.0
x86-64:                15.3                  2.0           7.7

* LTTng-UST: write event 32-bit header, 32-bit payload into tracer
             per-cpu buffer

                getcpu+atomic (ns/op)    rseq (ns/op)    speedup
arm32:               2502.0                 2250.0         1.1
x86-64:               117.4                   98.0         1.2

* liburcu percpu: lock-unlock pair, dereference, read/compare word

                getcpu+atomic (ns/op)    rseq (ns/op)    speedup
arm32:                751.0                 128.5          5.8
x86-64:                53.4                  28.6          1.9

* jemalloc memory allocator adapted to use rseq

Using rseq with per-cpu memory pools in jemalloc at Facebook (based on
rseq 2016 implementation):

The production workload response-time has 1-2% gain avg. latency, and
the P99 overall latency drops by 2-3%.

* Reading the current CPU number

Speeding up reading the current CPU number on which the caller thread is
running is done by keeping the current CPU number up do date within the
cpu_id field of the memory area registered by the thread. This is done
by making scheduler preemption set the TIF_NOTIFY_RESUME flag on the
current thread. Upon return to user-space, a notify-resume handler
updates the current CPU value within the registered user-space memory
area. User-space can then read the current CPU number directly from
memory.

Keeping the current cpu id in a memory area shared between kernel and
user-space is an improvement over current mechanisms available to read
the current CPU number, which has the following benefits over
alternative approaches:

- 35x speedup on ARM vs system call through glibc
- 20x speedup on x86 compared to calling glibc, which calls vdso
  executing a "lsl" instruction,
- 14x speedup on x86 compared to inlined "lsl" instruction,
- Unlike vdso approaches, this cpu_id value can be read from an inline
  assembly, which makes it a useful building block for restartable
  sequences.
- The approach of reading the cpu id through memory mapping shared
  between kernel and user-space is portable (e.g. ARM), which is not the
  case for the lsl-based x86 vdso.

On x86, yet another possible approach would be to use the gs segment
selector to point to user-space per-cpu data. This approach performs
similarly to the cpu id cache, but it has two disadvantages: it is
not portable, and it is incompatible with existing applications already
using the gs segment selector for other purposes.

Benchmarking various approaches for reading the current CPU number:

ARMv7 Processor rev 4 (v7l)
Machine model: Cubietruck
- Baseline (empty loop):                                    8.4 ns
- Read CPU from rseq cpu_id:                               16.7 ns
- Read CPU from rseq cpu_id (lazy register):               19.8 ns
- glibc 2.19-0ubuntu6.6 getcpu:                           301.8 ns
- getcpu system call:                                     234.9 ns

x86-64 Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz:
- Baseline (empty loop):                                    0.8 ns
- Read CPU from rseq cpu_id:                                0.8 ns
- Read CPU from rseq cpu_id (lazy register):                0.8 ns
- Read using gs segment selector:                           0.8 ns
- "lsl" inline assembly:                                   13.0 ns
- glibc 2.19-0ubuntu6 getcpu:                              16.6 ns
- getcpu system call:                                      53.9 ns

- Speed (benchmark taken on v8 of patchset)

Running 10 runs of hackbench -l 100000 seems to indicate, contrary to
expectations, that enabling CONFIG_RSEQ slightly accelerates the
scheduler:

Configuration: 2 sockets * 8-core Intel(R) Xeon(R) CPU E5-2630 v3 @
2.40GHz (directly on hardware, hyperthreading disabled in BIOS, energy
saving disabled in BIOS, turboboost disabled in BIOS, cpuidle.off=1
kernel parameter), with a Linux v4.6 defconfig+localyesconfig,
restartable sequences series applied.

* CONFIG_RSEQ=n

avg.:      41.37 s
std.dev.:   0.36 s

* CONFIG_RSEQ=y

avg.:      40.46 s
std.dev.:   0.33 s

- Size

On x86-64, between CONFIG_RSEQ=n/y, the text size increase of vmlinux is
567 bytes, and the data size increase of vmlinux is 5696 bytes.

[1] https://lwn.net/Articles/650333/
[2] http://www.linuxplumbersconf.org/2013/ocw/system/presentations/1695/original/LPC%20-%20PerCpu%20Atomics.pdf

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Joel Fernandes <joelaf@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Watson <davejwatson@fb.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Chris Lameter <cl@linux.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Andrew Hunter <ahh@google.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Paul Turner <pjt@google.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ben Maurer <bmaurer@fb.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: linux-api@vger.kernel.org
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20151027235635.16059.11630.stgit@pjt-glaptop.roam.corp.google.com
Link: http://lkml.kernel.org/r/20150624222609.6116.86035.stgit@kitami.mtv.corp.google.com
Link: https://lkml.kernel.org/r/20180602124408.8430-3-mathieu.desnoyers@efficios.com
2018-06-06 11:58:31 +02:00
..
amba
avf virtchnl: Add filter data structures 2018-02-14 09:43:22 -08:00
bcma
byteorder crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array() 2018-03-31 01:33:09 +08:00
can
ceph libceph: add osd_req_op_extent_osd_data_bvecs() 2018-05-10 10:15:05 +02:00
clk The large diff this time around is from the addition of a new clk driver 2018-04-13 15:51:06 -07:00
crush
decompress
dma
dsa
extcon extcon: gpio: Localize platform data 2018-03-21 13:58:08 +09:00
firmware/meson
fpga
fsl bus: fsl-mc: change mc_command in fsl_mc_command 2018-03-23 15:52:48 +01:00
gpio gpiolib: Support 'gpio-reserved-ranges' property 2018-03-27 15:34:20 +02:00
hsi
iio iio:buffer: make length types match kfifo types 2018-03-30 11:14:32 +01:00
input
irqchip irqchip/gic-v3: Add support for Message Based Interrupts as an MSI controller 2018-05-13 15:59:01 +02:00
isdn isdn: replace ->proc_fops with ->proc_show 2018-05-16 07:24:30 +02:00
lockd
mailbox
mfd Changes to chrome-platform for v4.18 2018-06-04 11:28:58 -07:00
mlx4 RDMA/mlx4: Move flag constants to uapi header 2018-03-15 15:58:03 -06:00
mlx5 net/mlx5: Fix build break when CONFIG_SMP=n 2018-05-16 12:16:45 -04:00
mmc mmc: slot-gpio: Add a function to enable/disable card detect IRQ wakeup 2018-03-05 13:04:32 +01:00
mtd mtd: rawnand: Fix return type of __DIVIDE() when called with 32-bit 2018-05-15 14:40:34 +02:00
mux
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2018-03-30 11:41:18 -04:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm_pmu: acpi: request IRQs up-front 2018-02-20 11:34:54 +00:00
phy phy: fix structure documentation 2018-03-08 13:56:24 +05:30
pinctrl
platform_data Changes to chrome-platform for v4.17 2018-04-13 16:20:36 -07:00
power ARM: OMAP2+: Prepare to pass auxdata for smartreflex 2018-02-22 13:57:30 -08:00
qed qed: Adapter flash update support. 2018-03-29 14:29:55 -04:00
raid powerpc updates for 4.17 2018-04-07 12:08:19 -07:00
regulator regulator: da9211: Pass descriptors instead of GPIO numbers 2018-02-16 17:05:52 +00:00
remoteproc
reset
rpmsg
rtc
sched There's been a fair amount of work in the docs tree this time around, 2018-06-04 12:34:27 -07:00
soc remoteproc updates for v4.17 2018-04-10 12:09:27 -07:00
soundwire
spi spi: Get rid of the spi_flash_read() API 2018-05-11 11:34:41 +09:00
ssb
sunrpc remove rpc_rmdir() 2018-04-16 14:20:26 -04:00
ulpi
unaligned
usb usb: gadget: composite Allow for larger configuration descriptors 2018-04-27 10:17:10 +03:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h acpi: Introduce acpi_arch_get_root_pointer() for getting rsdp address 2018-02-26 08:43:20 +01:00
acpi_dma.h
acpi_iort.h ACPI/IORT: Add msi address regions reservation helper 2018-02-14 15:15:41 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h aio: simplify KIOCB_KEY handling 2018-05-26 09:16:44 +02:00
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.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/arm64: smccc: Implement SMCCC v1.1 inline primitive 2018-02-06 22:54:15 +00:00
arm_sdei.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h proc: introduce proc_create_seq_private 2018-05-16 07:23:35 +02: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.h locking/barriers: Introduce smp_cond_load_relaxed() and atomic_cond_read_relaxed() 2018-04-27 09:48:44 +02:00
attribute_container.h
audit.h audit: remove path param from link denied function 2018-03-21 11:17:41 -04:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h writeback: safer lock nesting 2018-04-20 17:18:35 -07:00
backing-dev.h writeback: safer lock nesting 2018-04-20 17:18:35 -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 exec: pin stack limit during exec 2018-04-11 10:28:37 -07:00
bio.h block: Drop bioset_create() 2018-05-30 15:33:32 -06:00
bit_spinlock.h
bitfield.h
bitmap.h bitmap: fix memset optimization on big-endian systems 2018-04-02 20:52:27 -07:00
bitops.h
bitrev.h
blk-cgroup.h blk-throttle: fix race between blkcg_bio_issue_check() and cgroup_rmdir() 2018-03-16 10:35:12 -06:00
blk-mq-pci.h blk-mq: Allow PCI vector offset for mapping queues 2018-03-27 21:25:36 -06:00
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h blk-mq: abstract out blk-mq-sched rq list iteration bio merge helper 2018-05-30 10:43:58 -06:00
blk_types.h block: don't use blocking queue entered for recursive bio submits 2018-06-02 20:35:00 -06:00
blkdev.h block: convert bounce, q->bio_split to bioset_init()/mempool_init() 2018-05-30 15:33:32 -06:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h mm: remove obsolete alloc_remap() 2018-03-16 10:56:13 +01:00
bottom_half.h
bpf-cgroup.h bpf: Post-hooks for sys_bind 2018-03-31 02:16:26 +02:00
bpf.h bpf: sockmap, map_release does not hold refcnt for pinned maps 2018-04-24 00:49:45 +02:00
bpf_trace.h
bpf_types.h bpf: Hooks for sys_bind 2018-03-31 02:15:18 +02:00
bpf_verifier.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-25 19:54:42 -07:00
brcmphy.h net: phy: broadcom: add support for BCM89610 PHY 2018-05-04 12:45:55 -04:00
bsearch.h
bsg-lib.h block: remove parent device reference from struct bsg_class_device 2018-05-29 13:00:25 -06:00
bsg.h block: remove parent device reference from struct bsg_class_device 2018-05-29 13:00:25 -06:00
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build_bug.h build_bug.h: remove BUILD_BUG_ON_NULL() 2018-02-06 18:32:46 -08:00
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h Merge branch 'for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2018-04-03 18:00:13 -07:00
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux 2018-04-16 09:25:07 -07:00
clk.h clk: add more __must_check for bulk APIs 2018-03-16 15:45:51 -07:00
clkdev.h
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
compat.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-04 20:27:54 -07:00
compat_time.h compat: Enable compat_get/put_timespec64 always 2018-04-19 13:30:14 +02:00
compiler-clang.h kasan: add no_sanitize attribute for clang builds 2018-04-20 17:18:35 -07:00
compiler-gcc.h task_struct: only use anon struct under randstruct plugin 2018-04-11 10:28:35 -07:00
compiler-intel.h
compiler.h bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
compiler_types.h
completion.h
component.h
concap.h
configfs.h
connector.h
console.h console: Fill in struct consw argument names 2018-02-27 10:17:33 +01:00
console_struct.h
consolemap.h
const.h linux/const.h: move UL() macro to include/linux/const.h 2018-04-11 10:28:38 -07:00
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h coresight: Move to SPDX identifier 2018-04-19 12:29:41 -03:00
coresight-stm.h
coresight.h
count_zeros.h
cper.h efi: Decode IA32/X64 Processor Error Section 2018-05-14 08:57:47 +02:00
cpu.h x86/bugs: Expose /sys/../spec_store_bypass 2018-05-03 13:55:47 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h cpufreq: Drop cpufreq_table_validate_and_show() 2018-04-10 08:40:45 +02:00
cpuhotplug.h arch: remove blackfin port 2018-03-16 10:55:47 +01:00
cpuidle.h cpuidle: Return nohz hint from cpuidle_select() 2018-04-06 09:29:34 +02:00
cpumask.h cpumask: Make for_each_cpu_wrap() available on UP as well 2018-02-16 10:40:24 +01:00
cpuset.h kernel/cpuset: current_cpuset_is_being_rebound can be boolean 2018-02-06 18:32:47 -08:00
crash_core.h
crash_dump.h crash_dump: is_kdump_kernel can be boolean 2018-02-06 18:32:47 -08:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h libcrc32c: Add crc32c_impl function 2018-03-26 15:09:38 +02:00
cred.h
crypto.h crypto: doc - Document remaining members in struct crypto_alg 2018-03-23 23:48:43 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dax, dm: allow device-mapper to operate without dax support 2018-04-03 05:41:19 -07:00
dca.h
dcache.h do d_instantiate/unlock_new_inode combinations safely 2018-05-11 15:36:37 -04:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h delayacct: Use raw_spinlocks 2018-04-27 14:34:51 +02:00
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h - DM core passthrough ioctl fix to retain reference to DM table, and 2018-04-06 11:50:19 -07:00
device.h core, dma-direct: add a flag 32-bit dma limits 2018-05-28 12:46:54 +02:00
device_cgroup.h
devpts_fs.h
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h dm bufio: move dm-bufio.h to include/linux/ 2018-04-03 15:04:23 -04:00
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-debug: move initialization to common code 2018-05-08 13:02:42 +02:00
dma-direct.h dma-mapping: provide a generic dma-noncoherent implementation 2018-05-19 08:46:12 +02:00
dma-direction.h
dma-fence-array.h
dma-fence.h
dma-iommu.h dma-iommu: Fix compilation when !CONFIG_IOMMU_DMA 2018-05-13 15:59:00 +02:00
dma-mapping.h x86/pci-dma: switch the VIA 32-bit DMA quirk to use the struct device flag 2018-05-28 12:48:25 +02:00
dma-noncoherent.h dma-mapping: provide a generic dma-noncoherent implementation 2018-05-19 08:46:12 +02:00
dma_remapping.h
dmaengine.h dmaengine: avoid map_cnt overflow with CONFIG_DMA_ENGINE_RAID 2018-02-12 09:18:56 +05:30
dmapool.h mm: Add NO_DMA dummies for DMA pool API 2018-03-16 19:58:27 +01:00
dmar.h
dmi.h * Add NVDIMM support to EDAC (Tony Luck) 2018-04-05 14:21:13 -07:00
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
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h EDAC: Add new memory type for non-volatile DIMMs 2018-03-14 12:32:06 +01:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Align efi_pci_io_protocol typedefs to type naming convention 2018-05-14 08:57:48 +02:00
efs_vh.h
eisa.h
elevator.h block: unexport elevator_init/exit 2018-06-01 07:38:16 -06:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h net: Extra '_get' in declaration of arch_get_platform_mac_address 2018-02-08 15:13:30 -05:00
ethtool.h net: ethtool: Add missing kernel doc for FEC parameters 2018-04-24 13:38:42 -04:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h extcon: add possibility to get extcon device by OF node 2018-03-08 10:34:44 +09:00
f2fs_fs.h f2fs: align memory boundary for bitops 2018-03-17 13:57:39 +09:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h mm: make should_failslab always available for fault injection 2018-04-05 21:36:26 -07:00
fb.h fbdev: remove blackfin drivers 2018-03-26 15:56:44 +02:00
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: Hooks for sys_bind 2018-03-31 02:15:18 +02:00
fips.h
firewire.h
firmware-map.h
firmware.h firmware: add firmware_request_cache() to help with cache on reboot 2018-03-22 18:33:26 +01:00
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h Merge branch 'work.aio-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-06-04 13:57:43 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
fscache.h fscache: Maintain a catalogue of allocated cookies 2018-04-06 14:05:14 +01:00
fscrypt.h
fscrypt_notsupp.h
fscrypt_supp.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h mtd: nand: fsl_ifc: Read ECCSTAT0 and ECCSTAT1 registers for IFC 2.0 2018-03-21 10:22:28 +01:00
fsldma.h
fsnotify.h
fsnotify_backend.h \n 2018-04-25 21:23:38 -07:00
ftrace.h
ftrace_irq.h
futex.h mm: use do_futex() instead of sys_futex() in mm_release() 2018-04-02 20:15:02 +02:00
fwnode.h device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h blk-mq: fix sysfs inflight counter 2018-04-26 09:02:01 -06:00
genl_magic_func.h include/linux/genl_magic_func.h: remove own BUILD_BUG_ON*() defines 2018-02-06 18:32:46 -08:00
genl_magic_struct.h
getcpu.h
gfp.h mm: do not warn on offline nodes unless the specific node is explicitly requested 2018-05-25 18:12:11 -07:00
glob.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h Input: gpio-keys - add support for wakeup event action 2018-03-14 10:13:22 -07:00
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: input: fix battery level reporting on BT mice 2018-04-09 09:26:12 +02:00
hiddev.h
hidraw.h
highmem.h mm: Allow arch code to override copy_highpage() 2018-03-18 07:38:48 -07:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
host1x.h
hp_sdc.h
hpet.h
hrtimer.h Revert: Unify CLOCK_MONOTONIC and CLOCK_BOOTTIME 2018-04-26 14:53:32 +02:00
htcpld.h
huge_mm.h
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h perf/core: Implement fast breakpoint modification via _IOC_MODIFY_ATTRIBUTES 2018-03-13 15:24:02 +01:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h hwmon: (core) Add hwmon_max to hwmon_sensor_types enumeration 2018-02-28 16:37:57 +00:00
hwspinlock.h
hyperv.h ARM: 2018-04-09 11:42:31 -07:00
hypervisor.h jailhouse: Provide detection for non-x86 systems 2018-03-08 12:30:37 +01:00
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h i2c: pca-platform: drop gpio from platform data 2018-03-24 13:26:13 +01:00
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h i2c: add i2c_get_device_id() to get the standard i2c device id 2018-03-06 10:57:59 +01:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h dma-mapping updates for 4.18: 2018-06-04 10:58:12 -07:00
idr.h xarray: add the xa_lock to the radix_tree_root 2018-04-11 10:28:39 -07:00
ieee80211.h mac80211: add get TID helper 2018-02-22 21:13:03 +01:00
ieee802154.h
if_arp.h
if_bridge.h
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 vhost_net: examine pointer types during un-producing 2018-03-09 12:02:59 -05:00
if_tunnel.h
if_vlan.h vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi 2018-04-17 13:59:28 -04:00
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
inet.h net/utils: Introduce inet_addr_is_any 2018-03-26 08:53:43 -06:00
inet_diag.h
inetdevice.h
init.h x86/retpoline: Support retpoline builds with Clang 2018-02-20 11:17:58 +01:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h iommu/vt-d: Clean/document fault status flags 2018-02-13 17:40:54 +01:00
intel-pti.h
intel-svm.h
interrupt.h softirq/s390: Move default mutators of overwritten softirq mask to s390 2018-05-14 11:25:28 +02:00
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iomap.h
iommu-helper.h iommu-helper: mark iommu_is_span_boundary as inline 2018-05-09 06:55:44 +02:00
iommu.h iommu: Do not return error code for APIs with size_t return type 2018-02-13 19:31:20 +01:00
iopoll.h
ioport.h kernel/resource: iomem_is_exclusive can be boolean 2018-02-06 18:32:47 -08:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h ipc: Move IPCMNI from include/ipc.h into ipc/util.h 2018-03-24 11:25:36 -05:00
ipc_namespace.h
ipmi-fru.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipmi.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipmi_smi.h ipmi: Add or fix SPDX-License-Identifier in all files 2018-02-27 07:42:51 -06:00
ipv6.h
ipv6_route.h
irq.h genirq/msi: Limit level-triggered MSI to platform devices 2018-05-13 15:58:59 +02:00
irq_cpustat.h softirq/core: Consolidate default local_softirq_pending() implementations 2018-05-14 11:25:27 +02:00
irq_poll.h
irq_sim.h genirq/irq_sim: Use the SPDX license identifier in the header 2018-04-26 22:26:39 +02:00
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h irqdomain: Let irq_find_host default to DOMAIN_BUS_WIRED 2018-05-13 15:59:00 +02: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
jhash.h
jiffies.h jiffies: Introduce USER_TICK_USEC and redefine TICK_USEC 2018-04-06 09:28:50 +02:00
journal-head.h
joystick.h
jump_label.h jump_label: Disable jump labels in __exit code 2018-03-20 08:57:17 +01:00
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h kallsyms: let print_ip_sym() print raw addresses 2018-02-06 18:32:45 -08:00
kasan-checks.h
kasan.h kasan: make kasan_cache_create() work with 32-bit slab cache sizes 2018-04-05 21:36:24 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h kbuild: get <linux/compiler_types.h> out of <linux/kconfig.h> 2018-03-31 12:22:38 +09:00
kcore.h vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page 2018-02-13 09:15:58 +01:00
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h taint: add taint for randstruct 2018-04-11 10:28:35 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h kernel/kexec_file.c: allow archs to set purgatory load address 2018-04-13 17:10:28 -07:00
key-type.h
key.h
keyboard.h
kfifo.h include/linux/kfifo.h: fix comment 2018-04-11 10:28:38 -07:00
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h kthread, sched/wait: Fix kthread_parkme() completion issue 2018-05-03 07:38:05 +02:00
ktime.h
kvm_host.h KVM: Extend MAX_IRQ_ROUTES to 4096 for all archs 2018-05-11 11:21:10 +02:00
kvm_irqfd.h
kvm_para.h KVM: Introduce paravirtualization hints and KVM_HINTS_DEDICATED 2018-03-06 18:40:44 +01:00
kvm_types.h
l2tp.h
lapb.h
latencytop.h
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: Extends disk trigger for reads and writes 2018-03-11 20:01:55 +01:00
leds_pwm.h
libata.h libata: remove ata_scsi_timed_out 2018-05-29 08:47:40 -06:00
libfdt.h
libfdt_env.h scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
libgcc.h
libnvdimm.h libnvdimm: Add of_node to region and bus descriptors 2018-04-07 07:53:23 -07:00
libps2.h
license.h
lightnvm.h lightnvm: pass flag on graceful teardown to targets 2018-06-01 07:43:53 -06:00
linkage.h
linux_logo.h video/logo: remove obsolete logo files 2018-03-26 15:56:42 +02:00
lis3lv02d.h
list.h
list_bl.h
list_lru.h mm: make counting of list_lru_one::nr_items lockless 2018-04-05 21:36:27 -07:00
list_nulls.h
list_sort.h
livepatch.h livepatch: Allow to call a custom callback when freeing shadow variables 2018-04-17 13:42:48 +02:00
llc.h
llist.h
lockdep.h
lockref.h lockref: Add lockref_put_not_zero 2018-04-12 09:41:19 -07:00
log2.h
logic_pio.h lib: Add generic PIO mapping method 2018-03-21 17:18:34 -05:00
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-04-07 16:53:59 -07:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h
mdev.h
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h powerpc updates for 4.17 2018-04-07 12:08:19 -07:00
memcontrol.h mm: memcg: make sure memory.events is uptodate when waking pollers 2018-04-11 10:28:31 -07:00
memory.h mm/memory_hotplug: optimize memory hotplug 2018-04-05 21:36:25 -07:00
memory_hotplug.h Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE" 2018-05-24 10:07:50 -07:00
mempolicy.h
mempool.h mempool: Add mempool_init()/mempool_exit() 2018-05-14 13:14:23 -06:00
memremap.h docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
memstick.h
mic_bus.h
micrel_phy.h
microchipphy.h lan78xx: PHY DSP registers initialization to address EEE link drop issues with long cables 2018-04-12 21:46:10 -04:00
migrate.h mm: unclutter THP migration 2018-04-11 10:28:32 -07:00
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h Revert "mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE" 2018-05-24 10:07:50 -07:00
mm_inline.h x86/mm, mm/hwpoison: Don't unconditionally unmap kernel 1:1 pages 2018-02-13 16:25:06 +01:00
mm_types.h mm: change return type to vm_fault_t 2018-04-05 21:36:27 -07:00
mm_types_task.h
mman.h mm: Add address parameter to arch_validate_prot() 2018-03-18 07:38:47 -07:00
mmdebug.h include/linux/mmdebug.h: make VM_WARN* non-rvals 2018-04-05 21:36:27 -07:00
mmiotrace.h
mmu_context.h
mmu_notifier.h docs/vm: rename documentation files to .rst 2018-04-16 14:18:15 -06:00
mmzone.h mm/page_alloc: don't reserve ZONE_HIGHMEM for ZONE_MOVABLE request 2018-04-11 10:28:32 -07:00
mnt_namespace.h
mod_devicetable.h firmware: dmi_scan: Add DMI_OEM_STRING support to dmi_matches 2018-04-13 15:37:59 +02:00
module.h kernel/module: module_is_live can be boolean 2018-02-06 18:32:47 -08:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h ip6mr: Add refcounting to mfc 2018-03-26 13:14:43 -04:00
mroute6.h ip6mr: Add API for default_rule fib 2018-03-26 13:14:43 -04:00
mroute_base.h ip6mr: Add refcounting to mfc 2018-03-26 13:14:43 -04:00
msdos_fs.h
msg.h msg: Move struct msg_queue into ipc/msg.c 2018-03-24 11:25:35 -05:00
msi.h genirq/msi: Allow level-triggered MSIs to be exposed by MSI providers 2018-05-13 15:58:59 +02:00
mutex.h locking/spinlocks: Clean up comment and #ifndef for {,queued_}spin_is_locked() 2018-05-15 08:11:15 +02:00
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h
nd.h libnvdimm: provide module_nd_driver wrapper 2018-03-15 07:17:21 -07:00
net.h net: add support for ->poll_mask in proto_ops 2018-05-26 09:16:44 +02:00
net_dim.h net/dim: Fix int overflow 2018-03-30 12:56:22 -04:00
netdev_features.h ethtool: enable Inline TLS in HW 2018-03-31 23:37:32 -04:00
netdevice.h sfp/phylink: move module EEPROM ethtool access into netdev core ethtool 2018-03-30 10:11:06 -04:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h NFS: More fine grained attribute tracking 2018-04-10 16:06:22 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFS: Remove the unused return_delegation() callback 2018-04-10 16:06:22 -04:00
nfsacl.h
nl802154.h
nls.h
nmi.h
node.h mm/memory_hotplug: fix leftover use of struct page during hotplug 2018-05-25 18:12:11 -07:00
nodemask.h
nospec.h seccomp: Move speculation migitation control to arch code 2018-05-05 00:51:44 +02:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme.h nvme.h: add AEN configuration symbols 2018-06-01 14:37:35 +02:00
nvmem-consumer.h
nvmem-provider.h nvmem: Introduce devm_nvmem_(un)register() 2018-03-14 19:28:13 +01:00
nvram.h
of.h Move duplicating and unflattening of an overlay flattened devicetree 2018-03-05 13:29:46 -06:00
of_address.h
of_device.h drivers: remove force dma flag from buses 2018-05-03 16:25:08 +02:00
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_net.h of_net: Implement of_get_nvmem_mac_address helper 2018-03-30 10:40:18 -04:00
of_pci.h PCI: Move of_irq_parse_and_map_pci() declaration under OF_IRQ 2018-03-05 18:03:20 -06:00
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h mm, oom: fix concurrent munlock and oom reaper unmap, v3 2018-05-11 17:28:45 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page-flags-layout.h
page-flags.h mm: uninitialized struct page poisoning sanity checking 2018-04-05 21:36:25 -07:00
page-isolation.h mm, migrate: remove reason argument from new_page_t 2018-04-11 10:28:32 -07:00
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h mm/page_ref: use atomic_set_release in page_ref_unfreeze 2018-04-05 21:36:25 -07:00
pageblock-flags.h
pagemap.h page cache: use xa_lock 2018-04-11 10:28:39 -07:00
pagevec.h
parman.h
parport.h
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-dma-compat.h
pci-dma.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h PCI: endpoint: Make epc->ops->clear_bar()/pci_epc_clear_bar() take struct *epf_bar 2018-04-03 12:38:05 +01:00
pci-epf.h PCI: endpoint: Simplify epc->ops->set_bar()/pci_epc_set_bar() 2018-04-03 12:23:38 +01:00
pci.h PCI: remove CONFIG_PCI_BUS_ADDR_T_64BIT 2018-05-09 06:57:18 +02:00
pci_hotplug.h
pci_ids.h pci-v4.17-changes 2018-04-06 18:31:06 -07:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h percpu_ref: Update doc to dissuade users from depending on internal RCU grace periods 2018-03-19 10:09:44 -07:00
percpu-rwsem.h locking/percpu-rwsem: Annotate rwsem ownership transfer by setting RWSEM_OWNER_UNKNOWN 2018-05-16 11:45:16 +02:00
percpu.h
percpu_counter.h
percpu_ida.h
perf_event.h perf/core: Fix bad use of igrab() 2018-05-25 08:11:10 +02:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-03-23 11:31:58 -04:00
phy_fixed.h
phy_led_triggers.h
phylink.h sfp/phylink: move module EEPROM ethtool access into netdev core ethtool 2018-03-30 10:11:06 -04:00
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h pipe: reject F_SETPIPE_SZ with size over UINT_MAX 2018-02-06 18:32:47 -08:00
pkeys.h
pktcdvd.h pktcdvd: convert to bioset_init()/mempool_init() 2018-05-30 15:33:32 -06:00
pl320-ipc.h
platform_device.h dma-mapping: move dma configuration to bus infrastructure 2018-05-03 16:22:18 +02:00
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h fs: introduce new ->get_poll_head and ->poll_mask methods 2018-05-26 09:16:44 +02:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h power: add to_power_supply macro to the API 2018-02-21 23:27:13 +01:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h
prefetch.h
prime_numbers.h
printk.h printk: move dump stack related code to lib/dump_stack.c 2018-03-15 13:25:36 +01:00
proc_fs.h proc: introduce proc_create_net_single 2018-05-16 07:24:30 +02:00
proc_ns.h
processor.h
profile.h
projid.h
property.h device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
psci.h firmware/psci: Expose SMCCC version through psci_ops 2018-02-06 22:54:11 +00:00
psp-sev.h
pstore.h
pstore_ram.h pstore/ram: Do not use stack VLA for parity workspace 2018-03-07 12:47:06 -08:00
pti.h
ptp_classify.h net: ptp: Add stub for ptp_classify_raw() 2018-02-14 14:33:36 -05:00
ptp_clock_kernel.h
ptr_ring.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-19 18:46:11 -05:00
ptrace.h signal: Ensure every siginfo we send has all bits initialized 2018-04-25 10:40:51 -05:00
purgatory.h
pvclock_gtod.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h quota: Kill an unused extern entry form quota.h 2018-03-26 13:11:35 +02:00
quotaops.h fs/quota: add kernel_quotactl() helper; remove in-kernel call to syscall 2018-04-02 20:15:46 +02:00
radix-tree.h xarray: add the xa_lock to the radix_tree_root 2018-04-11 10:28:39 -07:00
raid_class.h scsi: raid_class: Add 'JBOD' RAID level 2018-02-12 11:43:25 -05:00
ramfs.h
random.h random: always fill buffer in get_random_bytes_wait 2018-02-28 17:59:21 -05:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h rbtree: include rcu.h 2018-05-11 17:28:45 -07:00
rbtree_latch.h rbtree: include rcu.h 2018-05-11 17:28:45 -07:00
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu/x86: Provide early rcu_cpu_starting() callback 2018-05-22 16:12:26 -07:00
rcupdate_wait.h
rcutiny.h rcu/x86: Provide early rcu_cpu_starting() callback 2018-05-22 16:12:26 -07:00
rcutree.h rcu/x86: Provide early rcu_cpu_starting() callback 2018-05-22 16:12:26 -07:00
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h regmap: add missing prototype for devm_init_slimbus 2018-05-25 18:35:59 +01:00
regset.h
relay.h
remoteproc.h remoteproc: fix crashed parameter logic on stop call 2018-04-25 16:43:55 -07:00
reservation.h
reset-controller.h reset: modify the way reset lookup works for board files 2018-03-27 10:39:47 +02:00
reset.h
resource.h
resource_ext.h
restart_block.h time: Change nanosleep to safe __kernel_* types 2018-04-19 13:32:03 +02:00
rfkill.h
rhashtable.h rhashtable: reorganize struct rhashtable layout 2018-03-31 23:25:39 -04:00
ring_buffer.h ring-buffer: Add nesting for adding events within events 2018-03-10 16:06:04 -05: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: Add useful timestamp definitions 2018-03-17 14:20:55 +01:00
rtmutex.h
rtnetlink.h net: Introduce net_rwsem to protect net_namespace_list 2018-03-29 13:47:53 -04:00
rtsx_common.h
rtsx_pci.h misc: rtsx: rename SG_END macro 2018-03-01 08:33:05 -07:00
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h locking/percpu-rwsem: Annotate rwsem ownership transfer by setting RWSEM_OWNER_UNKNOWN 2018-05-16 11:45:16 +02:00
s3c_adc_battery.h
sa11x0-dma.h
sbitmap.h blk-mq: avoid starving tag allocation after allocating process migrates 2018-05-24 11:00:39 -06:00
scatterlist.h for-4.17/block-20180402 2018-04-05 14:27:02 -07:00
scc.h
sched.h rseq: Introduce restartable sequences system call 2018-06-06 11:58:31 +02:00
sched_clock.h
scif.h vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
scmi_protocol.h firmware: arm_scmi: add option for polling based performance domain operations 2018-02-28 16:37:57 +00:00
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h seccomp: Add filter flag to opt-out of SSB mitigation 2018-05-05 00:51:44 +02:00
securebits.h
security.h Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2018-04-07 16:53:59 -07:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
selinux.h
sem.h sem: Move struct sem and struct sem_array into ipc/sem.c 2018-03-22 21:30:56 -05:00
semaphore.h locking/semaphore: Update the file path in documentation 2018-02-13 15:00:06 +01:00
seq_buf.h
seq_file.h seq_file: allocate seq_file from kmem_cache 2018-04-11 10:28:36 -07:00
seq_file_net.h proc: introduce proc_create_net_single 2018-05-16 07:24:30 +02:00
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h
serial_bcm63xx.h
serial_core.h earlycon: Use a pointer table to fix __earlycon_table stride 2018-04-23 10:06:59 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h ARM: EXYNOS: Add SPDX license identifiers 2018-02-12 19:55:21 +01:00
serial_sci.h
serio.h
set_memory.h set_memory.h: Provide set_memory_{en,de}crypted() stubs 2018-03-20 10:01:58 +01:00
sfi.h
sfi_acpi.h
sfp.h phylink,sfp: negotiate interface format with MAC 2018-02-28 11:07:11 -05:00
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
sha256.h kernel/kexec_file.c: move purgatories sha256 to common code 2018-04-13 17:10:28 -07:00
shdma-base.h
shm.h ipc/shm: fix up for struct file no longer being available in shm.h 2018-03-28 13:29:57 -05:00
shmem_fs.h
shrinker.h mm,vmscan: Allow preallocating memory for register_shrinker(). 2018-04-16 02:06:47 -04:00
signal.h signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR} 2018-04-26 19:51:14 -05:00
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h arm64/kernel: kaslr: reduce module randomization range to 4 GB 2018-03-08 13:49:26 +00:00
skb_array.h
skbuff.h net: convert datagram_poll users tp ->poll_mask 2018-05-26 09:16:44 +02:00
slab.h headers: untangle kmemleak.h from mm.h 2018-04-05 21:36:27 -07:00
slab_def.h slab: make usercopy region 32-bit 2018-04-05 21:36:24 -07:00
slimbus.h
slub_def.h slub: make struct kmem_cache_order_objects::x unsigned int 2018-04-05 21:36:24 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-04-03 14:04:18 -07:00
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h locking/spinlocks: Document the semantics of spin_is_locked() 2018-05-15 08:11:15 +02: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: Add cleanup_srcu_struct_quiesced() 2018-05-15 10:27:56 -07:00
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h stm class: Add SPDX GPL-2.0 header to replace GPLv2 boilerplate 2018-03-28 18:47:17 +03:00
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h x86/asm/memcpy_mcsafe: Return bytes remaining 2018-05-15 08:32:42 +02:00
string_helpers.h
stringhash.h <linux/stringhash.h>: fix end_name_hash() for 64bit long 2018-04-28 15:01:14 -07:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h x86: hibernate: fix swsusp_arch_resume() prototype 2018-02-07 12:18:23 +01:00
svga.h
sw842.h
swab.h
swait.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-04 17:45:38 -07:00
swap.h Merge branch 'mm-rst' into docs-next 2018-04-16 14:25:08 -06:00
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h dma/swiotlb: Remove swiotlb_{alloc,free}_coherent() 2018-03-20 10:01:59 +01:00
switchtec.h pci-v4.16-changes 2018-02-06 09:59:40 -08:00
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h rseq: Introduce restartable sequences system call 2018-06-06 11:58:31 +02:00
syscore_ops.h
sysctl.h pipe, sysctl: remove pipe_proc_fn() 2018-02-06 18:32:47 -08:00
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
textsearch.h textsearch: fix kernel-doc warnings and add kernel-api section 2018-04-16 18:53:13 -04:00
textsearch_fsm.h
tfrc.h
thermal.h thermal: Add cooling device's statistics in sysfs 2018-04-02 21:49:01 +08:00
thinkpad_acpi.h
thread_info.h fork: unconditionally clear stack on fork 2018-04-20 17:18:35 -07:00
threads.h
thunderbolt.h thunderbolt: Introduce USB only (SL4) security level 2018-03-09 12:54:11 +03:00
ti-emif-sram.h ARM: OMAP2+: Fix build when using split object directories 2018-04-18 10:07:13 -07:00
ti_wilink_st.h
tick.h cpuidle: menu: Refine idle state selection for running tick 2018-04-09 11:54:56 +02:00
tifm.h
timb_dma.h
timb_gpio.h
time.h time: Fix get_timespec64() for y2038 safe compat interfaces 2018-04-19 13:31:39 +02:00
time32.h timekeeping: Remove timespec64 hack 2018-05-19 13:57:31 +02:00
time64.h timekeeping: Remove timespec64 hack 2018-05-19 13:57:31 +02:00
timecounter.h
timekeeper_internal.h Revert: Unify CLOCK_MONOTONIC and CLOCK_BOOTTIME 2018-04-26 14:53:32 +02:00
timekeeping.h timekeeping: Add more coarse clocktai/boottime interfaces 2018-05-19 13:57:33 +02:00
timekeeping32.h timekeeping: Standardize on ktime_get_*() naming 2018-05-19 13:57:32 +02:00
timer.h timers: Remove stale struct tvec_base forward declaration 2018-04-17 17:18:04 +02:00
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h tpm: cmd_ready command can be issued only after granting locality 2018-03-23 10:18:05 +02:00
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h New features: 2018-04-10 11:27:30 -07:00
trace_seq.h
tracefs.h
tracehook.h signal: Ensure every siginfo we send has all bits initialized 2018-04-25 10:40:51 -05:00
tracepoint-defs.h bpf: introduce BPF_RAW_TRACEPOINT 2018-03-28 22:55:19 +02:00
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h proc: introduce proc_create_seq{,_data} 2018-05-16 07:23:35 +02:00
tty_driver.h tty: replace ->proc_fops with ->proc_show 2018-05-16 07:24:30 +02:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h doc: Fix typo in rcu_head comments 2018-02-20 16:10:25 -08:00
u64_stats_sync.h net: usbnet: fix potential deadlock on 32bit hosts 2018-03-07 11:46:39 -05:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe() 2018-05-15 08:32:42 +02:00
uio_driver.h
umh.h
uprobes.h
usb.h
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h uts: create "struct uts_namespace" from kmem_cache 2018-04-11 10:28:35 -07:00
uuid.h uuid: cleanup <uapi/linux/uuid.h> 2018-02-06 18:32:44 -08:00
uwb.h
vbox_utils.h virt: vbox: Move declarations of vboxguest private functions to private header 2018-04-23 13:41:55 +02:00
verification.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h vga_switcheroo: Use device link for HDA controller 2018-03-13 22:58:09 +01:00
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h virtio: add ability to iterate over vqs 2018-04-25 20:33:19 +03:00
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h mm, vmscan, tracing: use pointer to reclaim_stat struct in trace event 2018-04-11 10:28:30 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h sched/wait: add wait_event_idle() functions. 2018-02-16 15:19:09 +01:00
wait_bit.h bdi: wake up concurrent wb_shutdown() callers. 2018-05-03 09:25:47 -06:00
wanrouter.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h Merge branch 'for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2018-04-03 18:00:13 -07:00
writeback.h
ww_mutex.h
xarray.h xarray: add the xa_lock to the radix_tree_root 2018-04-11 10:28:39 -07:00
xattr.h make xattr_getsecurity() static 2018-05-14 09:51:34 -04:00
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h zsmalloc: introduce zs_huge_class_size() 2018-04-05 21:36:26 -07:00
zstd.h
zutil.h