twx-linux/include/linux
Linus Torvalds 710d60cbf1 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull cpu hotplug updates from Thomas Gleixner:
 "This is the first part of the ongoing cpu hotplug rework:

   - Initial implementation of the state machine

   - Runs all online and prepare down callbacks on the plugged cpu and
     not on some random processor

   - Replaces busy loop waiting with completions

   - Adds tracepoints so the states can be followed"

More detailed commentary on this work from an earlier email:
 "What's wrong with the current cpu hotplug infrastructure?

   - Asymmetry

     The hotplug notifier mechanism is asymmetric versus the bringup and
     teardown.  This is mostly caused by the notifier mechanism.

   - Largely undocumented dependencies

     While some notifiers use explicitely defined notifier priorities,
     we have quite some notifiers which use numerical priorities to
     express dependencies without any documentation why.

   - Control processor driven

     Most of the bringup/teardown of a cpu is driven by a control
     processor.  While it is understandable, that preperatory steps,
     like idle thread creation, memory allocation for and initialization
     of essential facilities needs to be done before a cpu can boot,
     there is no reason why everything else must run on a control
     processor.  Before this patch series, bringup looks like this:

       Control CPU                     Booting CPU

       do preparatory steps
       kick cpu into life

                                       do low level init

       sync with booting cpu           sync with control cpu

       bring the rest up

   - All or nothing approach

     There is no way to do partial bringups.  That's something which is
     really desired because we waste e.g.  at boot substantial amount of
     time just busy waiting that the cpu comes to life.  That's stupid
     as we could very well do preparatory steps and the initial IPI for
     other cpus and then go back and do the necessary low level
     synchronization with the freshly booted cpu.

   - Minimal debuggability

     Due to the notifier based design, it's impossible to switch between
     two stages of the bringup/teardown back and forth in order to test
     the correctness.  So in many hotplug notifiers the cancel
     mechanisms are either not existant or completely untested.

   - Notifier [un]registering is tedious

     To [un]register notifiers we need to protect against hotplug at
     every callsite.  There is no mechanism that bringup/teardown
     callbacks are issued on the online cpus, so every caller needs to
     do it itself.  That also includes error rollback.

  What's the new design?

     The base of the new design is a symmetric state machine, where both
     the control processor and the booting/dying cpu execute a well
     defined set of states.  Each state is symmetric in the end, except
     for some well defined exceptions, and the bringup/teardown can be
     stopped and reversed at almost all states.

     So the bringup of a cpu will look like this in the future:

       Control CPU                     Booting CPU

       do preparatory steps
       kick cpu into life

                                       do low level init

       sync with booting cpu           sync with control cpu

                                       bring itself up

     The synchronization step does not require the control cpu to wait.
     That mechanism can be done asynchronously via a worker or some
     other mechanism.

     The teardown can be made very similar, so that the dying cpu cleans
     up and brings itself down.  Cleanups which need to be done after
     the cpu is gone, can be scheduled asynchronously as well.

  There is a long way to this, as we need to refactor the notion when a
  cpu is available.  Today we set the cpu online right after it comes
  out of the low level bringup, which is not really correct.

  The proper mechanism is to set it to available, i.e. cpu local
  threads, like softirqd, hotplug thread etc. can be scheduled on that
  cpu, and once it finished all booting steps, it's set to online, so
  general workloads can be scheduled on it.  The reverse happens on
  teardown.  First thing to do is to forbid scheduling of general
  workloads, then teardown all the per cpu resources and finally shut it
  off completely.

  This patch series implements the basic infrastructure for this at the
  core level.  This includes the following:

   - Basic state machine implementation with well defined states, so
     ordering and prioritization can be expressed.

   - Interfaces to [un]register state callbacks

     This invokes the bringup/teardown callback on all online cpus with
     the proper protection in place and [un]installs the callbacks in
     the state machine array.

     For callbacks which have no particular ordering requirement we have
     a dynamic state space, so that drivers don't have to register an
     explicit hotplug state.

     If a callback fails, the code automatically does a rollback to the
     previous state.

   - Sysfs interface to drive the state machine to a particular step.

     This is only partially functional today.  Full functionality and
     therefor testability will be achieved once we converted all
     existing hotplug notifiers over to the new scheme.

   - Run all CPU_ONLINE/DOWN_PREPARE notifiers on the booting/dying
     processor:

       Control CPU                     Booting CPU

       do preparatory steps
       kick cpu into life

                                       do low level init

       sync with booting cpu           sync with control cpu
       wait for boot
                                       bring itself up

                                       Signal completion to control cpu

     In a previous step of this work we've done a full tree mechanical
     conversion of all hotplug notifiers to the new scheme.  The balance
     is a net removal of about 4000 lines of code.

     This is not included in this series, as we decided to take a
     different approach.  Instead of mechanically converting everything
     over, we will do a proper overhaul of the usage sites one by one so
     they nicely fit into the symmetric callback scheme.

     I decided to do that after I looked at the ugliness of some of the
     converted sites and figured out that their hotplug mechanism is
     completely buggered anyway.  So there is no point to do a
     mechanical conversion first as we need to go through the usage
     sites one by one again in order to achieve a full symmetric and
     testable behaviour"

* 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
  cpu/hotplug: Document states better
  cpu/hotplug: Fix smpboot thread ordering
  cpu/hotplug: Remove redundant state check
  cpu/hotplug: Plug death reporting race
  rcu: Make CPU_DYING_IDLE an explicit call
  cpu/hotplug: Make wait for dead cpu completion based
  cpu/hotplug: Let upcoming cpu bring itself fully up
  arch/hotplug: Call into idle with a proper state
  cpu/hotplug: Move online calls to hotplugged cpu
  cpu/hotplug: Create hotplug threads
  cpu/hotplug: Split out the state walk into functions
  cpu/hotplug: Unpark smpboot threads from the state machine
  cpu/hotplug: Move scheduler cpu_online notifier to hotplug core
  cpu/hotplug: Implement setup/removal interface
  cpu/hotplug: Make target state writeable
  cpu/hotplug: Add sysfs state interface
  cpu/hotplug: Hand in target state to _cpu_up/down
  cpu/hotplug: Convert the hotplugged cpu work to a state machine
  cpu/hotplug: Convert to a state machine for the control processor
  cpu/hotplug: Add tracepoints
  ...
2016-03-15 13:50:29 -07:00
..
amba
bcma
byteorder
can
ceph ceph: initial CEPH_FEATURE_FS_FILE_LAYOUT_V2 support 2016-03-04 21:00:37 +01:00
clk ARM: SoC multiplatform code changes for v4.5 2016-01-20 18:03:56 -08:00
crush crush: add chooseleaf_stable tunable 2016-02-04 18:25:55 +01:00
decompress
dma
extcon
fpga
fsl
gpio gpio: generic: make bgpio_pdata always visible 2016-01-13 16:00:32 +01:00
hsi
i2c
iio
input
irqchip MIPS: Make smp CMP, CPS and MT use the new generic IPI functions 2016-02-25 10:56:58 +01:00
isdn
lockd lockd: constify nlmsvc_binding structure 2016-01-07 10:10:50 -05:00
mfd RTC for 4.5 2016-01-18 12:10:45 -08:00
mlx4 net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
mlx5 net/mlx5e: Fix ethtool RX hash func configuration change 2016-03-02 14:37:25 -05:00
mmc mmc: dw_mmc: remove the unused quirks 2016-01-05 18:04:58 +01:00
mtd mtd: nand: add helpers to access ->priv 2016-01-07 09:55:39 -08:00
netfilter netfilter: nfnetlink: pass down netns pointer to commit() and abort() callbacks 2015-12-28 18:43:15 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-01-24 12:50:56 -08:00
power power: bq27xxx_battery: Restore device name 2016-02-21 20:49:34 +01:00
qed
raid raid6/algos.c : bug fix : Add the missing definitions to the pq.h file 2016-01-21 14:47:08 -08:00
regulator Merge remote-tracking branches 'regulator/topic/pv88090', 'regulator/topic/qcom-smd', 'regulator/topic/tps6105x', 'regulator/topic/tps65086' and 'regulator/topic/tps65218' into regulator-next 2016-01-12 18:26:10 +00:00
reset
rtc
sched sched/debug: Make schedstats a runtime tunable that is disabled by default 2016-02-09 11:54:23 +01:00
soc soc: ti: knav_dma: rename pad in struct knav_dma_desc to sw_data 2016-02-21 22:03:15 -05:00
spi Merge remote-tracking branches 'spi/topic/overlay', 'spi/topic/pxa2xx', 'spi/topic/s3c64xx', 'spi/topic/sh-msiof' and 'spi/topic/spidev' into spi-next 2016-01-11 16:48:35 +00:00
ssb
sunrpc Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
ulpi
unaligned
usb USB patches for 4.5-rc1 2016-01-13 09:26:40 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_pmtmr.h
acpi.h Merge branches 'acpi-pci', 'acpi-irq' and 'acpi-assorted' 2016-01-12 01:10:19 +01:00
adb.h
adfs_fs.h
aer.h PCI/AER: include header file 2015-12-23 08:37:10 -07:00
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
apple_bl.h
arm-cci.h
arm-smccc.h ARM: 8478/2: arm/arm64: add arm-smccc 2016-01-04 16:19:57 +00:00
asn1_ber_bytecode.h
asn1_decoder.h
asn1.h
assoc_array_priv.h
assoc_array.h
async_tx.h
async.h
ata_platform.h
ata.h libata: fix HDIO_GET_32BIT ioctl 2016-02-11 10:07:18 -05:00
atalk.h
ath9k_platform.h
atm_suni.h
atm_tcp.h
atm.h
atmdev.h
atmel_pdc.h
atmel_serial.h
atmel_tc.h
atmel-mci.h mmc: atmel: get rid of struct mci_dma_data 2016-01-14 13:40:30 +01:00
atmel-ssc.h
atomic.h atomic: Export fetch_or() 2016-02-13 15:34:28 +01:00
attribute_container.h
audit.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2016-01-17 19:13:15 -08:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h block, badblocks: introduce devm_init_badblocks 2016-01-09 08:39:04 -08:00
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_wdt.h
bcm963xx_nvram.h MIPS: bcm963xx: Add Broadcom BCM963xx board nvram data structure 2016-01-24 03:47:37 +01:00
bcm963xx_tag.h MIPS: bcm963xx: Update bcm_tag field image_sequence 2016-01-24 03:49:03 +01:00
bfin_mac.h
binfmts.h
bio.h block: don't optimize for non-cloned bio in bio_get_last_bvec() 2016-03-12 14:12:10 -07:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h
blk-cgroup.h
blk-mq.h
blkdev.h block: fix blk_rq_get_max_sectors for driver private requests 2016-03-03 14:43:45 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpf.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
c2port.h
cache.h arch: Introduce post-init read-only memory 2016-02-22 08:51:38 +01:00
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup-defs.h cgroup: make sure a parent css isn't offlined before its children 2016-01-22 10:42:57 -05:00
cgroup.h Merge branch 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2016-01-12 19:20:32 -08:00
circ_buf.h
cleancache.h include/linux/cleancache.h: Clean up code 2016-01-27 09:10:29 -05:00
clk-provider.h Merge branch 'clk-rockchip' into clk-next 2015-12-23 13:08:56 -08:00
clk.h
clkdev.h
clock_cooling.h
clockchips.h clockevents: Rename last parameter of clocks_calc_mult_shift() to maxsec 2016-01-27 12:38:03 +01:00
clocksource.h clocksource: Introduce clocksource_freq2mult() 2016-02-27 08:55:30 +01:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h
compat.h
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h Merge commit 'fixes.2015.02.23a' into core/rcu 2016-03-15 09:01:06 +01:00
completion.h
component.h
concap.h
configfs.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2016-01-20 17:20:53 -08:00
connector.h
console_struct.h
console.h printk: do cond_resched() between lines while outputting to consoles 2016-01-16 11:17:25 -08:00
consolemap.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight.h
count_zeros.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h rcu: Make CPU_DYING_IDLE an explicit call 2016-03-01 20:36:58 +01:00
cpufeature.h
cpufreq-dt.h
cpufreq.h cpufreq: Simplify core code related to boost support 2016-01-01 03:49:51 +01:00
cpuhotplug.h cpu/hotplug: Make wait for dead cpu completion based 2016-03-01 20:36:58 +01:00
cpuidle.h
cpumask.h kernel/cpu.c: make set_cpu_* static inlines 2016-01-20 17:09:18 -08:00
cpuset.h cpuset: make mm migration asynchronous 2016-01-22 10:22:46 -05:00
cputime.h
crash_dump.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h dax: move writeback calls into the filesystems 2016-02-27 10:28:52 -08:00
dca.h
dcache.h use ->d_seq to get coherency between ->d_inode and ->d_flags 2016-02-29 12:16:43 -05:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h switch ->get_link() to delayed_call, kill ->put_link() 2015-12-30 13:01:03 -05:00
dell-led.h
devcoredump.h
devfreq_cooling.h
devfreq-event.h
devfreq.h PM / devfreq: Set the freq_table of devfreq device 2016-01-13 17:30:32 +09:00
device_cgroup.h
device-mapper.h
device.h device core: add device_is_bound() 2016-01-08 01:12:06 +01:00
devpts_fs.h pty: make sure super_block is still valid in final /dev/tty close 2016-02-06 23:45:46 -08:00
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-iommu.h
dma-mapping.h Merge branch 'mm-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-14 16:31:41 -07:00
dmaengine.h Merge branch 'topic/async' into for-linus 2016-01-06 15:17:47 +05:30
dmapool.h
dmar.h
dmi.h firmware: dmi_scan: Save SMBIOS Type 9 System Slots 2016-01-15 22:08:45 +01:00
dnotify.h
dns_resolver.h
dqblk_qtree.h quota: constify qtree_fmt_operations structures 2016-01-04 10:58:35 +01:00
dqblk_v1.h
dqblk_v2.h
drbd_genl_api.h
drbd_genl.h
drbd_limits.h
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
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 efi: Make efivarfs entries immutable by default 2016-02-10 16:25:52 +00:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h err.h: add (missing) unlikely() to IS_ERR_OR_NULL() 2016-01-16 11:17:24 -08:00
errno.h
errqueue.h
etherdevice.h net: Add eth_platform_get_mac_address() helper. 2016-01-06 16:31:56 -05:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h
file.h
filter.h bpf: cleanup bpf_prog_run_{save,clear}_cb helpers 2016-01-08 21:40:34 -05:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
freezer.h
frontswap.h
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h block: revert runtime dax control of the raw block device 2016-01-30 13:35:31 -08:00
fscache-cache.h
fscache.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h Revert "fsnotify: destroy marks with call_srcu instead of dedicated thread" 2016-02-18 16:23:24 -08:00
fsnotify.h
ftrace_irq.h
ftrace.h sched/debug: Fix preempt_disable_ip recording for preempt_disable() 2016-02-29 09:53:10 +01:00
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h block: kill disk_{check|set|clear|alloc}_badblocks 2016-01-09 22:42:31 -08:00
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm, hugetlb: don't require CMA for runtime gigantic pages 2016-02-05 18:10:40 -08:00
glob.h
goldfish.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
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: add a new helper to_hid_driver() 2015-12-28 13:41:50 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Revert CLOCK_MONOTONIC_RAW support 2016-03-03 11:11:12 +01:00
htcpld.h
htirq.h
huge_mm.h thp: change pmd_trans_huge_lock() interface to return ptl 2016-01-21 17:20:51 -08:00
hugetlb_cgroup.h
hugetlb_inline.h
hugetlb.h hugetlb: fix compile error on tile 2016-01-15 17:56:32 -08:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h i2c: create builtin_i2c_driver to avoid registration boilerplate 2016-01-13 11:06:03 +01:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h
in6.h
in.h
inet_diag.h
inet_lro.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h
init.h asm-generic: Consolidate mark_rodata_ro() 2016-02-22 08:51:37 +01:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_pmic_gpio.h
intel-iommu.h iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts 2016-02-15 12:42:38 +00:00
intel-svm.h
interrupt.h Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io.h lib/iomap_copy.c: add __ioread32_copy() 2016-01-20 17:09:18 -08:00
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h iommu: Update struct iommu_ops comments 2016-01-29 12:34:29 +01:00
iopoll.h
ioport.h resource: Kill walk_iomem_res() 2016-01-30 09:49:59 +01:00
ioprio.h
iova.h
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h
irq_cpustat.h
irq_poll.h
irq_work.h
irq.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 12:48:48 -07:00
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h genirq: Add a new generic IPI reservation code to irq core 2016-02-25 10:56:56 +01:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label_ratelimit.h
jump_label.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan.h kasan: add functions to clear stack poison 2016-03-09 15:43:42 -08:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kd.h
kdb.h
kdebug.h
kdev_t.h include/linux/kdev_t.h: remove new_valid_dev() 2016-01-16 11:17:23 -08:00
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h include/linux/kernel.h: change abs() macro so it uses consistent return type 2016-01-16 11:17:22 -08:00
kernelcapi.h
kernfs.h
kexec.h kexec: move some memembers and definitions within the scope of CONFIG_KEXEC_FILE 2016-01-20 17:09:18 -08:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h KVM: Use simple waitqueue for vcpu->wq 2016-02-25 11:27:16 +01:00
kvm_irqfd.h
kvm_para.h
kvm_types.h kvm: rename pfn_t to kvm_pfn_t 2016-01-15 17:56:32 -08:00
l2tp.h
lapb.h
latencytop.h sched/debug: Make schedstats a runtime tunable that is disabled by default 2016-02-09 11:54:23 +01:00
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h leds: core: add managed version of led_trigger_register 2016-01-04 09:57:40 +01:00
lglock.h
lguest_launcher.h
lguest.h
libata.h libata: Align ata_device's id on a cacheline 2016-02-25 16:37:06 -05:00
libfdt_env.h
libfdt.h
libnvdimm.h nfit: update address range scrub commands to the acpi 6.1 format 2016-02-23 17:17:20 -08:00
libps2.h
license.h
lightnvm.h lightnvm: allow to force mm initialization 2016-02-04 09:19:45 -07:00
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h mm: memcontrol: move kmem accounting code to CONFIG_MEMCG 2016-01-20 17:09:18 -08:00
list_nulls.h
list_sort.h
list.h list: kill list_force_poison() 2016-03-09 15:43:42 -08:00
livepatch.h
llc.h
llist.h
lockdep.h kernel/locking/lockdep.c: convert hash tables to hlists 2016-02-11 18:35:48 -08:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h security: Add hook to invalidate inode security labels 2015-12-24 11:09:40 -05:00
lz4.h lz4: fix wrong compress buffer size for 64-bits 2016-01-20 17:09:18 -08:00
lzo.h
m48t86.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
mdio-bitbang.h
mdio-mux.h
mdio.h mdio: Abstract device_remove() and device_free() 2016-01-07 14:31:27 -05:00
mei_cl_bus.h
memblock.h memblock: fix section mismatch 2016-01-15 17:56:32 -08:00
memcontrol.h mm: memcontrol: drop superfluous entry in the per-memcg stats array 2016-02-03 08:28:43 -08:00
memory_hotplug.h x86, mm: introduce vmem_altmap to augment vmemmap_populate() 2016-01-15 17:56:32 -08:00
memory.h
mempolicy.h mm/mempolicy.c: convert the shared_policy lock to a rwlock 2016-01-14 16:00:49 -08:00
mempool.h
memremap.h mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup 2016-01-15 17:56:32 -08:00
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate_mode.h
migrate.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h mm: move lru_to_page to mm_inline.h 2016-01-14 16:00:49 -08:00
mm_types.h Merge branch 'x86/urgent' into x86/asm, to pick up fixes 2016-02-18 09:28:03 +01:00
mm-arch-hooks.h
mm.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 09:32:27 -07:00
mman.h
mmdebug.h page-flags: introduce page flags policies wrt compound pages 2016-01-15 17:56:32 -08:00
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h thp: make split_queue per-node 2016-02-03 08:28:43 -08:00
mnt_namespace.h
mod_devicetable.h
module.h modules: fix longstanding /proc/kallsyms vs module insertion race. 2016-02-03 16:58:15 +10:30
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls_iptunnel.h
mpls.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
msi.h PCI changes for the v4.5 merge window: 2016-01-21 11:52:16 -08:00
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h nfsd: don't hold i_mutex over userspace upcalls 2016-01-09 03:07:52 -05:00
nd.h
net.h
netdev_features.h
netdevice.h net: make netdev_for_each_lower_dev safe for device removal 2016-02-19 15:29:26 -05:00
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h
netpoll.h
nfs3.h
nfs4.h NFS client updates for Linux 4.5 2016-01-14 16:08:23 -08:00
nfs_fs_i.h
nfs_fs_sb.h nfs: machine credential support for additional operations 2015-12-28 09:57:15 -05:00
nfs_fs.h nfs: fix nfs_size_to_loff_t 2016-02-08 15:20:01 -05:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h pnfs/blocklayout: fix a memeory leak when using,vmalloc_to_page 2016-02-17 11:44:45 -05:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h rcu: Make CPU_DYING_IDLE an explicit call 2016-03-01 20:36:58 +01:00
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme.h
nvmem-consumer.h
nvmem-provider.h
nvram.h
of_address.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h gpio: of: provide optional of_mm_gpiochip_add_data() function 2016-01-05 11:20:12 +01:00
of_graph.h
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h PCI: host: Add of_pci_get_host_bridge_resources() stub 2016-01-15 12:30:35 -06:00
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h of: drop symbols declared by _OF_DECLARE() from modules 2016-01-25 08:35:50 -06:00
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
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page-flags-layout.h
page-flags.h mm: rework mapcount accounting to enable 4k mapping of THPs 2016-01-15 17:56:32 -08:00
page-isolation.h
pageblock-flags.h
pagemap.h mm: add find_get_entries_tag() 2016-01-22 17:02:18 -08:00
pagevec.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h
pci_ids.h PCI: Add Netronome NFP4000 PF device ID 2016-01-15 17:29:37 -06:00
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" 2016-02-17 17:23:36 -06:00
pcieport_if.h
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
perf_event.h Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-14 19:44:38 -07:00
perf_regs.h
personality.h
pfn_t.h mm: fix pfn_t vs highmem 2016-02-11 18:35:48 -08:00
pfn.h mm: fix pfn_t vs highmem 2016-02-11 18:35:48 -08:00
phonet.h
phy_fixed.h
phy.h mdio: Add support for mdio drivers. 2016-01-07 14:31:27 -05:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h pipe: limit the per-user amount of pages allocated in pipes 2016-01-19 19:25:21 -05:00
pktcdvd.h
pl320-ipc.h
platform_device.h Power management and ACPI updates for v4.5-rc1 2016-01-12 20:25:09 -08:00
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: add setter for dev.pm_domain 2016-01-08 01:12:06 +01:00
pm_opp.h
pm_qos.h
pm_runtime.h
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h PM / sleep: Go direct_complete if driver has no callbacks 2016-01-08 01:12:06 +01:00
pmem.h pmem: add wb_cache_pmem() to the PMEM API 2016-01-22 17:02:18 -08:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h include/linux/poison.h: use POISON_POINTER_DELTA for poison pointers 2016-01-16 11:17:22 -08:00
poll.h
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h posix-cpu-timers: Migrate to use new tick dependency mask model 2016-03-02 16:44:27 +01:00
power_supply.h
powercap.h powercap: constify powercap_zone_ops and powercap_zone_constraint_ops structures 2016-01-02 00:29:35 +01:00
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h time: Remove duplicated code in ktime_get_raw_and_real() 2016-03-02 17:13:02 -08:00
pps-gpio.h
pr.h
preempt.h
prefetch.h
printk.h printk: help pr_debug and pr_devel to optimize out arguments 2016-01-16 11:17:29 -08:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h device property: add spaces to PROPERTY_ENTRY_STRING macro 2016-01-01 02:09:51 +01:00
proportions.h
psci.h
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h ptp: Add PTP_SYS_OFFSET_PRECISE for driver crosstimestamping 2016-03-03 14:23:43 -08:00
ptrace.h ptrace: use fsuid, fsgid, effective creds for fs access checks 2016-01-20 17:09:18 -08:00
pvclock_gtod.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h radix-tree: fix oops after radix_tree_iter_retry 2016-02-05 18:10:40 -08:00
raid_class.h
ramfs.h
random.h drivers: char: random: add get_random_long() 2016-02-27 10:28:52 -08:00
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h rbtree: use READ_ONCE in RB_EMPTY_ROOT 2016-01-20 17:09:18 -08:00
rcu_sync.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 13:50:29 -07:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h Merge remote-tracking branches 'regmap/topic/64bit' and 'regmap/topic/irq-type' into regmap-next 2016-01-05 19:07:17 +00:00
regset.h
relay.h
remoteproc.h
reservation.h
reset-controller.h
reset.h
resource_ext.h
resource.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h mm: replace vma_lock_anon_vma with anon_vma_lock_read/write 2016-02-05 18:10:40 -08:00
rndis.h
root_dev.h
rotary_encoder.h
rpmsg.h
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h net, sched: add clsact qdisc 2016-01-10 22:13:15 -05:00
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched_clock.h
sched.h Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-14 19:44:38 -07:00
scif.h
scpi_protocol.h
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h security: Add hook to invalidate inode security labels 2015-12-24 11:09:40 -05:00
selection.h
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h
seqno-fence.h
serial_8250.h
serial_bcm63xx.h
serial_core.h
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serial.h
serio.h
sfi_acpi.h
sfi.h
sh_clk.h
sh_dma.h
sh_eth.h sh_eth: remove EDMAC_BIG_ENDIAN 2016-01-04 16:11:11 -05:00
sh_intc.h
sh_timer.h
shdma-base.h
shm.h ipc/shm.c: is_file_shm_hugepages() can be boolean 2016-01-20 17:09:18 -08:00
shmem_fs.h make sure that freeing shmem fast symlinks is RCU-delayed 2016-01-22 18:08:52 -05:00
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h mld, igmp: Fix reserved tailroom calculation 2016-03-03 15:41:07 -05:00
slab_def.h mm: memcontrol: move kmem accounting code to CONFIG_MEMCG 2016-01-20 17:09:18 -08:00
slab.h mm: memcontrol: move kmem accounting code to CONFIG_MEMCG 2016-01-20 17:09:18 -08:00
slub_def.h mm: memcontrol: move kmem accounting code to CONFIG_MEMCG 2016-01-20 17:09:18 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
spmi.h
srcu.h rcu: Document unique-name limitation for DEFINE_STATIC_SRCU() 2016-02-23 19:59:55 -08:00
ssbi.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h
stmmac.h stmmac: Fix 'eth0: No PHY found' regression 2016-03-03 15:02:05 -05:00
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h Merge branch 'sched/urgent' into sched/core, to pick up fixes before merging new patches 2016-01-06 11:02:29 +01:00
string_helpers.h
string.h new helper: memdup_user_nul() 2016-01-04 10:20:19 -05:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h wait.[ch]: Introduce the simple waitqueue (swait) implementation 2016-02-25 11:27:16 +01:00
swap_cgroup.h
swap.h mm: free swap cache aggressively if memcg swap is full 2016-01-20 17:09:18 -08:00
swapfile.h
swapops.h
swiotlb.h swiotlb: Make linux/swiotlb.h standalone includible 2016-01-20 17:29:52 -05:00
sxgbe_platform.h
synclink.h
sys_soc.h
sys.h
syscalls.h
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting_ops.h
task_io_accounting.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
textsearch_fsm.h
textsearch.h
tfrc.h
thermal.h Thermal: do thermal zone update after a cooling device registered 2015-12-29 16:00:00 +08:00
thinkpad_acpi.h
thread_info.h kmemcg: account certain kmem allocations to memcg 2016-01-14 16:00:49 -08:00
threads.h
ti_wilink_st.h
tick.h posix-cpu-timers: Migrate to use new tick dependency mask model 2016-03-02 16:44:27 +01:00
tifm.h
timb_dma.h
timb_gpio.h
time64.h
time.h
timecounter.h
timekeeper_internal.h time: Add history to cross timestamp interface supporting slower devices 2016-03-02 17:13:17 -08:00
timekeeping.h time: Add history to cross timestamp interface supporting slower devices 2016-03-02 17:13:17 -08:00
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h numa: remove stale node_has_online_mem() define 2016-01-18 14:49:33 -05:00
torture.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_events.h tracing: Do not have 'comm' filter override event 'comm' field 2016-03-04 09:57:10 -05:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h tracing: Fix check for cpu online when event is disabled 2016-03-09 11:58:41 -05:00
transport_class.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h tty: Wait interruptibly for tty lock on reopen 2016-01-26 23:17:54 -08:00
typecheck.h
types.h
u64_stats_sync.h
uaccess.h
ucb1400.h
ucs2_string.h lib/ucs2_string: Add ucs2 -> utf8 helper functions 2016-02-10 13:19:03 +00:00
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h
uwb.h
verify_pefile.h
vermagic.h
vexpress.h
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
via_i2c.h
via-core.h
via-gpio.h
via.h
videodev2.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h virtio: make find_vqs() checkpatch.pl-friendly 2016-01-12 20:47:06 +02:00
virtio_console.h
virtio_mmio.h
virtio_ring.h virtio_ring: use virt_store_mb 2016-01-12 20:47:02 +02:00
virtio.h
vlynq.h
vm_event_item.h mm: support madvise(MADV_FREE) 2016-01-15 17:56:32 -08:00
vm_sockets.h
vmacache.h
vmalloc.h mm, vmalloc: remove VM_VPAGES 2016-01-14 16:00:49 -08:00
vme.h
vmpressure.h mm: memcontrol: hook up vmpressure to socket pressure 2016-01-14 16:00:49 -08:00
vmstat.h vmstat: make vmstat_updater deferrable again and shut down on idle 2016-01-14 16:00:49 -08:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt_buffer.h
vt_kern.h
vt.h
vtime.h
w1-gpio.h
wait.h sched/wait: Fix wait_event_freezable() documentation 2016-02-24 09:09:45 +01:00
wanrouter.h
watchdog.h watchdog: Drop pointer to watchdog device from struct watchdog_device 2016-01-11 21:53:59 +01:00
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h workqueue: skip flush dependency checks for legacy workqueues 2016-01-29 13:31:10 -05:00
writeback.h writeback: flush inode cgroup wb switches instead of pinning super_block 2016-03-03 14:42:50 -07:00
ww_mutex.h
xattr.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zutil.h