Messages in this thread | | | Date | Tue, 11 Sep 2012 12:31:24 -0700 | From | Kent Overstreet <> | Subject | Re: [PATCH 2/2] block: Avoid deadlocks with bio allocation by stacking drivers |
| |
On Tue, Sep 11, 2012 at 11:58:05AM -0700, Muthu Kumar wrote: > On Tue, Sep 11, 2012 at 11:45 AM, Tejun Heo <tj@kernel.org> wrote: > > Hello, > > > > On Tue, Sep 11, 2012 at 11:36:28AM -0700, Muthu Kumar wrote: > >> Does this preserve the CPU from which the bio was submitted > >> originally. Not familiar with cmwq, may be Tejun can clarify. > >> > >> Tejun - the question is, do we honor the rq_affinity with the above > >> rescue worker implementation? > > > > The work item would run from the same CPU but there isn't any > > mechanism to keep track of the issuing CPU if there are multiple bios > > to be rescued. Isn't rq_affinity an optimization hint? If so, I > > don't think it matters here. > > > > Thanks... Just worried about performance impact. > > Kent - Anything to validate that the performance is not impacted would > be really good. Otherwise, the patch looks great.
Well - there'll only be any performance impact at all when we're memory constrained enough that GFP_NOWAIT allocations fail, which for these size allocations definitely isn't normal.
I did test it with forcing everything to use the rescuer, and I also benchmarked Vivek's version - in any sane configuration, the impact of punting everything to workqueue is not very noticable (the AHCI interrupt handler uses more cpu).
> > Feel free to add: > > Reviewed-by: Muthukumar Ratty <muthur@gmail.com>
Thanks!
| |