Messages in this thread | | | Date | Tue, 14 Feb 2012 10:36:36 +0800 | Subject | Re: [PATCH] block: strip out locking optimization in put_io_context() | From | Shaohua Li <> |
| |
2012/2/14 Tejun Heo <tj@kernel.org>: > Hello, Shaohua. > > Can you please test the following patch? It's combination of three > patches which invokes elevator icq exit from exit_io_context(). This > unfortunately ends up adding another reverse locking loop and using > RCU could be better; unfortunately, the change isn't trivial due to > q->queue_lock modification during blk_cleanup_queue() and ioc cleanup > being called after that from blk_release_queue() - IOW, while holding > RCU, we might end up grabbing the wrong q lock (I don't think this is > a new problem). > > Now that we have proper request draining on queue exit, we can > probably move ioc clearing and other operations to blk_cleanup_queue() > and then apply RCU, but that's for another merge window. This fixed the regression. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |