Re: [PATCH v2 4/6] mm: introduce common page state for ballooned memory

From: Konstantin Khlebnikov
Date: Sat Sep 13 2014 - 04:22:34 EST


On Sat, Sep 13, 2014 at 9:42 AM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, 13 Sep 2014 09:26:49 +0400 Konstantin Khlebnikov <koct9i@xxxxxxxxx> wrote:
>
>> >
>> > Did we really need to put the BalloonPages count into per-zone vmstat,
>> > global vmstat and /proc/meminfo? Seems a bit overkillish - why so
>> > important?
>>
>> Balloon grabs random pages, their distribution among numa nodes might
>> be important.
>> But I know nobody who uses numa-aware vm together with ballooning.
>>
>> Probably it's better to drop per-zone vmstat and line from meminfo,
>> global vmstat counter should be enough.
>
> Yes, the less we add the better - we can always add stuff later if
> there is a demonstrated need.

Ok. (I guess incremental patches are more convenient for you)
Here is two fixes which remove redundant per-zone counters and adds
three vmstat counters: "balloon_inflate", "balloon_deflate" and
"balloon_migrate".

This statistic seems more useful than current state snapshot.
Size of balloon is just a difference between "inflate" and "deflate".

>
>> >
>> > Consuming another page flag is a big deal. We keep on nearly running
>> > out and one day we'll run out for real. page-flags-layout.h is
>> > incomprehensible. How many flags do we have left (worst-case) with this
>> > change? Is there no other way? Needs extraordinary justification,
>> > please.
>>
>> PageBalloon is not a page flags, it's like PageBuddy -- special state
>> of _mapcount (-256 in this case).
>> The same was in v1 and is written in the comment above.
>
> oop sorry, I got confused about KPF_BALLOON.

Attachment: mm-balloon_compaction-use-common-page-ballooning-use-vmstat-counters
Description: Binary data

Attachment: mm-introduce-common-page-state-for-ballooned-memory-vmstat-counters
Description: Binary data