David Howells
9f10523f89
FS-Cache: Fix operation state management and accounting
...
Fix the state management of internal fscache operations and the accounting of
what operations are in what states.
This is done by:
(1) Give struct fscache_operation a enum variable that directly represents the
state it's currently in, rather than spreading this knowledge over a bunch
of flags, who's processing the operation at the moment and whether it is
queued or not.
This makes it easier to write assertions to check the state at various
points and to prevent invalid state transitions.
(2) Add an 'operation complete' state and supply a function to indicate the
completion of an operation (fscache_op_complete()) and make things call
it. The final call to fscache_put_operation() can then check that an op
in the appropriate state (complete or cancelled).
(3) Adjust the use of object->n_ops, ->n_in_progress, ->n_exclusive to better
govern the state of an object:
(a) The ->n_ops is now the number of extant operations on the object
and is now decremented by fscache_put_operation() only.
(b) The ->n_in_progress is simply the number of objects that have been
taken off of the object's pending queue for the purposes of being
run. This is decremented by fscache_op_complete() only.
(c) The ->n_exclusive is the number of exclusive ops that have been
submitted and queued or are in progress. It is decremented by
fscache_op_complete() and by fscache_cancel_op().
fscache_put_operation() and fscache_operation_gc() now no longer try to
clean up ->n_exclusive and ->n_in_progress. That was leading to double
decrements against fscache_cancel_op().
fscache_cancel_op() now no longer decrements ->n_ops. That was leading to
double decrements against fscache_put_operation().
fscache_submit_exclusive_op() now decides whether it has to queue an op
based on ->n_in_progress being > 0 rather than ->n_ops > 0 as the latter
will persist in being true even after all preceding operations have been
cancelled or completed. Furthermore, if an object is active and there are
runnable ops against it, there must be at least one op running.
(4) Add a remaining-pages counter (n_pages) to struct fscache_retrieval and
provide a function to record completion of the pages as they complete.
When n_pages reaches 0, the operation is deemed to be complete and
fscache_op_complete() is called.
Add calls to fscache_retrieval_complete() anywhere we've finished with a
page we've been given to read or allocate for. This includes places where
we just return pages to the netfs for reading from the server and where
accessing the cache fails and we discard the proposed netfs page.
The bugs in the unfixed state management manifest themselves as oopses like the
following where the operation completion gets out of sync with return of the
cookie by the netfs. This is possible because the cache unlocks and returns
all the netfs pages before recording its completion - which means that there's
nothing to stop the netfs discarding them and returning the cookie.
FS-Cache: Cookie 'NFS.fh' still has outstanding reads
------------[ cut here ]------------
kernel BUG at fs/fscache/cookie.c:519!
invalid opcode: 0000 [#1 ] SMP
CPU 1
Modules linked in: cachefiles nfs fscache auth_rpcgss nfs_acl lockd sunrpc
Pid: 400, comm: kswapd0 Not tainted 3.1.0-rc7-fsdevel+ #1090 /DG965RY
RIP: 0010:[<ffffffffa007050a>] [<ffffffffa007050a>] __fscache_relinquish_cookie+0x170/0x343 [fscache]
RSP: 0018:ffff8800368cfb00 EFLAGS: 00010282
RAX: 000000000000003c RBX: ffff880023cc8790 RCX: 0000000000000000
RDX: 0000000000002f2e RSI: 0000000000000001 RDI: ffffffff813ab86c
RBP: ffff8800368cfb50 R08: 0000000000000002 R09: 0000000000000000
R10: ffff88003a1b7890 R11: ffff88001df6e488 R12: ffff880023d8ed98
R13: ffff880023cc8798 R14: 0000000000000004 R15: ffff88003b8bf370
FS: 0000000000000000(0000) GS:ffff88003bd00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00000000008ba008 CR3: 0000000023d93000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kswapd0 (pid: 400, threadinfo ffff8800368ce000, task ffff88003b8bf040)
Stack:
ffff88003b8bf040 ffff88001df6e528 ffff88001df6e528 ffffffffa00b46b0
ffff88003b8bf040 ffff88001df6e488 ffff88001df6e620 ffffffffa00b46b0
ffff88001ebd04c8 0000000000000004 ffff8800368cfb70 ffffffffa00b2c91
Call Trace:
[<ffffffffa00b2c91>] nfs_fscache_release_inode_cookie+0x3b/0x47 [nfs]
[<ffffffffa008f25f>] nfs_clear_inode+0x3c/0x41 [nfs]
[<ffffffffa0090df1>] nfs4_evict_inode+0x2f/0x33 [nfs]
[<ffffffff810d8d47>] evict+0xa1/0x15c
[<ffffffff810d8e2e>] dispose_list+0x2c/0x38
[<ffffffff810d9ebd>] prune_icache_sb+0x28c/0x29b
[<ffffffff810c56b7>] prune_super+0xd5/0x140
[<ffffffff8109b615>] shrink_slab+0x102/0x1ab
[<ffffffff8109d690>] balance_pgdat+0x2f2/0x595
[<ffffffff8103e009>] ? process_timeout+0xb/0xb
[<ffffffff8109dba3>] kswapd+0x270/0x289
[<ffffffff8104c5ea>] ? __init_waitqueue_head+0x46/0x46
[<ffffffff8109d933>] ? balance_pgdat+0x595/0x595
[<ffffffff8104bf7a>] kthread+0x7f/0x87
[<ffffffff813ad6b4>] kernel_thread_helper+0x4/0x10
[<ffffffff81026b98>] ? finish_task_switch+0x45/0xc0
[<ffffffff813abcdd>] ? retint_restore_args+0xe/0xe
[<ffffffff8104befb>] ? __init_kthread_worker+0x53/0x53
[<ffffffff813ad6b0>] ? gs_change+0xb/0xb
Signed-off-by: David Howells <dhowells@redhat.com>
2012-12-20 21:58:26 +00:00
..
amba
ARM: 7588/1: amba: create a resource parent registrator
2012-12-03 11:15:35 +00:00
bcma
MTD pull for 3.8
2012-12-19 12:47:41 -08:00
byteorder
can
ceph
clk
ARM: arm-soc: Updates for Marvell mvebu/kirkwood
2012-12-14 14:54:26 -08:00
crush
decompress
dma
extcon
fsl
hdlc
UAPI: (Scripted) Disintegrate include/linux/hdlc
2012-11-09 16:27:51 -05:00
hsi
i2c
Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux
2012-12-18 16:51:10 -08:00
iio
iio:imu: Add support for the ADIS16480 and similar IMUs
2012-11-20 21:28:51 +00:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2012-12-18 12:46:37 -08:00
irqchip
ARM: arm-soc: Device-tree updates, take 2
2012-12-14 14:42:53 -08:00
isdn
lockd
mfd
This is the MFD patch set for the 3.8 merge window.
2012-12-16 18:55:20 -08:00
mlx4
mlx4: 64-byte CQE/EQE support
2012-11-26 10:19:17 -08:00
mmc
MMC highlights for 3.8:
2012-12-11 11:19:09 -08:00
mtd
mtd: nand: add NAND_BUSWIDTH_AUTO to autodetect bus width
2012-12-03 16:36:52 +02:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
2012-11-30 12:01:30 -05:00
nfsd
pinctrl
pinctrl: generic: add input schmitt disable parameter
2012-11-21 08:55:26 +01:00
platform_data
ARM: arm-soc fixes for 3.8
2012-12-20 07:21:54 -08:00
power
Highlights:
2012-12-13 19:26:04 -08:00
raid
lib/raid6: Add AVX2 optimized gen_syndrome functions
2012-12-13 19:51:03 +11:00
regulator
Merge remote-tracking branch 'regulator/topic/tol' into regulator-next
2012-12-10 12:43:22 +09:00
rtc
spi
Linux 3.7-rc8
2012-12-07 17:02:47 +00:00
ssb
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2012-12-14 14:27:45 -08:00
sunrpc
SUNRPC: Don't allow low priority tasks to pre-empt higher priority ones
2012-12-06 00:30:53 +01:00
tc_act
unaligned
usb
usbnet: generic manage_power()
2012-12-19 12:46:40 -08:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-12-14 10:03:23 -08:00
acpi_gpio.h
gpio / ACPI: add ACPI support
2012-11-30 12:37:36 +01:00
acpi_io.h
acpi_pmtmr.h
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-emulation.h
apm_bios.h
apple_bl.h
arcdevice.h
asn1.h
ASN.1: Define indefinite length marker constant
2012-12-14 13:06:41 +10:30
asn1_ber_bytecode.h
asn1_decoder.h
async.h
async_tx.h
ata.h
Revert "libata: check SATA_SETTINGS log with HW Feature Ctrl"
2012-12-14 09:34:01 -05:00
ata_platform.h
pata_platform: remove unused remove function
2012-12-03 05:15:33 -05:00
atalk.h
ath9k_platform.h
ath9k: allow to load EEPROM content via firmware API
2012-12-10 15:49:57 -05:00
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atm: add release_cb() callback to vcc
2012-12-02 00:05:12 +00:00
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
ASoC: atmel-ssc: add phybase in device structure
2012-11-20 18:18:52 +09:00
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev.h
Revert "bdi: add a user-tunable cpu_list for the bdi flusher threads"
2012-12-17 11:29:09 -08:00
backlight.h
backlight: add of_find_backlight_by_node()
2012-12-17 17:15:16 -08:00
balloon_compaction.h
mm: introduce a common interface for balloon pages mobility
2012-12-11 17:22:26 -08:00
basic_mmio_gpio.h
bcd.h
bch.h
bcm47xx_wdt.h
ssb/bcma: add common header for watchdog
2012-12-06 14:58:56 -05:00
bcm2835_timer.h
bfin_mac.h
binfmts.h
exec: use -ELOOP for max recursion depth
2012-12-17 17:15:23 -08:00
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk-iopoll.h
blk_types.h
blkdev.h
blk: avoid divide-by-zero with zero discard granularity
2012-12-19 07:18:35 -08:00
blktrace_api.h
blockgroup_lock.h
bma150.h
bootmem.h
mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic()
2012-12-12 17:38:35 -08:00
bottom_half.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg: Remove unused function bsg_goose_queue()
2012-12-06 14:33:02 +01:00
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
include/linux/bug.h: fix sparse warning related to BUILD_BUG_ON_INVALID
2012-11-26 17:41:24 -08:00
c2port.h
cache.h
capability.h
cb710.h
cciss_ioctl.h
cdev.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup: remove obsolete guarantee from cgroup_task_migrate.
2012-11-20 06:44:58 -08:00
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-private.h
clk-provider.h
The common clock framework changes for 3.8 are comprised of lots of
2012-12-11 11:25:08 -08:00
clk.h
clkdev.h
clksrc-dbx500-prcmu.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
com20020.h
compaction.h
compat.h
compat: generic compat_sys_sched_rr_get_interval() implementation
2012-12-17 17:15:18 -08:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
Nothing all that exciting; a new module-from-fd syscall for those who want
2012-12-19 07:55:08 -08:00
compiler-intel.h
byteorder: allow arch to opt to use GCC intrinsics for byteswapping
2012-12-06 01:22:31 +00:00
compiler.h
Nothing all that exciting; a new module-from-fd syscall for those who want
2012-12-19 07:55:08 -08:00
completion.h
concap.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
context_tracking.h
context_tracking: New context tracking susbsystem
2012-11-30 11:40:07 -08:00
cordic.h
coredump.h
do_coredump(): get rid of pt_regs argument
2012-11-29 00:01:25 -05:00
cper.h
cpu.h
cpu_cooling.h
thermal: cpu cooling: allow module builds
2012-11-22 15:59:52 +08:00
cpu_pm.h
cpu_rmap.h
cpufreq.h
cpufreq: governors: remove redundant code
2012-11-15 00:33:07 +01:00
cpuidle.h
cpuidle: support multiple drivers
2012-11-15 00:34:23 +01:00
cpumask.h
cpuset.h
cpuset: use N_MEMORY instead N_HIGH_MEMORY
2012-12-12 17:38:32 -08:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-12-17 15:44:47 -08:00
crypto.h
cryptohash.h
cryptouser.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h
PM / devfreq: remove compiler error when a governor is module
2012-11-26 19:17:44 +09:00
device-mapper.h
device.h
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-12-14 09:59:59 -08:00
device_cgroup.h
devpts_fs.h
TTY: devpts, do not set driver_data
2012-10-22 16:50:13 -07:00
digsig.h
dio.h
dirent.h
dlm.h
various: Fix spelling of "asynchronous" in comments.
2012-11-19 14:32:13 +01:00
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
common: DMA-mapping: add DMA_ATTR_FORCE_CONTIGUOUS attribute
2012-11-29 03:30:34 -08:00
dma-buf.h
dma-buf: remove fallback for !CONFIG_DMA_SHARED_BUFFER
2012-12-20 12:05:06 +05:30
dma-contiguous.h
drivers: cma: represent physical addresses as phys_addr_t
2012-12-11 09:28:09 +01:00
dma-debug.h
dma-direction.h
dma-mapping.h
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd: Broadcast sync progress no more often than once per second
2012-11-09 14:11:43 +01:00
drbd_genl.h
drbd: pass some more information to userspace.
2012-11-09 14:05:45 +01:00
drbd_genl_api.h
drbd_limits.h
drbd: New disk option al-updates
2012-11-08 16:58:31 +01:00
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dw_dmac.h
dynamic_debug.h
dynamic_debug: Remove unnecessary __used
2012-10-24 15:57:14 -07:00
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
EDAC: Fix csrow size reported in sysfs
2012-11-28 11:54:40 +01:00
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
Revert "x86-64/efi: Use EFI to deal with platform wall clock (again)"
2012-12-15 15:20:41 -08:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
eth: Rename and properly align br_reserved_address array
2012-11-02 21:34:05 -04:00
ethtool.h
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
fs, exportfs: add exportfs_encode_inode_fh() helper
2012-12-17 17:15:27 -08:00
ext2_fs.h
extcon.h
extcon: kernel_doc style fix
2012-11-22 13:43:27 +09:00
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
kill daemonize()
2012-11-28 21:49:02 -05:00
fec.h
file.h
filter.h
sk-filter: Add ability to get socket filter program (v2)
2012-11-01 11:17:15 -04:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
font.h
freezer.h
Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2012-12-12 08:18:24 -08:00
frontswap.h
fs.h
Merge branch 'akpm' (Andrew's patch-bomb)
2012-12-17 20:58:12 -08:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
kill daemonize()
2012-11-28 21:49:02 -05:00
fs_uart_pd.h
fscache-cache.h
FS-Cache: Fix operation state management and accounting
2012-12-20 21:58:26 +00:00
fscache.h
CacheFiles: Fix the marking of cached pages
2012-12-20 21:54:30 +00:00
fsl-diu-fb.h
drivers/video: fsl-diu-fb: add support for set_gamma ioctls
2012-11-26 13:41:19 -06:00
fsl_devices.h
fsl_hypervisor.h
fsnotify.h
fsnotify_backend.h
ftrace.h
lseek: the "whence" argument is called "whence"
2012-12-17 17:15:12 -08:00
ftrace_event.h
tracing: Format non-nanosec times from tsc clock without a decimal point.
2012-11-13 15:48:40 -05:00
ftrace_irq.h
futex.h
gameport.h
gcd.h
genalloc.h
generic_acl.h
genetlink.h
genhd.h
block: store partition_meta_info.uuid as a string
2012-11-23 14:28:53 +01:00
genl_magic_func.h
drbd: Stop using NLA_PUT*().
2012-11-08 16:58:30 +01:00
genl_magic_struct.h
drbd: Stop using NLA_PUT*().
2012-11-08 16:58:30 +01:00
getcpu.h
gfp.h
mm: allocate kernel pages to the right memcg
2012-12-18 15:02:12 -08:00
gpio-fan.h
gpio-pxa.h
gpio.h
gpiolib: rename pin range arguments
2012-11-21 10:07:48 +01:00
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
cputime: Specialize irq vtime hooks
2012-10-29 21:31:32 +01:00
hash.h
propagate name change to comments in kernel source
2012-12-06 10:39:54 +01:00
hashtable.h
hashtable: introduce a small and naive hashtable
2012-11-02 12:44:51 -07:00
hdlc.h
hdlcdrv.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
HID: sensors: autodetect USB HID sensor hubs
2012-12-12 16:49:10 +01:00
hid.h
Merge branches 'for-3.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus
2012-12-12 21:41:55 +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
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
hugetlb.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
hugetlb_cgroup.h
mm/hugetlb: create hugetlb cgroup file in hugetlb_init
2012-12-18 15:02:15 -08:00
hugetlb_inline.h
hw_breakpoint.h
perf: Make perf build for x86 with UAPI disintegration applied
2012-11-19 22:21:03 +00:00
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: omap: Remove the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE flag
2012-11-28 11:36:32 +01:00
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h
i2c / ACPI: add ACPI enumeration support
2012-11-23 12:23:40 +01:00
i2o.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
icmp.h
icmpv6.h
ide.h
idr.h
Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6
2012-11-09 14:20:23 +01:00
ieee80211.h
wireless: fix VHT max AMPDU exponent definition
2012-12-06 14:02:51 +01:00
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
net: unify for_each_ip_tunnel_rcu()
2012-11-14 18:49:50 -05:00
if_vlan.h
igmp.h
ihex.h
ima.h
ima: support new kernel module syscall
2012-12-14 13:05:26 +10:30
in.h
in6.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
netconf: advertise mc_forwarding status
2012-12-04 13:08:10 -05:00
init.h
include/linux/init.h: use the stringify operator for the __define_initcall macro
2012-12-17 17:15:12 -08:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
Input: document new members of struct input_dev
2012-11-10 00:40:24 -08:00
integrity.h
intel-iommu.h
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
net: Add support for hardware-offloaded encapsulation
2012-12-09 00:20:28 -05:00
ipack.h
ipack: remove use of __devinitconst
2012-11-21 15:09:26 -08:00
ipc.h
ipc_namespace.h
proc: Usable inode numbers for the namespace file descriptors.
2012-11-20 04:19:49 -08:00
ipmi.h
ipmi_smi.h
various: Fix spelling of "asynchronous" in comments.
2012-11-19 14:32:13 +01:00
ipv6.h
net: Add support for hardware-offloaded encapsulation
2012-12-09 00:20:28 -05:00
ipv6_route.h
irq.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2012-12-13 14:20:19 -08:00
irq_cpustat.h
irq_work.h
irqdesc.h
genirq: Provide means to retrigger parent
2012-11-01 12:11:31 +01:00
irqdomain.h
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
jbd.h
jbd2.h
jbd2: remove VLAIS usage from JBD2 code
2012-11-08 11:24:46 -05:00
jbd_common.h
jhash.h
jiffies.h
time: Kill xtime_lock, replacing it with jiffies_lock
2012-11-13 14:08:23 -05:00
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild
kbuild.h
kcmp.h
kconfig.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kstrto*: add documentation
2012-12-17 17:15:22 -08:00
kernel_stat.h
vtime: Explicitly account pending user time on process tick
2012-11-19 16:41:21 +01:00
kernelcapi.h
kexec.h
key-type.h
key.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
2012-12-16 15:40:50 -08:00
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject: remove CONFIG_HOTPLUG ifdefs
2012-11-28 10:33:03 -08:00
kobject_ns.h
kprobes.h
kref.h
kref: Implement kref_get_unless_zero v3
2012-11-20 16:15:02 +10:00
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
pktgen: clean up ktime_t helpers
2012-11-03 14:50:15 -04:00
kvm_host.h
Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
2012-12-13 15:31:08 -08:00
kvm_para.h
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.h
led: Add dependency on CONFIG_LEDS_TRIGGERS to led_trigger_rename_static()
2012-11-26 14:28:51 -08:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
libata: implement ata_platform_remove_one()
2012-12-03 05:15:17 -05:00
libfdt.h
libfdt_env.h
libps2.h
license.h
linkage.h
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
loop: Limit the number of requests in the bio list
2012-11-30 11:48:05 +01:00
lp.h
lru_cache.h
Merge branch 'for-3.8/drivers' of git://git.kernel.dk/linux-block
2012-12-17 13:39:11 -08:00
lsm_audit.h
lzo.h
m48t86.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
memblock.h
x86, mm: Trim memory in memblock to be page aligned
2012-10-24 11:52:21 -07:00
memcontrol.h
memcg: add comments clarifying aspects of cache attribute propagation
2012-12-18 15:02:15 -08:00
memory.h
hotplug: update nodemasks management
2012-12-12 17:38:33 -08:00
memory_hotplug.h
mm, memory-hotplug: dynamic configure movable memory and portion memory
2012-12-11 17:22:28 -08:00
mempolicy.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
mempool.h
memstick.h
mg_disk.h
micrel_phy.h
net: add micrel KSZ8873MLL switch support
2012-11-23 14:29:51 -05:00
migrate.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
migrate_mode.h
mii.h
miscdevice.h
[SCSI] miscdevice: Adding support for MPT3SAS_MINOR(222)
2012-12-01 10:07:54 +00:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
mm_inline.h
mm_types.h
Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux
2012-12-18 10:56:07 -08:00
mman.h
mm: export a function to get vm committed memory
2012-11-15 15:41:22 -08:00
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
mnt_namespace.h
vfs: Add a user namespace reference from struct mnt_namespace
2012-11-19 05:59:19 -08:00
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
moduleparam: use __UNIQUE_ID()
2012-12-14 13:06:40 +10:30
mount.h
mpage.h
mpi.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
mxsfb.h
n_r3964.h
namei.h
nbd.h
net.h
netdev_features.h
netdevice.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-12-13 12:00:02 -08:00
netfilter.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
NFSv4.1: Move slot table and session struct definitions to nfs4session.h
2012-12-06 00:30:46 +01:00
nfs_idmap.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
NFSv4.1: Move the RPC timestamp out of the slot.
2012-12-15 15:21:52 -05:00
nfsacl.h
nilfs2_fs.h
nl802154.h
nls.h
nmi.h
node.h
mm: cleanup register_node()
2012-12-11 17:22:27 -08:00
nodemask.h
numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
2012-12-12 17:38:34 -08:00
notifier.h
nsc_gpio.h
nsproxy.h
userns: Implement unshare of the user namespace
2012-11-20 04:18:14 -08:00
nubus.h
numa.h
nvme.h
nvram.h
nwpserial.h
nx842.h
of.h
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
2012-12-18 09:58:09 -08:00
of_address.h
of/address: sparc: Declare of_iomap as an extern function for sparc again
2012-11-23 22:01:15 +00:00
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of/i2c: add dummy inline functions for when CONFIG_OF_I2C(_MODULE) isn't defined
2012-12-11 17:30:16 +00:00
of_iommu.h
of_irq.h
of_mdio.h
of_mtd.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of: define struct device in of_platform.h if !OF_DEVICE and !OF_ADDRESS
2012-12-19 16:15:17 +00:00
of_serial.h
oid_registry.h
olpc-ec.h
omap-dma.h
ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h
2012-11-30 08:41:50 -08:00
omap-iommu.h
ARM: OMAP2+: Move plat/iovmm.h to include/linux/omap-iommu.h
2012-11-20 10:04:29 -08:00
omapfb.h
oom.h
mm, oom: fix race when specifying a thread as the oom origin
2012-12-11 17:22:27 -08:00
openvswitch.h
openvswitch: add skb mark matching and set action
2012-11-26 11:33:18 -08:00
opp.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h
page-isolation.h
memory-hotplug: skip HWPoisoned page when offlining pages
2012-12-11 17:22:22 -08:00
page_cgroup.h
pageblock-flags.h
pagemap.h
mm: introduce a common interface for balloon pages mobility
2012-12-11 17:22:26 -08:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma.h
pci.h
PCI changes for the v3.8 merge window:
2012-12-13 12:14:47 -08:00
pci_hotplug.h
pci_ids.h
tty/8250 Add support for Commtech's Fastcom Async-335 and Fastcom Async-PCIe cards
2012-11-21 16:31:17 -08:00
pcieport_if.h
pda_power.h
percpu-defs.h
percpu-rwsem.h
percpu_rw_semaphore: add lockdep annotations
2012-12-17 17:15:18 -08:00
percpu.h
percpu_counter.h
perf_event.h
perf, cpu hotplug: Use cached value of smp_processor_id()
2012-10-24 10:01:59 +02:00
perf_regs.h
personality.h
pfn.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
proc: Usable inode numbers for the namespace file descriptors.
2012-11-20 04:19:49 -08:00
pim.h
pipe_fs_i.h
pktcdvd.h
platform_device.h
ACPI / platform: Initialize ACPI handles of platform devices in advance
2012-11-21 00:21:59 +01:00
plist.h
pm.h
PM / QoS: Make it possible to expose PM QoS device flags to user space
2012-10-24 02:08:18 +02:00
pm_clock.h
pm_domain.h
pm_qos.h
PM / QoS: Make it possible to expose PM QoS device flags to user space
2012-10-24 02:08:18 +02: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
power_supply.h
power_supply: Register power supply for thermal cooling device
2012-11-17 20:32:33 -08:00
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
preempt.h
prefetch.h
printk.h
prio_heap.h
proc_fs.h
Merge branch 'akpm' (Andrew's patch-bomb)
2012-12-17 20:58:12 -08:00
profile.h
projid.h
proportions.h
pstore.h
efi_pstore: Add a sequence counter to a variable name
2012-11-26 16:07:44 -08:00
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptp: update adjfreq callback description
2012-11-03 15:27:07 -04:00
ptrace.h
ptrace: introduce PTRACE_O_EXITKILL
2012-12-17 17:15:22 -08:00
pvclock_gtod.h
time: export time information for KVM pvclock
2012-11-27 23:29:12 -02:00
pwm.h
pwm: Device tree support for PWM polarity
2012-11-22 22:47:12 +01:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h
raid_class.h
ramfs.h
random.h
prandom: introduce prandom_bytes() and prandom_bytes_state()
2012-12-17 17:15:26 -08:00
range.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree: include linux/compiler.h for definition of __always_inline
2012-10-25 14:37:52 -07:00
rculist.h
rcu: Remove list_for_each_continue_rcu()
2012-11-13 14:08:21 -08:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
context_tracking: New context tracking susbsystem
2012-11-30 11:40:07 -08:00
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
Merge remote-tracking branch 'regmap/topic/table' into regmap-next
2012-12-11 12:39:32 +09:00
regset.h
relay.h
remoteproc.h
res_counter.h
res_counter: return amount of charges after res_counter_uncharge()
2012-12-18 15:02:12 -08:00
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
ring-buffer: Change unsigned long type of ring_buffer_oldest_event_ts() to u64
2012-11-02 10:21:48 -04:00
rio.h
rapidio: fix kernel-doc warnings
2012-11-16 14:33:04 -08:00
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
mm/rmap, migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable
2012-12-11 14:43:00 +00: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
ixgbe: add setlink, getlink support to ixgbe and ixgbevf
2012-10-31 13:18:29 -04:00
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h
memcg: skip memcg kmem allocations in specified code regions
2012-12-18 15:02:14 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
security: introduce kernel_module_from_file hook
2012-12-14 13:05:24 +10:30
selection.h
selinux.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h
serial_8250.h
tty/8250_early: Turn serial_in/serial_out into weak symbols.
2012-11-16 04:39:15 -08:00
serial_core.h
SERIAL: core: add throttle/unthrottle callbacks for hardware assisted flow control
2012-11-04 11:25:56 +00:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh: clkfwk: add sh_clk_fsidiv_register()
2012-11-08 15:21:30 +09:00
sh_dma.h
sh_eth.h
sh_intc.h
sh_pfc.h
sh_timer.h
shdma-base.h
shm.h
mm: support more pagesizes for MAP_HUGETLB/SHM_HUGETLB
2012-12-11 17:22:25 -08:00
shmem_fs.h
shrinker.h
signal.h
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h
net: Add support for hardware-offloaded encapsulation
2012-12-09 00:20:28 -05:00
slab.h
slab: propagate tunable values
2012-12-18 15:02:14 -08:00
slab_def.h
slab/slub: struct memcg_params
2012-12-18 15:02:13 -08:00
slob_def.h
slub_def.h
slub: slub-specific propagation changes
2012-12-18 15:02:14 -08:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
net: phy: smsc: force all capable mode if the phy is started in powerdown mode
2012-12-07 12:48:00 -05:00
sock_diag.h
socket.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
srcu: Add DEFINE_SRCU()
2012-10-27 15:38:29 -07:00
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stmmac.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-12-13 12:00:02 -08:00
stmp_device.h
stop_machine.h
string.h
string: introduce helper to get base file name from given path
2012-12-17 17:15:17 -08:00
string_helpers.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi_timer.h
clocksource: sunxi: Add Allwinner A1X Timer Driver
2012-11-16 21:56:50 +01:00
superhyway.h
suspend.h
svga.h
swab.h
swap.h
swapfile.h
swapops.h
swiotlb.h
swiotlb: Do not export swiotlb_bounce since there are no external consumers
2012-10-30 09:32:07 -04:00
synclink.h
sys.h
sys_soc.h
syscalls.h
Nothing all that exciting; a new module-from-fd syscall for those who want
2012-12-19 07:55:08 -08:00
syscore_ops.h
sysctl.h
sysctl: Pass useful parameters to sysctl permissions
2012-11-18 20:30:55 -05:00
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
net: Add support for hardware-offloaded encapsulation
2012-12-09 00:20:28 -05:00
tegra-ahb.h
ARM: tegra: move tegra-ahb.h out of arch/arm/mach-tegra/
2012-11-05 11:36:06 -07:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
Thermal: Fix DEFAULT_THERMAL_GOVERNOR
2012-12-12 15:34:48 +08:00
thread_info.h
fork: protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs
2012-12-18 15:02:13 -08:00
threads.h
ti_wilink_st.h
tick.h
cpuidle: Quickly notice prediction failure for repeat mode
2012-11-15 00:34:19 +01:00
tifm.h
timb_dma.h
timb_gpio.h
time-armada-370-xp.h
time.h
timekeeper_internal.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
tracing,x86: Add a TSC trace_clock
2012-11-13 15:48:27 -05:00
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h
TTY: introduce tty_port_destroy
2012-11-15 17:20:58 -08:00
tty_driver.h
tty_flip.h
TTY: move tty buffers to tty_port
2012-10-22 16:58:28 -07:00
tty_ldisc.h
typecheck.h
types.h
mm, oom: fix race when specifying a thread as the oom origin
2012-12-11 17:22:27 -08:00
u64_stats_sync.h
uaccess.h
ucb1400.h
udp.h
net: Add support for hardware-offloaded encapsulation
2012-12-09 00:20:28 -05:00
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
uprobes: Use percpu_rw_semaphore to fix register/unregister vs dup_mmap() race
2012-11-16 14:52:51 +01:00
usb.h
USB: add USB_DEVICE_INTERFACE_CLASS macro
2012-10-31 12:58:11 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
proc: Usable inode numbers for the namespace file descriptors.
2012-11-20 04:19:49 -08:00
uts.h
utsname.h
proc: Usable inode numbers for the namespace file descriptors.
2012-11-20 04:19:49 -08:00
uuid.h
uwb.h
vermagic.h
vexpress.h
ARM: vexpress: Start using new Versatile Express infrastructure
2012-11-05 17:09:51 +00:00
vfio.h
vfs.h
vga_switcheroo.h
vgaarb.h
Fix misspellings of "whether" in comments.
2012-11-19 14:31:35 +01:00
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h
videodev2.h
virtio.h
virtio: add drv_to_virtio to make code clearly
2012-12-18 15:20:43 +10:30
virtio_config.h
virtio_console.h
virtio_mmio.h
virtio_ring.h
virtio_scsi.h
virtio-scsi: Add real 2-clause BSD license to header
2012-10-22 18:20:00 +10:30
vlynq.h
vm_event_item.h
Automatic NUMA Balancing V11
2012-12-16 15:18:08 -08:00
vmalloc.h
vme.h
vmstat.h
mm: numa: Add pte updates, hinting and migration stats
2012-12-11 14:42:48 +00:00
vt.h
vt_buffer.h
vt_kern.h
vtime.h
vtime: Explicitly account pending user time on process tick
2012-11-19 16:41:21 +01:00
w1-gpio.h
wait.h
wait: add wait_event_lock_irq() interface
2012-11-30 11:47:57 +01:00
wanrouter.h
watchdog.h
Fix misspellings of "whether" in comments.
2012-11-19 14:31:35 +01:00
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
writeback: remove nr_pages_dirtied arg from balance_dirty_pages_ratelimited_nr()
2012-12-11 17:22:21 -08:00
xattr.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h