https://github.com/torvalds/linux
Revision db3b5848ea6440968fcdd29b80514d0de044bb7c authored by Kiyoshi Ueda on 17 June 2005, 14:15:10 UTC, committed by Jens Axboe on 17 June 2005, 14:15:10 UTC
__cfq_get_queue().  __cfq_get_queue() finds an existing queue (struct
cfq_queue) of the current process for the device and returns it.  If it's not
found, __cfq_get_queue() creates and returns a new one if __cfq_get_queue() is
called with __GFP_WAIT flag, or __cfq_get_queue() returns NULL (this means that
get_request() fails) if no __GFP_WAIT flag.

On the other hand, in __make_request(), get_request() is called without
__GFP_WAIT flag at the first time.  Thus, the get_request() fails when there is
no existing queue, typically when it's called for the first I/O request of the
process to the device.

Though it will be followed by get_request_wait() for general case,
__make_request() will just end the I/O with an error (EWOULDBLOCK) when the
request was for read-ahead.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
1 parent c374f12
History
Tip revision: db3b5848ea6440968fcdd29b80514d0de044bb7c authored by Kiyoshi Ueda on 17 June 2005, 14:15:10 UTC
When cfq I/O scheduler is selected, get_request() in __make_request() calls
Tip revision: db3b584
File Mode Size
basic
genksyms
kconfig
ksymoops
lxdialog
mod
package
Lindent -rwxr-xr-x 54 bytes
Makefile -rw-r--r-- 801 bytes
Makefile.build -rw-r--r-- 9.8 KB
Makefile.clean -rw-r--r-- 2.9 KB
Makefile.host -rw-r--r-- 5.8 KB
Makefile.lib -rw-r--r-- 9.9 KB
Makefile.modinst -rw-r--r-- 825 bytes
Makefile.modpost -rw-r--r-- 3.4 KB
bin2c.c -rw-r--r-- 702 bytes
binoffset.c -rw-r--r-- 3.9 KB
checkconfig.pl -rwxr-xr-x 1.7 KB
checkincludes.pl -rwxr-xr-x 529 bytes
checkstack.pl -rw-r--r-- 3.5 KB
checkversion.pl -rwxr-xr-x 1.9 KB
conmakehash.c -rw-r--r-- 6.0 KB
extract-ikconfig -rwxr-xr-x 1.6 KB
gcc-version.sh -rw-r--r-- 338 bytes
gen_initramfs_list.sh -rw-r--r-- 4.7 KB
kallsyms.c -rw-r--r-- 17.7 KB
kernel-doc -rwxr-xr-x 49.7 KB
makelst -rwxr-xr-x 941 bytes
mkcompile_h -rwxr-xr-x 2.1 KB
mkmakefile -rw-r--r-- 563 bytes
mksysmap -rw-r--r-- 1.3 KB
mkuboot.sh -rwxr-xr-x 293 bytes
mkversion -rw-r--r-- 74 bytes
namespace.pl -rw-r--r-- 13.1 KB
patch-kernel -rwxr-xr-x 9.7 KB
pnmtologo.c -rw-r--r-- 11.7 KB
reference_discarded.pl -rw-r--r-- 3.2 KB
reference_init.pl -rw-r--r-- 3.3 KB
show_delta -rw-r--r-- 3.0 KB
ver_linux -rwxr-xr-x 3.0 KB

back to top