Re: The performance and behaviour of the anti-fragmentation related patches

Nick Piggin
2007-03-05T16:02:16Z

On Mon, Mar 05, 2007 at 09:20:10AM -0600, Joel Schopp wrote:
> >But if you don't require a lot of higher order allocations anyway, then
> >guest fragmentation caused by ballooning doesn't seem like much problem.
>
> If you only need to allocate 1 page size and smaller allocations then no
> it's not a problem. As soon as you go above that it will be. You don't
> need to go all the way up to MAX_ORDER size to see an impact, it's just
> increasingly more severe as you get away from 1 page and towards MAX_ORDER.

We allocate order 1 and 2 pages for stuff without too much problem.

> >If you need higher order allocations, then ballooning is bad because of
> >fragmentation, so you need memory unplug, so you need higher order
> >allocations. Goto 1.
>
> Yes, it's a closed loop. But hotplug isn't the only one that needs higher
> order allocations. In fact it's pretty far down the list. I look at it
> like this, a lot of users need high order allocations for better
> performance and things like on-demand hugepages. As a bonus you get memory
> hot-remove.

on-demand hugepages could be done better anyway by having the hypervisor
defrag physical memory and provide some way for the guest to ask for a
hugepage, no?

> >Balooning probably does skew memory management stats and watermarks, but
> >that's just because it is implemented as a module. A couple of hooks
> >should be enough to allow things to be adjusted?
>
> That is a good idea independent of the current discussion.

Well it shouldn't be too difficult. If you cc linux-mm and/or me with
any thoughts or requirements then I could try to help with it.

Thanks,
Nick