kernel-hacking-2024-linux-s.../include
Chen, Kenneth W e61c90188b [PATCH] optimize o_direct on block devices
Implement block device specific .direct_IO method instead of going through
generic direct_io_worker for block device.

direct_io_worker() is fairly complex because it needs to handle O_DIRECT on
file system, where it needs to perform block allocation, hole detection,
extents file on write, and tons of other corner cases.  The end result is
that it takes tons of CPU time to submit an I/O.

For block device, the block allocation is much simpler and a tight triple
loop can be written to iterate each iovec and each page within the iovec in
order to construct/prepare bio structure and then subsequently submit it to
the block layer.  This significantly speeds up O_D on block device.

[akpm@osdl.org: small speedup]
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:50 -08:00
..
acpi
asm-alpha
asm-arm [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-arm26
asm-avr32 Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32 2006-12-11 18:28:59 -08:00
asm-cris
asm-frv [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-generic Make sure we populate the initroot filesystem late enough 2006-12-11 12:12:04 -08:00
asm-h8300
asm-i386 [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-ia64 [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] IP27: Don't drag <asm/sn/arch.h> into topology.h. 2006-12-12 01:46:24 +00:00
asm-parisc
asm-powerpc [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-ppc Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc 2006-12-11 16:31:42 +11:00
asm-s390
asm-sh [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-sh64
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86_64 [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
asm-xtensa [PATCH] Xtensa: Add ktermios and minor filename fix 2006-12-13 09:05:50 -08:00
crypto
keys
linux [PATCH] optimize o_direct on block devices 2006-12-13 09:05:50 -08:00
math-emu
media V4L/DVB (4935): Added the capability of selecting fm gain by tuner 2006-12-10 09:05:52 -02:00
mtd
net [HAMRADIO]: Fix baycom_epp.c compile failure. 2006-12-11 14:35:01 -08:00
pcmcia
rdma IB: Add DMA mapping functions to allow device drivers to interpose 2006-12-12 14:27:41 -08:00
rxrpc
scsi
sound
video
Kbuild