linux/Documentation
Vivek Goyal 4931402a9d cfq-iosched: Add documentation about idling
There are always questions about why CFQ is idling on various conditions.
Recent ones is Christoph asking again why to idle on REQ_NOIDLE. His
assertion is that XFS is relying more and more on workqueues and is
concerned that CFQ idling on IO from every workqueue will impact
XFS badly.

So he suggested that I add some more documentation about CFQ idling
and that can provide more clarity on the topic and also gives an
opprotunity to poke a hole in theory and lead to improvements.

So here is my attempt at that. Any comments are welcome.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2011-08-05 09:42:20 +02:00
..
ABI Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-07-25 23:08:32 -07:00
accounting Documentation: update cgroupfs mount point 2011-06-15 21:52:50 -07:00
acpi ACPI: Split out custom_method functionality into an own driver 2011-05-29 01:50:40 -04:00
aoe
arm Merge branch 'next/deletion' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 12:43:28 -07:00
auxdisplay
blackfin Blackfin: spi-docs: further clarify GPIO CS behavior with various modes 2011-07-23 01:18:35 -04:00
block cfq-iosched: Add documentation about idling 2011-08-05 09:42:20 +02:00
blockdev doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
cdrom
cgroups memcg: add memory.vmscan_stat 2011-07-26 16:49:42 -07:00
connector
console
cpu-freq doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
cpuidle
cris
crypto
development-process sched: Generalize sleep inside spinlock detection 2011-06-23 00:44:38 +02:00
device-mapper Fix common misspellings 2011-03-31 11:26:23 -03:00
devicetree Merge branch 'next/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-29 23:32:02 -07:00
DocBook Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-07-30 00:08:53 -07:00
driver-model DOCUMENTATION: Replace create_device() with device_create(). 2011-06-07 10:04:22 -07:00
dvb [media] em28xx: Change firmware name for Terratec H5 DRX-K 2011-07-27 17:55:51 -03:00
early-userspace
fault-injection
fb DRM: clean up and document parsing of video= parameter 2011-07-25 12:02:26 +01:00
filesystems Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-07-26 18:30:20 -07:00
firmware_class
frv
hid HID: Move hiddev.txt to the new Documentation/hid directory 2011-03-22 11:43:51 +01:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging 2011-07-30 08:57:57 -10:00
i2c i2c-i801: SMBus patch for Intel Panther Point DeviceIDs 2011-05-24 20:58:49 +02:00
i2o doc: i2o: fix typo 'Settting' 2011-06-07 16:06:01 +02:00
ia64 Fix common misspellings 2011-03-31 11:26:23 -03:00
ide
infiniband
input Input: elantech - describe further the protocol 2011-05-16 22:48:24 -07:00
ioctl drivers/virt: introduce Freescale hypervisor management driver 2011-07-08 00:21:27 -05:00
isdn doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
ja_JP Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
kbuild doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
kdump
ko_KR
laptops thinkpad-acpi: handle HKEY 0x4010, 0x4011 events 2011-07-07 10:39:05 -04:00
leds Documentation: consolidate leds files to leds/ subdir 2011-04-04 17:51:47 -07:00
m68k
make
mips Fix common misspellings 2011-03-31 11:26:23 -03:00
misc-devices Fix common misspellings 2011-03-31 11:26:23 -03:00
mmc mmc: documentation of mmc non-blocking request usage and design. 2011-07-21 10:34:52 -04:00
mn10300
mtd
namespaces
netlabel
networking stmmac: improve and up-to-date the documentation 2011-07-21 15:29:16 -07:00
nfc NFC: Driver for NXP Semiconductors PN544 NFC chip. 2011-01-13 08:03:19 -08:00
parisc
PCI Fix common misspellings 2011-03-31 11:26:23 -03:00
pcmcia
power Merge branch 'pm-runtime' into for-linus 2011-07-15 23:59:25 +02:00
powerpc Fix common misspellings 2011-03-31 11:26:23 -03:00
pps pps: add parallel port PPS signal generator 2011-01-13 08:03:21 -08:00
prctl
pti Kernel documentation for the PTI feature. 2011-05-13 16:31:00 -07:00
ptp ptp: Added a brand new class driver for ptp clocks. 2011-05-23 13:01:00 -07:00
rapidio rapidio: add RapidIO documentation 2011-03-23 19:46:41 -07:00
RCU doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
s390 [S390] remove tape block docu 2011-07-24 10:48:22 +02:00
scheduler Merge branch 'master' into for-next 2011-07-11 14:15:55 +02:00
scsi [SCSI] megaraid_sas Version to 5.40-rc1 and Changelog update 2011-07-27 15:45:22 +04:00
security encrypted-keys: move ecryptfs documentation to proper location 2011-06-30 19:08:14 +10:00
serial doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
sh
sound ALSA: hda - Add documentation for codec-specific mixer controls 2011-07-19 09:34:10 +02:00
sparc
spi spi/pxa2xx: Remove unavailable ssp_type from documentation 2011-06-18 22:36:30 -06:00
sysctl ipc: introduce shm_rmid_forced sysctl 2011-07-26 16:49:44 -07:00
target [SCSI] tcm_mod_builder.py: Fix generated *_drop_nodeacl() handler 2011-03-23 11:36:45 -05:00
telephony Fix common misspellings 2011-03-31 11:26:23 -03:00
thermal thermal: Add event notification to thermal framework 2011-01-12 00:08:35 -05:00
timers doc: timers-howto: fix a typo ("unsgined") 2011-05-17 10:52:02 +02:00
trace tracing/kprobes: Support module init function probing 2011-07-15 15:17:14 -04:00
usb Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-07-25 23:08:32 -07:00
vDSO Document the vDSO and add a reference parser 2011-07-14 17:57:09 -07:00
video4linux [media] v4l2-framework.txt: update v4l2_event section 2011-07-27 17:53:33 -03:00
virtual Merge branch 'kvm-updates/3.1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-07-24 09:07:03 -07:00
vm Documentation: update cgroupfs mount point 2011-06-15 21:52:50 -07:00
w1 Fix common misspellings 2011-03-31 11:26:23 -03:00
watchdog watchdog: WatchDog Timer Driver Core - Add minimum and max timeout 2011-07-28 08:01:18 +00:00
wimax
x86 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-22 17:05:15 -07:00
zh_CN Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
.gitignore
00-INDEX Merge branch 'docs-security' into docs-move 2011-05-20 09:10:04 -07:00
applying-patches.txt
atomic_ops.txt Documentation/atomic_ops.txt: avoid volatile in sample code 2011-05-26 17:12:34 -07:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt mm: convert mm->cpu_vm_cpumask into cpumask_var_t 2011-05-25 08:39:21 -07:00
Changes Documentation/Changes: remove some really obsolete text 2011-07-11 16:48:38 -07:00
circular-buffers.txt
coccinelle.txt
CodingStyle Documentation: update CodingStyle memory allocators 2011-07-06 13:17:51 -07:00
cpu-hotplug.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
cpu-load.txt
cputopology.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
devices.txt
DMA-API-HOWTO.txt Documentation/DMA-API-HOWTO.txt: fix misleading example 2011-07-26 16:49:45 -07:00
DMA-API.txt
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt dmaengine: Add API documentation for slave dma usage 2011-05-25 14:49:20 -07:00
dontdiff Documentation: update dontdiff file 2011-05-23 15:14:11 -07:00
dynamic-debug-howto.txt Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 2011-03-27 19:46:59 -07:00
edac.txt Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
eisa.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
email-clients.txt Documentation/email-clients.txt: update Thunderbird docs with wordwrap plugin 2011-01-13 08:03:15 -08:00
feature-removal-schedule.txt Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-07-30 00:08:53 -07:00
flexible-arrays.txt flex_array: flex_array_prealloc takes a number of elements, not an end 2011-04-28 16:12:47 -04:00
futex-requeue-pi.txt
gcov.txt
gpio.txt Revert "gpiolib: annotate gpio-intialization with __must_check" 2011-01-13 17:26:46 -08:00
highuid.txt
HOWTO Documentation: update LXR web link 2011-05-23 15:14:11 -07:00
hw_random.txt
hwspinlock.txt drivers: hwspinlock: add framework 2011-02-17 09:52:03 -08:00
init.txt
initrd.txt
intel_txt.txt
Intel-IOMMU.txt
io_ordering.txt
io-mapping.txt
iostats.txt Documentation/iostats.txt: bit-size reference etc. 2011-03-23 20:44:18 +01:00
IPMI.txt
IRQ-affinity.txt bitmap, irq: add smp_affinity_list interface to /proc/irq 2011-05-25 08:39:45 -07:00
IRQ.txt
irqflags-tracing.txt Fix common misspellings 2011-03-31 11:26:23 -03:00
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt loop: add BLK_DEV_LOOP_MIN_COUNT=%i to allow distros 0 pre-allocated loop devices 2011-07-31 22:08:04 +02:00
kmemcheck.txt
kmemleak.txt Documentation: update kmemleak supported archs 2011-06-15 21:52:50 -07:00
kobject.txt
kprobes.txt
kref.txt kref: Fix typo in kref documentation 2011-03-07 13:20:05 -08:00
ldm.txt
local_ops.txt
lockdep-design.txt
lockstat.txt Documentation: Add statistics about nested locks 2011-05-28 17:03:29 +02:00
logo.gif
logo.txt
magic-number.txt doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
Makefile
ManagementStyle
mca.txt doc: fix wrong arch/i386 references 2011-06-13 13:43:05 +02:00
md.txt md: update documentation for md/rdev/state sysfs interface 2011-07-28 11:31:48 +10:00
media-framework.txt [media] v4l: Fix minor typos in the documentation 2011-07-27 17:53:10 -03:00
memory-barriers.txt smp: Document transitivity for memory barriers. 2011-03-04 08:05:49 -08:00
memory-hotplug.txt memory hotplug: Allow memory blocks to span multiple memory sections 2011-02-03 16:08:57 -08:00
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
printk-formats.txt Documentation: update printk-formats.txt 2011-06-15 21:52:50 -07:00
prio_tree.txt
rbtree.txt Documentation: Update augmented rbtree documentation 2011-07-24 10:03:05 -07:00
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer 2011-03-09 11:25:10 -08:00
SAK.txt
SecurityBugs Fix common misspellings 2011-03-31 11:26:23 -03:00
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
sparse.txt
spinlocks.txt Documentation/spinlocks.txt: Remove reference to sti()/cli() 2011-07-11 12:45:04 -07:00
stable_api_nonsense.txt doc: stable_api_nonsense.txt: fix paragraph to make more sense. 2011-03-30 12:02:05 +02:00
stable_kernel_rules.txt
SubmitChecklist Documentation/SubmitChecklist: add RCU debug config options 2011-07-25 20:57:17 -07:00
SubmittingDrivers Fix common misspellings 2011-03-31 11:26:23 -03:00
SubmittingPatches Documentation: update GregKH links 2011-05-23 15:14:11 -07:00
svga.txt
sysfs-rules.txt
sysrq.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt Documentation: fix vgaarbiter.txt typos etc. 2011-05-23 15:14:11 -07:00
video-output.txt
volatile-considered-harmful.txt
workqueue.txt workqueue: Document debugging tricks 2011-03-31 13:40:42 +02:00
xz.txt decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00
zorro.txt