can generic_make_request in 2.4 kernel sleep?

From: Ming Zhang
Date: Sat Feb 28 2004 - 11:09:58 EST


Hi, I have a quick question.

In 2.4 kernel, can generic_make_request sleep?

I read the 2.4.24 kernel and find that there is printk in it. so i
assume it can sleep. if so, why the per queue make_request_fn can not
sleep base on the LDD book? and i do not see any place that the
io_request_lock is held. is this lock removed from system? or we do not
need this lock at this place any more?

and in md code, it use blk_queue_make_request to use its own request_fn
instead a queue, for example, in raid1_make_request(), it calls
raid1_alloc_r1ch() which also call schedule() if need, then this own
request_fn can sleep?

i think i am little confused about the LDD (linux device driver 2nd)
book and the new kernel code. can anybody point out some latest
reference for me?

thanks a bunch.


ming


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/