Messages in this thread | | | Date | Wed, 8 Feb 2012 09:23:13 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH] block: strip out locking optimization in put_io_context() |
| |
On Wed, Feb 08, 2012 at 08:56:11AM -0800, Tejun Heo wrote: > On Wed, Feb 08, 2012 at 08:49:20AM -0800, Tejun Heo wrote: > > I'm still a bit lost on where the regression is coming from and > > *suspecting* that queue_lock contention is making the reverse locking > > behave much worse than expected, so I mostly wanted to take that out > > and see what happens. > > IOW, we can achieve about the same thing by adding another lock in > request_queue. The goal is using an inner lock for ioc clearing so > that queue_lock doesn't have to be grabbed inside ioc lock.
Urgh....... forget about the above message. My head is still booting. We can't do this w/ per-queue lock as we don't have a way to traverse the associated queues w/o holding the lock and we need read locking on ioc exit path as we may recurse through elevator icq exit (it's not about concurrency). /me goes to brew coffee.
-- tejun
| |