On Tue, 2013-02-12 at 09:13 -0800, Tejun Heo wrote:
Hello,
On Tue, Feb 12, 2013 at 07:07:20PM +0200, Imre Deak wrote:
It's the one implemented by sg_miter_{start,stop} in scatterlist.c. It also iterates through a scatterlist a page at a time, but it also kmaps these pages. Since in our use case we don't need to map the pages we needed a solution without this overhead.
I'm not against having non-mapping iterator but please consider that kmaps are no-ops on many configurations. It matters only for archs w/ high memory.
Ok, I haven't thought about that. But in any case we care about those archs too and would like to avoid the mapping there as well.
where each entry on the sglist contained 16 consecutive pages. This takes ~10% more time for the uninlined version to run. This is a rather artificial test and I couldn't come up with something more real-life using only the i915 driver's ioctl interface that would show a significant change in speed.
So at least for now I'm ok with just uninlining all the helpers.
Can we reimplement mapping iters using the new ones?
Yes I think it's a good idea, I will follow up with a new patchset addressing this and Andrew's comments.
Thanks, Imre