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 -- 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/

