Messages in this thread | | | Date | Tue, 25 Sep 2012 12:40:17 -0700 | From | Tejun Heo <> | Subject | Re: [PATCH v2 memstick: support for legacy sony memsticks |
| |
On Tue, Sep 25, 2012 at 09:34:39PM +0200, Maxim Levitsky wrote: > But this just adds the WQ_UNBOUND. Dunno, without lock I had several > crashes, that for high level of confidence caused by by parallel > execution of work items. Once I added this mutex, I couldnt reproduce > these.
Yes the combination of WQ_UNBOUND and max_active==1 guarantees strictly ordered one-by-one execution.
> I had the __blk_end_request fail with NULL msb->req. I can't see how > that can happen if work queue isn't executed in parallel. > (and then the I didn't even had by mistake the code that sets it to NULL > in msb_stop, so I really fail to see how that could happen due internal > bug in my code.
If you're seeing parallel execution w/ ordered workqueue, it is a critical bug which would make the kernel crash left and right. Please try alloc_ordered_workqueue() and if you still see parallel execution, please report.
Thanks.
-- tejun
| |