I was going through the code in linux/drivers/block/ll_rw_blk.c and had a doubt which i though someone could answer In a block device , The kernel maintains a global list of requests in blk_dev[MAX_BLKDEV]. The request handlers are initalized for a particular device by q->request_fn = rfn; My question is how does the Kernel signal ("wake up") the appropriate driver that "now you have a request that you need to service" Thanks in advance Mathew -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/