On Thu, 2012-09-20 at 10:53 -0700, Tejun Heo wrote: > On Thu, Sep 20, 2012 at 07:05:42AM +0300, Maxim Levitsky wrote: > > There can't be races in the driver, since it contains a single thread > > that does all the IO it got from block layer. > > The thread is awaken each time the request function of block device is > > called. > > This why I didn't do much locking in here. In addition I found out that > > this is quite common way to implement a block device driver. > > Please use workqueue instead of raw kthread. > > Thanks! Now that my exams done.... Can you spare me from using a workqueue? The point is that using current model I wake the worker thread as much as I want to, and I know that it will be woken once an will do all the work till request queue is empty. With workqueues, it doesn't work this way. I have to pass the request as a work item or something like that. Any pointers?
Best regards, Maxim Levitsky -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

