Re: [PATCH 2/2] mm, memory_hotplug: remove zone restrictions

From: Wei Yang
Date: Wed Jul 05 2017 - 19:16:59 EST


On Fri, Jun 30, 2017 at 01:01:18PM +0200, Michal Hocko wrote:
>On Fri 30-06-17 11:55:45, Michal Hocko wrote:
>> On Fri 30-06-17 17:39:56, Wei Yang wrote:
>> > On Fri, Jun 30, 2017 at 4:39 PM, Michal Hocko <mhocko@xxxxxxxxxx> wrote:
>> [...]
>> > > yes and to be honest I do not plan to fix it unless somebody has a real
>> > > life usecase for it. Now that we allow explicit onlininig type anywhere
>> > > it seems like a reasonable behavior and this will allow us to remove
>> > > quite some code which is always a good deal wrt longterm maintenance.
>> > >
>> >
>> > hmm... the statistics displayed in /proc/zoneinfo would be meaningless
>> > for zone_normal and zone_movable.
>>
>> Why would they be meaningless? Counters will always reflect the actual
>> use - if not then it is a bug. And wrt to zone description what is
>> meaningless about
>> memory34/valid_zones:Normal
>> memory35/valid_zones:Normal Movable
>> memory36/valid_zones:Movable
>> memory37/valid_zones:Movable Normal
>> memory38/valid_zones:Movable Normal
>> memory39/valid_zones:Movable Normal
>> memory40/valid_zones:Normal
>> memory41/valid_zones:Movable
>>
>> And
>> Node 1, zone Normal
>> pages free 65465
>> min 156
>> low 221
>> high 286
>> spanned 229376
>> present 65536
>> managed 65536
>> [...]
>> start_pfn: 1114112
>> Node 1, zone Movable
>> pages free 65443
>> min 156
>> low 221
>> high 286
>> spanned 196608
>> present 65536
>> managed 65536
>> [...]
>> start_pfn: 1179648
>>
>> ranges are clearly defined as [start_pfn, start_pfn+managed] and managed
>
>errr, this should be [start_pfn, start_pfn + spanned] of course.
>

The spanned is not adjusted after offline, neither does start_pfn. For example,
even offline all the movable_zone range, we can still see the spanned.

Below is a result with a little changed kernel to show the start_pfn always.
The sequence is:
1. bootup

Node 0, zone Movable
spanned 65536
present 0
managed 0
start_pfn: 0

2. online movable 2 continuous memory_blocks

Node 0, zone Movable
spanned 65536
present 65536
managed 65536
start_pfn: 1310720

3. offline 2nd memory_blocks

Node 0, zone Movable
spanned 65536
present 32768
managed 32768
start_pfn: 1310720

4. offline 1st memory_blocks

Node 0, zone Movable
spanned 65536
present 0
managed 0
start_pfn: 1310720

So I am not sure this is still clearly defined?

>> matches the number of onlined pages (256MB).
>
>--
>Michal Hocko
>SUSE Labs

--
Wei Yang
Help you, Help me

Attachment: signature.asc
Description: PGP signature