Re: large page patch

Linus Torvalds (torvalds@transmeta.com)
Thu, 1 Aug 2002 21:32:44 -0700 (PDT)


On Thu, 1 Aug 2002, David S. Miller wrote:
>
> Of course, if you can actually measure it, that would be
> interesting. Naive math gives you a guess for the order of
> magnitude effect, but nothing beats real numbers ;)
>
> The SYSV folks actually did have a buddy allocator a long time ago and
> they did implement lazy coalescing because is supposedly improved
> performance.

I bet that is mainly because of CPU scalability, and being able to avoid
touching the buddy lists from multiple CPU's - the same reason _we_ have
the per-CPU front-ends on various allocators.

I doubt it is because buddy matters past the 4MB mark. I just can't see
how you can avoid the naive math which says that it should be 1/512th as
common to coalesce to 4MB as it is to coalesce to 8kB.

Walking the buddy bitmaps for a few levels (ie up to order 3 or 4) is
probably quite common, and it's likely to be bad from a SMP cache
standpoint (touching a few bits with what must be fairly random patterns).
So avoiding the buddy with a simple front-end is likely to win you
something, without actually being meaningful at the MAX_ORDER point.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/