Hello, I'm looking into the code and try to find out how request_fn is called and in what context. According to the comment above generic_unplug_device, it seems the general case that Linux processes requests in a queue is that it unplugs the queue. But what is the general case that Linux unplugs a queue? For example, when the number of requests in a queue reaches a threshold or get_request() cannot get any free requests, __generic_unplug_device is invoked. But when there aren't many requests there would be large delay if there was no timer to invoke __generic_unplug_device. However, I cannot find any place where __generic_unplug_device is called by a timer. Maybe I'm wrong in the beginning. So could anyone give me some clues how request_fn is invoked in Linux? Thank you, Zheng Da -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ