Thread (35 messages) 35 messages, 9 authors, 2017-03-15

Re: WTH is going on with memory hotplug sysf interface

From: Michal Hocko <mhocko@kernel.org>
Date: 2017-03-14 16:20:14
Also in: linux-acpi, linux-mm, linux-s390, lkml

On Tue 14-03-17 12:05:59, YASUAKI ISHIMATSU wrote:

On 03/13/2017 05:19 AM, Michal Hocko wrote:
quoted
On Fri 10-03-17 12:39:27, Yasuaki Ishimatsu wrote:
quoted
On 03/10/2017 08:58 AM, Michal Hocko wrote:
[...]
quoted
quoted
quoted
# echo online_movable > /sys/devices/system/memory/memory34/state
# grep . /sys/devices/system/memory/memory3?/valid_zones
/sys/devices/system/memory/memory32/valid_zones:Normal
/sys/devices/system/memory/memory33/valid_zones:Normal Movable
/sys/devices/system/memory/memory34/valid_zones:Movable Normal
I think there is no strong reason which kernel has the restriction.
By setting the restrictions, it seems to have made management of
these zone structs simple.
Could you be more specific please? How could this make management any
easier when udev is basically racing with the physical hotplug and the
result is basically undefined?
When changing zone from NORMAL(N) to MOVALBE(M), we must resize both zones,
zone->zone_start_pfn and zone->spanned_pages. Currently there is the
restriction.

So we just simply change:
  zone(N)->spanned_pages -= nr_pages
  zone(M)->zone_start_pfn -= nr_pages
Yes I understand how this made the implementation simpler. I was
questioning how this made user management any easier. Changing
valid zones which races with the hotplug consumer (e.g. udev) sounds
like a terrible idea to me.

Anyway, it seems that the initial assumption/restriction that all
pages have to start on the zone Normal is not really needed. I have a
preliminary patch which removes that and associates newly added pages
with a zone at the online time and it seems to be working reasonably
well. I have to iron out some corners before I post it.
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help