Tejun Heo
07c2bd3735
block: don't call elevator callbacks for plug merges
...
Plug merge calls two elevator callbacks outside queue lock -
elevator_allow_merge_fn() and elevator_bio_merged_fn(). Although
attempt_plug_merge() suggests that elevator is guaranteed to be there
through the existing request on the plug list, nothing prevents plug
merge from calling into dying or initializing elevator.
For regular merges, bypass ensures elvpriv count to reach zero, which
in turn prevents merges as all !ELVPRIV requests get REQ_SOFTBARRIER
from forced back insertion. Plug merge doesn't check ELVPRIV, and, as
the requests haven't gone through elevator insertion yet, it doesn't
have SOFTBARRIER set allowing merges on a bypassed queue.
This, for example, leads to the following crash during elevator
switch.
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
IP: [<ffffffff813b34e9>] cfq_allow_merge+0x49/0xa0
PGD 112cbc067 PUD 115d5c067 PMD 0
Oops: 0000 [#1 ] PREEMPT SMP
CPU 1
Modules linked in: deadline_iosched
Pid: 819, comm: dd Not tainted 3.3.0-rc2-work+ #76 Bochs Bochs
RIP: 0010:[<ffffffff813b34e9>] [<ffffffff813b34e9>] cfq_allow_merge+0x49/0xa0
RSP: 0018:ffff8801143a38f8 EFLAGS: 00010297
RAX: 0000000000000000 RBX: ffff88011817ce28 RCX: ffff880116eb6cc0
RDX: 0000000000000000 RSI: ffff880118056e20 RDI: ffff8801199512f8
RBP: ffff8801143a3908 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff880118195708
R13: ffff880118052aa0 R14: ffff8801143a3d50 R15: ffff880118195708
FS: 00007f19f82cb700(0000) GS:ffff88011fc80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000008 CR3: 0000000112c6a000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process dd (pid: 819, threadinfo ffff8801143a2000, task ffff880116eb6cc0)
Stack:
ffff88011817ce28 ffff880118195708 ffff8801143a3928 ffffffff81391bba
ffff88011817ce28 ffff880118195708 ffff8801143a3948 ffffffff81391bf1
ffff88011817ce28 0000000000000000 ffff8801143a39a8 ffffffff81398e3e
Call Trace:
[<ffffffff81391bba>] elv_rq_merge_ok+0x4a/0x60
[<ffffffff81391bf1>] elv_try_merge+0x21/0x40
[<ffffffff81398e3e>] blk_queue_bio+0x8e/0x390
[<ffffffff81396a5a>] generic_make_request+0xca/0x100
[<ffffffff81396b04>] submit_bio+0x74/0x100
[<ffffffff811d45c2>] __blockdev_direct_IO+0x1ce2/0x3450
[<ffffffff811d0dc7>] blkdev_direct_IO+0x57/0x60
[<ffffffff811460b5>] generic_file_aio_read+0x6d5/0x760
[<ffffffff811986b2>] do_sync_read+0xe2/0x120
[<ffffffff81199345>] vfs_read+0xc5/0x180
[<ffffffff81199501>] sys_read+0x51/0x90
[<ffffffff81aeac12>] system_call_fastpath+0x16/0x1b
There are multiple ways to fix this including making plug merge check
ELVPRIV; however,
* Calling into elevator outside queue lock is confusing and
error-prone.
* Requests on plug list aren't known to the elevator. They aren't on
the elevator yet, so there's no elevator specific state to update.
* Given the nature of plug merges - collecting bio's for the same
purpose from the same issuer - elevator specific restrictions aren't
applicable.
So, simply don't call into elevator methods from plug merge by moving
elv_bio_merged() from bio_attempt_*_merge() to blk_queue_bio(), and
using blk_try_merge() in attempt_plug_merge().
This is based on Jens' patch to skip elevator_allow_merge_fn() from
plug merge.
Note that this makes per-cgroup merged stats skip plug merging.
Signed-off-by: Tejun Heo <tj@kernel.org>
LKML-Reference: <4F16F3CA.90904@kernel.dk>
Original-patch-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-02-08 09:19:42 +01:00
..
amba
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
2012-01-17 18:40:24 -08:00
bcma
bcma: connect the bcma bus suspend/resume to the bcma driver suspend/resume
2012-01-17 09:54:08 -05:00
byteorder
caif
can
ceph
crush
decompress
dvb
[media] dvb: deprecate the usage of ops->info.type
2012-01-04 17:30:20 -02:00
hdlc
i2c
mfd: Add power off functionality to TWL
2012-01-09 00:37:40 +01:00
input
Input: add driver for pixcir i2c touchscreens
2011-12-30 15:25:52 -08:00
isdn
lockd
module_param: make bool parameters really bool (drivers & misc)
2012-01-13 09:32:20 +10:30
mfd
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
2012-01-13 20:43:32 -08:00
mlx4
mlx4_core: Changing link sensing logic
2011-12-19 14:57:07 -05:00
mmc
Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1
2012-01-14 12:32:16 -08:00
mtd
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
2012-01-17 18:40:24 -08:00
netfilter
netfilter: revert user-space expectation helper support
2012-01-16 14:01:23 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter: xtables: give xt_ecn its own name
2011-12-27 20:31:38 +01:00
netfilter_ipv6
nfc
nfsd
pinctrl
pinctrl: remove unnecessary max pin number
2012-01-03 09:10:09 +01:00
platform_data
Cleanups on various subarchitectures
2012-01-09 14:21:03 -08:00
power
sbs-battery: Rename internals to new name
2012-01-06 05:22:21 +04:00
raid
md: create externally visible flags for supporting hot-replace.
2011-12-23 10:17:51 +11:00
regulator
regulator: add regulator_bulk_force_disable function
2012-01-03 20:20:01 +00:00
rtc
spi
ssb
ssb: extract FEM info from SPROM
2011-12-13 15:30:49 -05:00
sunrpc
Merge branch 'for-3.3' of git://linux-nfs.org/~bfields/linux
2012-01-14 12:26:41 -08:00
tc_act
tc_ematch
unaligned
usb
usb: ch9: fix up MaxStreams helper
2012-01-04 15:52:42 -08:00
uwb
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
2012-01-18 15:51:48 -08:00
acpi_io.h
ACPI: Export interfaces for ioremapping/iounmapping ACPI registers
2012-01-17 04:35:20 -05:00
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
ahci: platform support for suspend/resume
2012-01-08 19:14:59 -05:00
aio.h
aio_abi.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
iommu/amd: Add invalidate-context call-back
2011-12-15 11:15:39 +01:00
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h
ata.h
ata_platform.h
ARM: Orion: Remove address map info from all platform data structures
2011-12-13 18:46:56 -05:00
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h
attribute_container.h
audit.h
audit: comparison on interprocess fields
2012-01-17 16:17:03 -05:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
average.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h
baycom.h
bcd.h
bch.h
bfin_mac.h
bfs_fs.h
binfmts.h
bio.h
block: Stop using macro stubs for the bio data integrity calls
2012-01-13 08:15:33 +01:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
blkdev.h
block: strip out locking optimization in put_io_context()
2012-02-07 07:51:30 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h
capability.h
Merge branch 'for-linus' of git://selinuxproject.org/~jmorris/linux-security
2012-01-14 18:36:33 -08:00
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2012-01-09 12:59:24 -08:00
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
cleancache.h
clk.h
clk: add helper functions clk_prepare_enable and clk_disable_unprepare
2011-12-28 21:25:35 +08:00
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
time/clocksource: Fix kernel-doc warnings
2011-12-19 11:41:40 +01:00
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
coff.h
com20020.h
compaction.h
compat.h
switch open and mkdir syscalls to umode_t
2012-01-03 22:55:19 -05:00
compiler-gcc.h
ftrace: Do not function trace inlined functions
2011-12-21 07:14:34 -05:00
compiler-gcc3.h
compiler-gcc4.h
kernel.h: add BUILD_BUG() macro
2012-01-10 16:30:42 -08:00
compiler-intel.h
compiler.h
kernel.h: add BUILD_BUG() macro
2012-01-10 16:30:42 -08:00
completion.h
comstats.h
concap.h
configfs.h
configfs: convert to umode_t
2012-01-03 22:54:57 -05:00
connector.h
console.h
module_param: make bool parameters really bool (drivers & misc)
2012-01-13 09:32:20 +10:30
console_struct.h
consolemap.h
const.h
cordic.h
coredump.h
cper.h
cpu.h
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
2012-01-07 12:03:30 -08:00
cpu_pm.h
cpu_rmap.h
cpufreq.h
cpuidle.h
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
2012-01-18 15:51:48 -08:00
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
include/linux/crash_dump.h needs elf.h
2012-01-12 20:13:11 -08:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
capabilities: remove task_ns_* functions
2012-01-05 18:52:59 -05:00
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
2012-01-13 10:29:21 -08:00
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2012-01-08 12:19:57 -08:00
debugobjects.h
delay.h
delayacct.h
devfreq.h
device-mapper.h
device.h
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2012-01-08 12:19:57 -08:00
device_cgroup.h
devpts_fs.h
digsig.h
lib: digital signature config option name change
2012-01-18 10:46:21 +11:00
dio.h
dirent.h
dlm.h
dlm: add recovery callbacks
2012-01-04 08:56:31 -06:00
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm-kcopyd.h
dm-log-userspace.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-buf.h
dma-buf: Introduce dma buffer sharing mechanism
2012-01-06 10:20:21 +00:00
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
iommu: Export intel_iommu_enabled to signal when iommu is in use
2011-12-16 08:49:57 -08:00
dmaengine.h
dmaengine: add DMA_TRANS_NONE to dma_transfer_direction
2011-12-23 21:33:15 +05:30
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
dynamic_queue_limits.h
ecryptfs.h
edac.h
edac: convert sysdev_class to a regular subsystem
2011-12-14 15:21:07 -08:00
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
block: don't call elevator callbacks for plug merges
2012-02-08 09:19:42 +01:00
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
ethtool: Remove ethtool_ops::set_rx_ntuple operation
2012-01-04 14:10:28 -05:00
eventfd.h
eventpoll.h
epoll: limit paths
2012-01-12 20:13:04 -08:00
evm.h
export.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3: propagate umode_t
2012-01-03 22:54:58 -05:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbdev: Add FOURCC-based format configuration API
2011-12-19 20:07:13 +00:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h
fib_rules.h
fiemap.h
file.h
filter.h
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h
firmware-map.h
firmware.h
flat.h
flex_array.h
font.h
freezer.h
PM / Freezer: fix return value of freezable_schedule_timeout_killable()
2011-12-27 01:06:33 +01:00
fs.h
Merge branch 'for-3.3/core' of git://git.kernel.dk/linux-block
2012-01-15 12:24:45 -08:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsnotify.h
fsnotify_backend.h
ftrace.h
tracing: Fix compile error when static ftrace is enabled
2012-01-07 17:26:49 -05:00
ftrace_event.h
ftrace_irq.h
fuse.h
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
switch device_get_devnode() and ->devnode() to umode_t *
2012-01-03 22:54:55 -05:00
getcpu.h
gfp.h
mm: try to distribute dirty pages fairly across zones
2012-01-10 16:30:43 -08:00
gfs2_ondisk.h
GFS2: dlm based recovery coordination
2012-01-11 09:23:05 +00:00
gigaset_dev.h
gpio-fan.h
gpio-i2cmux.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid.h
Merge branch 'hid-battery' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into for-linus
2012-01-09 11:24:59 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h
thp: add tlb_remove_pmd_tlb_entry
2012-01-12 20:13:08 -08:00
hugetlb.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
net/hyperv: Add support for jumbo frame up to 64KB
2012-01-04 16:13:05 -08:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h
Merge branch 'driver-core-next' into Linux 3.2
2012-01-06 11:42:52 -08:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
switch procfs to umode_t use
2012-01-03 22:54:56 -05:00
idr.h
ieee80211.h
ieee80211: Introduce ieee80211_is_first_frag
2011-12-13 15:30:40 -05:00
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_team.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
igmp.h
ihex.h
ima.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_diag: Rename inet_diag_req_compat into inet_diag_req
2012-01-11 12:56:06 -08:00
inet_lro.h
inetdevice.h
init.h
module_param: make bool parameters really bool (core code)
2012-01-13 09:32:18 +10:30
init_ohci1394_dma.h
init_task.h
Merge branch 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2012-01-09 12:59:24 -08:00
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
block: strip out locking optimization in put_io_context()
2012-02-07 07:51:30 +01:00
ioctl.h
iommu-helper.h
iommu.h
Merge branches 'iommu/page-sizes' and 'iommu/group-id' into next
2012-01-09 13:06:28 +01:00
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
switch kern_ipc_perm to umode_t
2012-01-03 22:55:17 -05:00
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irq_work.h
irqdesc.h
irqdomain.h
ARM: 7235/1: irqdomain: export irq_domain_simple_ops for !CONFIG_OF
2011-12-23 22:33:58 +00:00
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
switch ->is_visible() to returning umode_t
2012-01-03 22:54:55 -05:00
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd: Remove j_barrier mutex
2012-01-09 13:52:09 +01:00
jbd2.h
jbd2: clear revoked flag on buffers before a new transaction started
2011-12-28 17:46:46 -05:00
jbd_common.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
unix_diag: Include unix_diag.h into header-y target
2011-12-30 16:42:19 -05:00
kbuild.h
kconfig.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h
treewide: convert uses of ATTRIB_NORETURN to __noreturn
2012-01-12 20:13:03 -08:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h
keys: fix trusted/encrypted keys sparse rcu_assign_pointer messages
2012-01-18 10:41:29 +11:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kexec: remove KMSG_DUMP_KEXEC
2012-01-12 20:13:11 -08:00
kobj_map.h
kobject.h
kobject: remove kset_find_obj_hinted()
2011-12-21 15:13:54 -08:00
kobject_ns.h
kprobes.h
kref.h
Fix compile breakage with kref.h
2012-01-17 15:40:51 -08:00
ks0108.h
ks8842.h
ksm.h
kthread.h
ktime.h
kvm.h
KVM: Don't automatically expose the TSC deadline timer in cpuid
2011-12-26 13:27:44 +02:00
kvm_host.h
KVM: Expose a version 2 architectural PMU to a guests
2011-12-27 11:24:29 +02:00
kvm_para.h
KVM: Fix whitespace in kvm_para.h
2011-12-27 11:26:41 +02:00
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds: add driver for TCA6507 LED controller
2012-01-10 16:30:49 -08:00
leds.h
leds_pwm.h
lglock.h
VFS: Fix race between CPU hotplug and lglocks
2011-12-22 02:02:20 -05:00
lguest.h
lguest_launcher.h
libata.h
libps2.h
license.h
limits.h
linkage.h
include/linux/linkage.h: remove unused ATTRIB_NORET macro
2012-01-12 20:13:03 -08:00
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_nulls.h
list_sort.h
llc.h
llist.h
lockdep.h
log2.h
loop.h
lp.h
lp8727.h
lp8727_charger: Some minor fixes for the header
2012-01-04 16:25:45 +04:00
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.h
marvell_phy.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
ARM: Orion: Get address map from plat-orion instead of via platform_data
2011-12-13 18:46:55 -05:00
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
media.h
memblock.h
memcontrol.h
memcg: clear pc->mem_cgroup if necessary.
2012-01-12 20:13:07 -08:00
memory.h
convert 'memory' sysdev_class to a regular subsystem
2011-12-21 14:48:43 -08:00
memory_hotplug.h
mempolicy.h
mm/mempolicy.c: mpol_equal(): use bool
2012-01-10 16:30:45 -08:00
mempool.h
memstick.h
meye.h
mg_disk.h
micrel_phy.h
migrate.h
mm: compaction: introduce sync-light migration for use by compaction
2012-01-12 20:13:09 -08:00
mii.h
minix_fs.h
miscdevice.h
vhost-net: add module alias (v2.1)
2012-01-13 10:12:23 -08:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-01-11 19:12:10 -08:00
mm_inline.h
mm: remove del_page_from_lru, add page_off_lru
2012-01-12 20:13:10 -08:00
mm_types.h
mm,slub,x86: decouple size of struct page from CONFIG_CMPXCHG_LOCAL
2012-01-12 20:13:03 -08:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h
mm: enum lru_list lru
2012-01-12 20:13:10 -08:00
mnt_namespace.h
vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
2012-01-03 22:57:13 -05:00
mod_devicetable.h
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
2012-01-13 20:43:32 -08:00
module.h
module: struct module_ref should contains long fields
2012-01-13 09:32:14 +10:30
moduleloader.h
moduleparam.h
module_param: check that bool parameters really are bool.
2012-01-13 09:32:28 +10:30
mount.h
vfs: move fsnotify junk to struct mount
2012-01-03 22:57:12 -05:00
mpage.h
mpi.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
PCI/sysfs: add per pci device msi[x] irq listing (v5)
2012-01-06 12:10:25 -08:00
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
net_dropmon.h
net_tstamp.h
netdev_features.h
netdevice.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-01-09 14:46:52 -08:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfc.h
NFC: Export a new attribute nfcid1 in target info
2012-01-04 14:30:43 -05:00
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
pull manipulations of rpc_cred inside alloc_nfs_open_context()
2012-01-03 22:52:34 -05:00
nfs_fs_i.h
nfs_fs_sb.h
NFS: Cache state owners after files are closed
2012-01-05 11:59:18 -05:00
nfs_idmap.h
NFSv4: Save the owner/group name string when doing open
2012-01-07 13:22:46 -05:00
nfs_iostat.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
NFSv4: Save the owner/group name string when doing open
2012-01-07 13:22:46 -05:00
nfsacl.h
nilfs2_fs.h
nl80211.h
cfg80211: Return beacon loss count in station
2011-12-19 14:34:13 -05:00
nl802154.h
nls.h
nmi.h
node.h
convert 'memory' sysdev_class to a regular subsystem
2011-12-21 14:48:43 -08:00
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
of.h
devicetree/next changes queued for v3.3 merge window
2012-01-07 12:18:52 -08:00
of_address.h
of_device.h
of_fdt.h
ARM/of: allow *machine_desc.dt_compat to be const
2011-12-27 10:57:13 -06:00
of_gpio.h
of_i2c.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_spi.h
omap3isp.h
omapfb.h
oom.h
mm: unify remaining mem_cont, mem, etc. variable names to memcg
2012-01-12 20:13:06 -08:00
openvswitch.h
opp.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
mm: more intensive memory corruption debugging
2012-01-10 16:30:42 -08:00
page-flags.h
page-isolation.h
page_cgroup.h
memcg: simplify LRU handling by new rule
2012-01-12 20:13:07 -08:00
pageblock-flags.h
pagemap.h
pagevec.h
mm: fewer underscores in ____pagevec_lru_add
2012-01-12 20:13:10 -08:00
param.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: Rework ASPM disable code
2012-01-06 12:10:26 -08:00
pci-ats.h
pci-dma.h
pci.h
PCI: Increase resource array mask bit size in pcim_iomap_regions()
2012-01-06 12:15:21 -08:00
pci_hotplug.h
pci_ids.h
PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)
2012-01-06 12:11:40 -08:00
pci_regs.h
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h
percpu: Remove irqsafe_cpu_xxx variants
2011-12-22 10:40:20 -08:00
percpu_counter.h
perf_event.h
perf events: Add PERF_COUNT_HW_REF_CPU_CYCLES generic PMU event
2011-12-21 10:26:37 +01:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
phylib: introduce mdiobus_alloc_size()
2012-01-12 15:23:04 -08:00
phy_fixed.h
pid.h
pid_namespace.h
procfs: add hidepid= and gid= mount options
2012-01-10 16:30:54 -08:00
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
net_sched: sfq: add optional RED on top of SFQ
2012-01-12 20:05:28 -08:00
pktcdvd.h
platform_device.h
Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
2012-01-08 13:10:57 -08:00
plist.h
pm.h
Merge branch 'pm-runtime' into pm-for-linus
2011-12-25 23:43:05 +01:00
pm_clock.h
pm_domain.h
pm_qos.h
Merge branch 'pm-domains' into pm-for-linus
2011-12-25 23:43:11 +01:00
pm_runtime.h
pm_wakeup.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
Merge branch 'power-supply-scope' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
2012-01-04 09:09:35 +04:00
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps.h
pps_kernel.h
prctl.h
c/r: prctl: add PR_SET_MM codes to set up mm_struct entries
2012-01-12 20:13:13 -08:00
preempt.h
prefetch.h
printk.h
prio_heap.h
prio_tree.h
proc_fs.h
procfs: make proc_get_link to use dentry instead of inode
2012-01-10 16:30:54 -08:00
profile.h
proportions.h
pstore.h
pti.h
ptp_classify.h
ptp_clock.h
ptp_clock_kernel.h
ptrace.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit
2012-01-17 16:41:31 -08:00
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h
radeonfb.h
radix-tree.h
radix_tree: remove radix_tree_indirect_to_ptr()
2012-01-12 20:13:12 -08:00
raid_class.h
ramfs.h
pohmelfs: propagate umode_t
2012-01-03 22:55:07 -05:00
ramoops.h
random.h
range.h
rar_register.h
ratelimit.h
rational.h
raw.h
rbtree.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcutiny.h
rcutree.h
rds.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs: Properly display mount options in /proc/mounts
2012-01-06 23:20:13 -05:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs: Properly display mount options in /proc/mounts
2012-01-06 23:20:13 -05:00
reiserfs_xattr.h
relay.h
switch debugfs to umode_t
2012-01-03 22:54:56 -05:00
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm: unify remaining mem_cont, mem, etc. variable names to memcg
2012-01-12 20:13:06 -08:00
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
s3c_adc_battery: Average over more than one adc sample
2012-01-06 06:13:35 +04:00
sc26198.h
scatterlist.h
scc.h
sched.h
treewide: remove useless NORET_TYPE macro and uses
2012-01-12 20:13:03 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
Merge branch 'for-linus' of git://selinuxproject.org/~jmorris/linux-security
2012-01-14 18:36:33 -08:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
constify seq_file stuff
2012-01-03 22:52:40 -05:00
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2012-01-14 13:05:21 -08:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
dma: shdma: fix runtime PM: clear channel buffers on reset
2012-01-06 11:40:11 +05:30
sh_eth.h
sh_intc.h
PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
2011-12-25 23:39:11 +01:00
sh_pfc.h
sh: pfc: Unlock register support
2012-01-09 09:33:57 +09:00
sh_timer.h
shm.h
shmem_fs.h
shmem, ramfs: propagate umode_t, open-coded S_ISREG
2012-01-03 22:55:07 -05:00
shrinker.h
sht15.h
signal.h
signal: add block_sigmask() for adding sigmask to current->blocked
2012-01-10 16:30:54 -08:00
signalfd.h
sirfsoc_dma.h
skbuff.h
net: pack skb_shared_info more efficiently
2012-01-05 14:01:21 -05:00
slab.h
slab_def.h
tracing/mm: Move include of trace/events/kmem.h out of header into slab.c
2012-01-09 14:19:33 -08:00
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smsc911x.h
smscphy.h
net: phy: smsc: Move SMSC PHY constants to <linux/smscphy.h>
2012-01-03 20:23:18 -05:00
snmp.h
sock_diag.h
sock_diag: Introduce the meminfo nla core (v2)
2011-12-30 16:42:19 -05:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stmmac.h
stop_machine.h
string.h
string_helpers.h
stringify.h
sungem_phy.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h
mm: exclude reserved pages from dirtyable memory
2012-01-10 16:30:43 -08:00
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h
switch open and mkdir syscalls to umode_t
2012-01-03 22:55:19 -05:00
syscore_ops.h
sysctl.h
sysctl: use umode_t for table permissions
2012-01-03 22:55:12 -05:00
sysdev.h
sysfs.h
switch sysfs_chmod_file() to umode_t
2012-01-03 22:54:56 -05:00
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
tcp: Replace constants with #define macros
2011-12-21 01:03:23 -05:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h
tty: remove unused tty_driver->termios_locked
2012-01-17 10:30:38 -08:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-01-08 13:21:22 -08:00
u64_stats_sync.h
uaccess.h
ucb1400.h
Input: ucb1400_ts - convert to threaded IRQ
2012-01-04 22:19:55 -08:00
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
unix_diag.h
unix_diag: Fixup RQLEN extension report
2011-12-30 16:46:02 -05:00
usb.h
Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
2012-01-09 12:09:47 -08:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uuid.h
uvcvideo.h
uwb.h
v4l2-mediabus.h
v4l2-subdev.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h
videodev2.h
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-01-15 12:49:56 -08:00
virtio.h
virtio: pci: add PM notification handlers for restore, freeze, thaw, poweroff
2012-01-12 15:44:44 +10:30
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio: harsher barriers for rpmsg.
2012-01-12 15:44:42 +10:30
virtio_rng.h
vlynq.h
vm_event_item.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
lockdep/waitqueues: Add better annotation
2011-12-21 10:07:39 +01:00
wanrouter.h
watchdog.h
watchdog: add nowayout helpers to Watchdog Timer Driver Kernel API
2012-01-06 15:22:04 +01:00
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
workqueue: make alloc_workqueue() take printf fmt and args for name
2012-01-10 16:30:54 -08:00
writeback.h
Merge branch 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
2012-01-10 16:59:59 -08:00
x25.h
xattr.h
xfrm.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h