linux/include/linux
Tahsin Erdogan 72ef799b3f block: do not merge requests without consulting with io scheduler
Before merging a bio into an existing request, io scheduler is called to
get its approval first. However, the requests that come from a plug
flush may get merged by block layer without consulting with io
scheduler.

In case of CFQ, this can cause fairness problems. For instance, if a
request gets merged into a low weight cgroup's request, high weight cgroup
now will depend on low weight cgroup to get scheduled. If high weigt cgroup
needs that io request to complete before submitting more requests, then it
will also lose its timeslice.

Following script demonstrates the problem. Group g1 has a low weight, g2
and g3 have equal high weights but g2's requests are adjacent to g1's
requests so they are subject to merging. Due to these merges, g2 gets
poor disk time allocation.

cat > cfq-merge-repro.sh << "EOF"
#!/bin/bash
set -e

IO_ROOT=/mnt-cgroup/io

mkdir -p $IO_ROOT

if ! mount | grep -qw $IO_ROOT; then
  mount -t cgroup none -oblkio $IO_ROOT
fi

cd $IO_ROOT

for i in g1 g2 g3; do
  if [ -d $i ]; then
    rmdir $i
  fi
done

mkdir g1 && echo 10 > g1/blkio.weight
mkdir g2 && echo 495 > g2/blkio.weight
mkdir g3 && echo 495 > g3/blkio.weight

RUNTIME=10

(echo $BASHPID > g1/cgroup.procs &&
 fio --readonly --name name1 --filename /dev/sdb \
     --rw read --size 64k --bs 64k --time_based \
     --runtime=$RUNTIME --offset=0k &> /dev/null)&

(echo $BASHPID > g2/cgroup.procs &&
 fio --readonly --name name1 --filename /dev/sdb \
     --rw read --size 64k --bs 64k --time_based \
     --runtime=$RUNTIME --offset=64k &> /dev/null)&

(echo $BASHPID > g3/cgroup.procs &&
 fio --readonly --name name1 --filename /dev/sdb \
     --rw read --size 64k --bs 64k --time_based \
     --runtime=$RUNTIME --offset=256k &> /dev/null)&

sleep $((RUNTIME+1))

for i in g1 g2 g3; do
  echo ---- $i ----
  cat $i/blkio.time
done

EOF
# ./cfq-merge-repro.sh
---- g1 ----
8:16 162
---- g2 ----
8:16 165
---- g3 ----
8:16 686

After applying the patch:

# ./cfq-merge-repro.sh
---- g1 ----
8:16 90
---- g2 ----
8:16 445
---- g3 ----
8:16 471

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 21:35:12 -06:00
..
amba
bcma MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
byteorder
can can: fix handling of unmodifiable configuration options 2016-05-09 11:07:28 +02:00
ceph libceph: change ceph_osdmap_flag() to take osdc 2016-05-30 23:00:22 +02:00
clk phy: tegra: Changes for v4.7-rc1 2016-05-09 16:18:37 +02:00
crush
decompress
dma Merge branch 'topic/xilinx' into for-linus 2016-05-17 10:15:34 +05:30
extcon
fpga
fsl
gpio
hsi
i2c
iio iio:ak8975: add mounting matrix support 2016-04-23 22:14:34 +01:00
input
irqchip irqchip/gic-v3: Fix copy+paste mistakes in defines 2016-06-02 17:59:44 +01:00
isdn
lockd
mfd platform/chrome: Driver and binding changes for 4.7 2016-05-28 12:32:01 -07:00
mlx4 net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
mlx5 Primary 4.7 merge window changes 2016-05-20 14:35:07 -07:00
mmc MMC core: 2016-05-26 09:36:10 -07:00
mtd mtd: spi-nor: support GigaDevice gd25lq64c 2016-05-10 15:44:18 -07:00
netfilter netfilter: fix IS_ERR_VALUE usage 2016-04-29 11:02:33 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64/perf: Filter common events based on PMCEIDn_EL0 2016-04-25 14:11:10 +01:00
phy phy: Add Tegra XUSB pad controller support 2016-04-29 16:44:47 +02:00
pinctrl pinctrl: Add devm_ apis for pinctrl_{register, unregister} 2016-04-21 00:01:21 +02:00
platform_data misc: at24: Fix typo in at24 header file 2016-05-26 20:52:15 +02:00
power
qed qed: add support for dcbx. 2016-05-17 12:29:34 -04:00
raid
regulator regulator: Silence build warnings from regulator_can_change_voltage() 2016-05-17 18:06:18 +01:00
reset
rtc
sched
soc ARM: SoC driver updates for v4.7 2016-05-18 13:14:02 -07:00
spi spi: core: add hook flash_read_supported to spi_master 2016-04-25 18:51:31 +01:00
ssb
sunrpc Merge branch 'hash' of git://ftp.sciencehorizons.net/linux 2016-05-28 16:15:25 -07:00
ulpi
unaligned
usb Hi Greg, below are changes for chipidea and OTG FSM, no major changes. 2016-05-04 10:25:58 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi_dma.h
acpi_pmtmr.h
acpi.h Merge branches 'acpi-pci', 'acpi-misc' and 'acpi-tools' 2016-05-16 16:45:48 +02:00
adb.h
adfs_fs.h
aer.h
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
apple-gmux.h
arm-cci.h
arm-smccc.h
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 Merge branch 'for-4.7-zac' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2016-05-23 17:53:39 -07: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
atmel-ssc.h
atomic.h locking/atomics: Flip atomic_fetch_or() arguments 2016-05-05 09:58:52 +02:00
attribute_container.h
audit.h Merge branch 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit 2016-05-18 18:46:55 -07:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h video / backlight: remove the backlight_device_registered API 2016-05-04 23:41:14 +02:00
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h MIPS: BCM47xx: Move SPROM driver to drivers/firmware/ 2016-05-13 14:01:43 +02:00
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h
bio.h block: bio: kill BIO_MAX_SIZE 2016-06-09 21:33:46 -06:00
bit_spinlock.h
bitmap.h
bitops.h md: set MD_CHANGE_PENDING in a atomic region 2016-05-09 09:24:02 -07:00
bitrev.h
blk_types.h block: move two bvec structure into bvec.h 2016-06-09 10:02:47 -06:00
blk-cgroup.h blkg_rwstat: separate op from flags 2016-06-07 13:41:38 -06:00
blk-mq.h
blkdev.h block: add QUEUE_FLAG_DAX for devices to advertise their DAX support 2016-07-20 21:01:01 -06:00
blkpg.h
blktrace_api.h blktrace: use op accessors 2016-06-07 13:41:38 -06:00
blockgroup_lock.h
bma150.h
bootmem.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
bottom_half.h
bpf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-04 00:52:29 -04:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h fs: have ll_rw_block users pass in op and flags separately 2016-06-07 13:41:38 -06:00
bug.h
bvec.h block: mark 1st parameter of bvec_iter_advance as const 2016-06-09 10:02:47 -06:00
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h crypto: ccp - Register the CCP as a DMA resource 2016-04-20 17:50:06 +08:00
cdev.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup-defs.h cgroup, cpuset: replace cpuset_post_attach_flush() with cgroup_subsys->post_attach callback 2016-04-25 15:45:14 -04:00
cgroup.h
circ_buf.h
cleancache.h
clk-provider.h Merge branch 'clk-hw-register' (early part) into clk-next 2016-04-21 14:47:18 -07:00
clk.h
clkdev.h clkdev: Add clk_hw based registration APIs 2016-04-19 16:54:26 -07:00
clock_cooling.h
clockchips.h
clocksource.h clocksource: Add missing include of of.h. 2016-04-22 11:38:56 -07:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda_psdev.h
coda.h
compaction.h mm, oom, compaction: prevent from should_compact_retry looping for ever for costly orders 2016-05-20 17:58:30 -07:00
compat.h
compiler-clang.h
compiler-gcc.h compiler.h: add support for malloc attribute 2016-05-19 19:12:14 -07:00
compiler-intel.h
compiler.h compiler.h: add support for malloc attribute 2016-05-19 19:12:14 -07:00
completion.h
component.h
concap.h
configfs.h
connector.h
console_struct.h
console.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
consolemap.h
container.h
context_tracking_state.h
context_tracking.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h coresight: stm: adding driver for CoreSight STM component 2016-05-03 14:59:30 -07:00
coresight.h
count_zeros.h
cper.h
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpu.h sched/hotplug: Move migration CPU_DYING to sched_cpu_dying() 2016-05-06 14:58:25 +02:00
cpufeature.h
cpufreq.h
cpuhotplug.h sched/hotplug: Make activate() the last hotplug step 2016-05-06 14:58:25 +02:00
cpuidle.h
cpumask.h sched: Allow per-cpu kernel threads to run on online && !active 2016-05-06 14:58:22 +02:00
cpuset.h cpuset: use static key better and convert to new API 2016-05-19 19:12:14 -07:00
cputime.h
crash_dump.h crash_dump: Add vmcore_elf32_check_arch 2016-05-13 14:01:59 +02:00
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h crypto: doc - document correct return value for request allocation 2016-04-15 22:35:44 +08:00
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h Filesystem DAX locking for 4.7 2016-05-26 20:00:28 -07:00
dca.h
dcache.h Merge branch 'hash' of git://ftp.sciencehorizons.net/linux 2016-05-28 16:15:25 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h debugobjects: insulate non-fixup logic related to static obj from fixup callbacks 2016-05-19 19:12:14 -07:00
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h devcoredump: add scatterlist support 2016-04-15 11:20:32 -07:00
devfreq_cooling.h
devfreq-event.h
devfreq.h PM / devfreq: Add new passive governor 2016-05-03 11:20:07 +09:00
device_cgroup.h
device-mapper.h
device.h driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
devpts_fs.h devpts: Make each mount of devpts an independent filesystem. 2016-06-05 10:36:01 -07:00
digsig.h
dio.h
dirent.h
dlm_plock.h
dlm.h
dm9000.h
dm-dirty-log.h
dm-io.h dm: use bio op accessors 2016-06-07 13:41:38 -06:00
dm-kcopyd.h
dm-region-hash.h
dma_remapping.h
dma-attrs.h
dma-buf.h dma-buf: headerdoc fixes 2016-05-31 22:12:43 +05:30
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-iommu.h iommu/dma: Finish optimising higher-order allocations 2016-05-09 15:33:29 +02:00
dma-mapping.h iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
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 include/linux/efi.h: redefine type, constant, macro from generic code 2016-05-20 17:58:30 -07:00
efs_vh.h
eisa.h
elevator.h block: do not merge requests without consulting with io scheduler 2016-07-20 21:35:12 -06:00
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h make IS_ERR_VALUE() complain about non-pointer-sized arguments 2016-05-27 16:03:22 -07:00
errno.h pnfs: rework LAYOUTGET retry handling 2016-05-17 15:48:12 -04:00
errqueue.h
etherdevice.h
ethtool.h net: ethtool: export conversion function between u32 and link mode 2016-04-18 14:45:08 -04:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h f2fs: fix to convert inline directory correctly 2016-04-15 08:49:47 -07:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbdev: fb_defio: Export fb_deferred_io_mmap 2016-05-02 16:24:49 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h fence: add missing descriptions for fence 2016-05-31 22:17:05 +05:30
file.h give readdir(2)/getdents(2)/etc. uniform exclusion with lseek() 2016-05-02 19:49:28 -04:00
filter.h bpf: add generic constant blinding for use in jits 2016-05-16 13:49:32 -04: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
frame.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, drivers, fs: rename REQ_FLUSH to REQ_PREFLUSH 2016-06-07 13:41:38 -06:00
fscache-cache.h FS-Cache: make check_consistency callback return int 2016-06-01 10:29:39 +02:00
fscache.h
fscrypto.h fscrypto/f2fs: allow fs-specific key prefix for fs encryption 2016-05-07 10:32:33 -07:00
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h mtd/ifc: Add support for IFC controller version 2.0 2016-04-19 22:04:53 +02:00
fsl-diu-fb.h
fsldma.h
fsnotify_backend.h fsnotify: avoid spurious EMFILE errors from inotify_init() 2016-05-19 19:12:14 -07:00
fsnotify.h
ftrace_irq.h
ftrace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching 2016-05-17 17:11:27 -07:00
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h include/linux/genhd.h: move to use generic UUID library 2016-05-20 17:58:30 -07:00
genl_magic_func.h
genl_magic_struct.h block/drbd: align properly u64 in nl messages 2016-05-10 15:43:09 -04:00
getcpu.h
gfp.h
glob.h
goldfish.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-pxa.h
gpio.h
hardirq.h printk/nmi: generic solution for safe printk in NMI 2016-05-20 17:58:30 -07:00
hash.h <linux/hash.h>: Add support for architecture-specific functions 2016-05-28 15:48:31 -04:00
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h huge mm: move_huge_pmd does not need new_vma 2016-05-19 19:12:14 -07:00
hugetlb_cgroup.h include/linux/hugetlb*.h: clean up code 2016-05-20 17:58:30 -07:00
hugetlb_inline.h mm/hugetlb: is_vm_hugetlb_page() can return bool 2016-05-19 19:12:14 -07:00
hugetlb.h include/linux/hugetlb.h: use bool instead of int for hugepage_migration_supported() 2016-05-20 17:58:30 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h drivers:hv: Make a function to free mmio regions through vmbus 2016-04-30 14:01:37 -07: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-pinctrl.h
i2c-mux.h i2c: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02:00
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: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02: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 vxlan: Add checksum check to the features check function 2016-05-03 16:00:54 -04:00
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 ima: add support for creating files using the mknodat syscall 2016-05-01 09:23:52 -04:00
in6.h
in.h
inet_diag.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h
init.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel_pmic_gpio.h
intel-iommu.h
intel-svm.h
interrupt.h
interval_tree_generic.h
interval_tree.h
io-64-nonatomic-hi-lo.h io-64-nonatomic: Add relaxed accessor variants 2016-05-03 18:23:02 +01:00
io-64-nonatomic-lo-hi.h io-64-nonatomic: Add relaxed accessor variants 2016-05-03 18:23:02 +01:00
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h Merge branches 'arm/io-pgtable', 'arm/rockchip', 'arm/omap', 'x86/vt-d', 'ppc/pamu', 'core' and 'x86/amd' into next 2016-05-09 19:39:17 +02:00
iopoll.h
ioport.h PCI: Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs 2016-05-16 15:12:02 -05:00
ioprio.h
iova.h iommu/iova: introduce per-cpu caching to iova allocation 2016-04-20 15:42:24 -04:00
ip.h
ipack.h
ipc_namespace.h
ipc.h
ipmi_smi.h
ipmi-fru.h
ipmi.h
ipv6_route.h
ipv6.h net: l3mdev: Add hook in ip and ipv6 2016-05-11 19:31:40 -04:00
irq_cpustat.h
irq_poll.h
irq_work.h
irq.h genirq: Allow the affinity of a percpu interrupt to be set/retrieved 2016-05-02 13:42:51 +02:00
irqbypass.h irqbypass: Disallow NULL token 2016-05-11 22:37:54 +02:00
irqchip.h
irqdesc.h genirq: Allow the affinity of a percpu interrupt to be set/retrieved 2016-05-02 13:42:51 +02:00
irqdomain.h irqdomain: Allow domain matching on irq_fwspec 2016-05-02 13:42:50 +02:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h isa: Implement the max_num_isa_dev macro 2016-05-02 09:32:04 -07:00
isapnp.h
iscsi_boot_sysfs.h ibft: Expose iBFT acpi header via sysfs 2016-05-16 11:14:29 -04:00
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
jbd2.h jbd2: remove excess descriptions for handle_s 2016-05-05 22:35:54 -04:00
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-checks.h mm/kasan: add API to check memory regions 2016-05-20 17:58:30 -07:00
kasan.h mm: kasan: initial memory quarantine implementation 2016-05-20 17:58:30 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel_stat.h
kernel-page-flags.h
kernel.h Staging and IIO driver update for 4.7-rc1 2016-05-20 22:20:48 -07:00
kernelcapi.h
kernfs.h driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
kexec.h s390/kexec: consolidate crash_map/unmap_reserved_pages() and arch_kexec_protect(unprotect)_crashkres() 2016-05-23 17:04:14 -07: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: Create debugfs dir and stat files for each VM 2016-05-25 16:12:05 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
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: gpio: Support the "panic-indicator" firmware property 2016-05-06 10:26:07 +02:00
lglock.h
lguest_launcher.h
lguest.h
libata.h libata: support host-aware and host-managed ZAC devices 2016-05-09 12:36:46 -04:00
libfdt_env.h
libfdt.h
libnvdimm.h nfit, libnvdimm: clarify "commands" vs "_DSMs" 2016-04-28 16:23:16 -07:00
libps2.h
license.h
lightnvm.h lightnvm: reserved space calculation incorrect 2016-05-06 12:51:10 -06:00
linkage.h
linux_logo.h
lis3lv02d.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
list.h
livepatch.h Merge branches 'for-4.7/core', 'for-4.7/livepatching-doc' and 'for-4.7/livepatching-ppc64' into for-linus 2016-05-17 12:06:35 +02:00
llc.h
llist.h
lockdep.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-16 14:47:16 -07:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2016-05-19 09:21:36 -07:00
lz4.h
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 mcb: export bus information via sysfs 2016-05-03 15:07:35 -07:00
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h mm: vmscan: reduce size of inactive file list 2016-05-20 17:58:30 -07:00
memory_hotplug.h mm: fix section mismatch warning 2016-05-27 15:23:32 -07:00
memory.h
mempolicy.h tmpfs: preliminary minor tidyups 2016-05-19 19:12:14 -07:00
mempool.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
memremap.h
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: update_lru_size do the __mod_zone_page_state 2016-05-19 19:12:14 -07:00
mm_types.h mm: oom_reaper: remove some bloat 2016-05-26 15:35:44 -07:00
mm-arch-hooks.h
mm.h mm: remove more IS_ERR_VALUE abuses 2016-05-27 15:57:31 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h sched/core: Add switch_mm_irqs_off() and use it in the scheduler 2016-04-28 11:44:19 +02:00
mmu_notifier.h
mmzone.h mm fix commmets: if SPARSEMEM, pgdata doesn't have page_ext 2016-05-20 17:58:30 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
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
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h devpts: Make each mount of devpts an independent filesystem. 2016-06-05 10:36:01 -07:00
nd.h libnvdimm, pmem, pfn: make pmem_rw_bytes generic and refactor pfn setup 2016-04-22 12:26:23 -07:00
net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-04 00:52:29 -04:00
netdev_features.h net: define gso types for IPx over IPv4 and IPv6 2016-05-20 18:03:15 -04:00
netdevice.h net: define gso types for IPx over IPv4 and IPv6 2016-05-20 18:03:15 -04: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 pnfs: rework LAYOUTGET retry handling 2016-05-17 15:48:12 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Add COPY nfs operation 2016-05-17 15:47:55 -04:00
nfs_fs.h Merge branch 'work.preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-17 15:05:23 -07:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFS client updates for Linux 4.7 2016-05-26 10:33:33 -07:00
nfs.h
nfsacl.h
nilfs2_fs.h nilfs2: fix block comments 2016-05-23 17:04:14 -07:00
nl802154.h ieee802154: use nla_put_u64_64bit() 2016-04-25 15:09:11 -04:00
nls.h
nmi.h
node.h
nodemask.h include/linux/nodemask.h: create next_node_in() helper 2016-05-19 19:12:14 -07:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb_transport.h
ntb.h
nubus.h
numa.h
nvme.h NVMe: correct comment for offset enum of controller registers in nvme.h 2016-05-02 09:13:35 -06:00
nvmem-consumer.h
nvmem-provider.h nvmem: core: remove regmap dependency 2016-05-01 14:01:00 -07:00
nvram.h
of_address.h PCI, of: Move PCI I/O space management to PCI core code 2016-05-12 07:07:42 -05:00
of_device.h
of_dma.h
of_fdt.h drivers/of: Return allocated memory from of_fdt_unflatten_tree() 2016-05-16 07:22:35 -05:00
of_gpio.h
of_graph.h of: include errno.h in of_graph.h 2016-05-02 09:00:56 -05:00
of_iommu.h iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
of.h Devicetree for 4.7: 2016-05-20 14:51:34 -07:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h memory: omap-gpmc: Implement IRQ domain for NAND IRQs 2016-04-15 11:52:28 +03:00
omap-iommu.h
omap-mailbox.h mailbox/omap: kill omap_mbox_{save/restore}_ctx() functions 2016-04-26 10:19:38 +05:30
omapfb.h
once.h
oom.h signal: make oom_flags a bool 2016-05-23 17:04:14 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h kernel/padata.c: removed unused code 2016-05-19 19:12:14 -07:00
page_counter.h
page_ext.h
page_idle.h mm: check the return value of lookup_page_ext for all call sites 2016-06-03 15:06:22 -07:00
page_owner.h
page_ref.h mm: rename _count, field of the struct page, to _refcount 2016-05-19 19:12:14 -07:00
page-flags-layout.h
page-flags.h mm: use unsigned long constant for page flags 2016-05-20 17:58:30 -07:00
page-isolation.h
pageblock-flags.h
pagemap.h mm: tighten fault_in_pages_writeable() 2016-05-20 17:58:30 -07: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-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci.h PCI changes for the v4.7 merge window: 2016-05-19 13:10:54 -07:00
pcieport_if.h PCI: Add Downstream Port Containment portdrv service type 2016-05-03 10:35:49 -05:00
pda_power.h
pe.h
percpu_counter.h
percpu_ida.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h printk/nmi: generic solution for safe printk in NMI 2016-05-20 17:58:30 -07:00
perf_event.h Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-25 17:05:40 -07:00
perf_regs.h
personality.h
pfn_t.h
pfn.h
phonet.h
phy_fixed.h
phy.h net: phy: add phy_ethtool_{get|set}_link_ksettings 2016-05-10 15:06:19 -04:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Remove ->save|restore_state() callbacks 2016-04-22 02:29:17 +02:00
pm_opp.h PM / OPP: add non-OF versions of dev_pm_opp_{cpumask_, }remove_table 2016-05-05 01:38:44 +02:00
pm_qos.h
pm_runtime.h PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
pm_wakeirq.h
pm_wakeup.h
pm-trace.h
pm.h PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
pmem.h
pmu.h
pnfs_osd_xdr.h
pnp.h x86, drivers/pnpbios: Replace paravirt_enabled() check with legacy device check 2016-04-22 10:29:05 +02:00
poison.h
poll.h fs: poll/select/recvmmsg: use timespec64 for timeout events 2016-05-19 19:12:14 -07:00
posix_acl_xattr.h
posix_acl.h
posix-clock.h
posix-timers.h
power_supply.h
powercap.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h
pr.h
preempt.h
prefetch.h
printk.h printk/nmi: flush NMI messages on the system panic 2016-05-20 17:58:30 -07:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
psci.h drivers: firmware: psci: make two helper functions static 2016-04-25 23:47:44 +02:00
pstore_ram.h
pstore.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm_backlight.h
pwm.h pwm: Add core infrastructure to allow atomic updates 2016-05-17 14:48:03 +02:00
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h radix-tree: free up the bottom bit of exceptional entries for reuse 2016-05-20 17:58:30 -07:00
raid_class.h
ramfs.h
random.h lib/uuid.c: move generate_random_uuid() to uuid.c 2016-05-20 17:58:30 -07:00
range.h
ras.h
ratelimit.h
rational.h
rbtree_augmented.h
rbtree_latch.h
rbtree.h
rcu_sync.h
rculist_bl.h
rculist_nulls.h soreuseport: fix ordering for mixed v4/v6 sockets 2016-04-14 21:14:03 -04:00
rculist.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-04-23 18:51:33 -04:00
rcupdate.h
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h remoteproc: Add additional crash reasons 2016-05-12 15:50:19 -07:00
reservation.h reservation: add headerdoc comments 2016-05-31 22:12:43 +05:30
reset-controller.h
reset.h
resource_ext.h
resource.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
rmi.h
rndis.h
root_dev.h
rpmsg.h rpmsg: add helper macro module_rpmsg_driver 2016-05-06 11:09:00 -07:00
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h add down_write_killable_nested() 2016-05-26 00:04:58 -04:00
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h lib: scatterlist: move SG pool code from SCSI driver to lib/sg_pool.c 2016-04-15 16:53:14 -04:00
scc.h
sched_clock.h
sched.h mm: oom_reaper: remove some bloat 2016-05-26 15:35:44 -07:00
scif.h
scpi_protocol.h
screen_info.h
sctp.h sctp: sctp_diag should dump sctp socket type 2016-05-31 11:59:06 -07:00
scx200_gpio.h
scx200.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'work.const-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-17 14:41:03 -07:00
selection.h tty: vt, use proper type for default colors 2016-04-30 09:26:55 -07:00
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file_net.h
seq_file.h
seqlock.h seqlock: fix raw_read_seqcount_latch() 2016-05-26 15:35:44 -07:00
seqno-fence.h
serial_8250.h serial: 8250: export get_mctrl function 2016-04-30 09:26:55 -07:00
serial_bcm63xx.h
serial_core.h serial: 8250: export get_mctrl function 2016-04-30 09:26:55 -07:00
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_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h signal: move the "sig < SIGRTMIN" check into siginmask(sig) 2016-05-23 17:04:14 -07:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h net: suppress warnings on dev_alloc_skb 2016-05-20 19:58:32 -04:00
slab_def.h mm: SLAB freelist randomization 2016-05-19 19:12:14 -07:00
slab.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
slub_def.h mm: slub: remove unused virt_to_obj() 2016-05-26 15:35:44 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: Add Qualcomm IPC router 2016-05-08 23:46:14 -04:00
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
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: Support devices that override software assigned masters 2016-05-03 14:59:30 -07:00
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string_helpers.h string_helpers: add kstrdup_quotable_file 2016-04-21 10:47:26 +10:00
string.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
stringhash.h fs/namei.c: Add hashlen_string() function 2016-05-28 15:42:50 -04: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
swap_cgroup.h
swap.h mm, oom: rework oom detection 2016-05-20 17:58:30 -07:00
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
sync_file.h dma-buf/sync_file: de-stage sync_file headers 2016-04-29 17:37:10 -07:00
synclink.h
sys_soc.h
sys.h
syscalls.h include/linux/syscalls.h: use pid_t instead of int 2016-05-20 17:58:30 -07:00
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: of-thermal: allow setting trip_temp on hardware 2016-05-17 07:28:28 -07:00
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time64.h time: remove timespec_add_safe() 2016-05-19 19:12:14 -07:00
time.h
timecounter.h
timekeeper_internal.h
timekeeping.h time: Make settimeofday error checking work again 2016-06-01 21:13:43 +02:00
timer.h timer: add setup_deferrable_timer macro 2016-05-06 10:42:29 +02:00
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm_command.h
tpm.h
trace_clock.h
trace_events.h This includes two new updates for the ftrace infrastructure. 2016-05-18 18:55:19 -07:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty_driver.h devpts: more pty driver interface cleanups 2016-04-26 15:47:32 -07:00
tty_flip.h
tty_ldisc.h
tty.h TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
typecheck.h
types.h signal: make oom_flags a bool 2016-05-23 17:04:14 -07:00
u64_stats_sync.h tcp: fix lockdep splat in tcp_snd_una_update() 2016-05-04 16:55:11 -04:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio_driver.h
uio.h
uprobes.h
usb_usual.h
usb.h USB: leave LPM alone if possible when binding/unbinding interface drivers 2016-05-03 14:32:07 -07:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h lib/uuid.c: remove FSF address 2016-05-20 17:58:30 -07:00
uwb.h
verification.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_console.h
virtio_mmio.h
virtio_ring.h
virtio.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
vme.h
vmpressure.h
vmstat.h mm, page_alloc: inline zone_statistics 2016-05-19 19:12:14 -07: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
wanrouter.h
watchdog.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h switch ->setxattr() to passing dentry and inode separately 2016-05-27 20:09:16 -04:00
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h zsmalloc: require GFP in zs_malloc() 2016-05-20 17:58:30 -07:00
zutil.h