Hello, On Wed, Jul 31, 2013 at 09:24:34AM +0800, Shaohua Li wrote: > stripe is the work unit actually. As I said, if I queue a work for each stripe, > just queue_work() will make the system blast because of the pwq->pool->lock > contention. dispatching one work has another side effect that I can't add block Hmmm.... I see. I'm not familiar with the code base and could be missing something but how does the custom stripe dispatch queue synchronize? Doesn't that make use of a lock anyway? If so, how would scheduling separate work items be worse? Also, can you please elaborate the block plug part? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html