Messages in this thread | | | Date | Tue, 9 Apr 2013 14:02:01 -0700 | From | Tejun Heo <> | Subject | Re: dm-crypt parallelization patches |
| |
Hey,
On Tue, Apr 09, 2013 at 04:32:28PM -0400, Mikulas Patocka wrote: > > and we probably need to change that to bio_associate_task(). > > Generally, we shouldn't associate bios with "current" task in device > mapper targets. For example suppose that we have two stacked dm-crypt > targets:
It only follows the first association so it doesn't matter how many layers it goes through. That said, yeah, there could be situations where @task is availalbe but the bio's already in the hand of a different task. If that's the case, change it to associate_task(@task).
> It doesn't work because device mapper on the underlying layers ignores > bi_ioc and bi_css. > > If I make device mapper forward bi_ioc and bi_css to outgoing bios, it > improves performance (from 2:30 to 1:30), but it is still far from > perfect.
For testing, copying bi_ioc and bi_css directly is fine but please add another interface to copy those for the actual code. Say, bio_copy_association(@to_bio, @from_bio) or whatever.
As for the performance loss, I'm somewhat confident in saying the remaining difference would be from ignoring plugging boundaries.
Thanks.
-- tejun
| |