[PATCH v3 1/6] iommu/core: split mapping to page sizes as supported by the hardware
Ohad Ben-Cohen
ohad at wizery.com
Tue Sep 27 09:28:37 EDT 2011
On Tue, Sep 27, 2011 at 4:12 PM, Roedel, Joerg <Joerg.Roedel at amd.com> wrote:
> You pass a pointer to an unsigned long for the page-size bitmap. This
> allows to use an array of unsigned long. But a single unsigned long is
> sufficient
This is fine; I can change that if you like it better (though without
doing the change below this is probably moot).
> and you can use functions like ffs() and fls() together with
> shifting. These functions often translate to a single intruction in the
> binary. The find_next_bit function has much more overhead because it
> needs to handle the array-of-ulong case.
So you're suggesting to re-implement find_next_bit() using ffs()/fls()
and shifting ?
What's the point ?
Sure, if we'll have a proven performance issue while using
find_next_bit() we can think of doing this, but at this stage, this
sounds to me like a premature optimization which isn't too elegant.
At this point I strongly prefer readable, maintainable and easier to
debug code over optimization which isn't proven to be necessary.
Thanks,
Ohad.
More information about the linux-arm-kernel
mailing list