All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: YASUAKI ISHIMATSU <yasu.isimatu@gmail.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	David Rientjes <rientjes@google.com>,
	Daniel Kiper <daniel.kiper@oracle.com>,
	linux-api@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-s390@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, qiuxishi@huawei.com,
	toshi.kani@hpe.com, xieyisheng1@huawei.com, slaoub@gmail.com,
	iamjoonsoo.kim@lge.com, vbabka@suse.cz,
	Reza Arbab <arbab@linux.vnet.ibm.com>
Subject: Re: WTH is going on with memory hotplug sysf interface
Date: Tue, 14 Mar 2017 17:20:03 +0100	[thread overview]
Message-ID: <20170314162003.GD7772@dhcp22.suse.cz> (raw)
In-Reply-To: <99f14975-f89f-4484-6ae1-296b242d4bf9@gmail.com>

On Tue 14-03-17 12:05:59, YASUAKI ISHIMATSU wrote:
> 
> 
> On 03/13/2017 05:19 AM, Michal Hocko wrote:
> >On Fri 10-03-17 12:39:27, Yasuaki Ishimatsu wrote:
> >>On 03/10/2017 08:58 AM, Michal Hocko wrote:
[...]
> >>># 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>

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org>
To: YASUAKI ISHIMATSU <yasu.isimatu@gmail.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	David Rientjes <rientjes@google.com>,
	Daniel Kiper <daniel.kiper@oracle.com>,
	linux-api@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-s390@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, qiuxishi@huawei.com,
	toshi.kani@hpe.com, xieyisheng1@huawei.com, slaoub@gmail.com,
	iamjoonsoo.kim@lge.com, vbabka@suse.cz,
	Reza Arbab <arbab@linux.vnet.ibm.com>
Subject: Re: WTH is going on with memory hotplug sysf interface
Date: Tue, 14 Mar 2017 17:20:03 +0100	[thread overview]
Message-ID: <20170314162003.GD7772@dhcp22.suse.cz> (raw)
In-Reply-To: <99f14975-f89f-4484-6ae1-296b242d4bf9@gmail.com>

On Tue 14-03-17 12:05:59, YASUAKI ISHIMATSU wrote:
> 
> 
> On 03/13/2017 05:19 AM, Michal Hocko wrote:
> >On Fri 10-03-17 12:39:27, Yasuaki Ishimatsu wrote:
> >>On 03/10/2017 08:58 AM, Michal Hocko wrote:
[...]
> >>># 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

  parent reply	other threads:[~2017-03-14 16:20 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-27  9:28 [RFC PATCH] mm, hotplug: get rid of auto_online_blocks Michal Hocko
2017-02-27  9:28 ` Michal Hocko
2017-02-27 10:02 ` Vitaly Kuznetsov
2017-02-27 10:02 ` Vitaly Kuznetsov
2017-02-27 10:02   ` Vitaly Kuznetsov
2017-02-27 10:21   ` Michal Hocko
2017-02-27 10:21   ` Michal Hocko
2017-02-27 10:21     ` Michal Hocko
2017-02-27 10:49     ` Vitaly Kuznetsov
2017-02-27 10:49       ` Vitaly Kuznetsov
2017-02-27 12:56       ` Michal Hocko
2017-02-27 12:56       ` Michal Hocko
2017-02-27 12:56         ` Michal Hocko
     [not found]         ` <20170227125636.GB26504-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2017-02-27 13:17           ` Vitaly Kuznetsov
2017-02-27 13:17             ` Vitaly Kuznetsov
2017-02-27 13:17             ` Vitaly Kuznetsov
2017-02-27 13:17         ` Vitaly Kuznetsov
2017-02-27 10:49     ` Vitaly Kuznetsov
2017-02-27 11:25   ` Heiko Carstens
2017-02-27 11:25   ` Heiko Carstens
2017-02-27 11:25     ` Heiko Carstens
2017-02-27 11:50     ` Vitaly Kuznetsov
2017-02-27 11:50       ` Vitaly Kuznetsov
2017-02-27 11:50     ` Vitaly Kuznetsov
2017-02-27 15:43     ` Michal Hocko
2017-02-27 15:43     ` Michal Hocko
2017-02-27 15:43       ` Michal Hocko
2017-02-28 10:21       ` Heiko Carstens
2017-02-28 10:21       ` Heiko Carstens
2017-02-28 10:21         ` Heiko Carstens
2017-03-02 13:53       ` Igor Mammedov
2017-03-02 13:53       ` Igor Mammedov
2017-03-02 13:53         ` Igor Mammedov
2017-03-02 14:28         ` Michal Hocko
2017-03-02 14:28           ` Michal Hocko
2017-03-02 17:03           ` Igor Mammedov
2017-03-02 17:03           ` Igor Mammedov
2017-03-02 17:03             ` Igor Mammedov
2017-03-03  8:27             ` Michal Hocko
2017-03-03  8:27               ` Michal Hocko
2017-03-03 17:34               ` Igor Mammedov
2017-03-03 17:34                 ` Igor Mammedov
2017-03-06 14:54                 ` Michal Hocko
2017-03-06 14:54                 ` Michal Hocko
2017-03-06 14:54                   ` Michal Hocko
2017-03-07 12:40                   ` Igor Mammedov
2017-03-07 12:40                   ` Igor Mammedov
2017-03-07 12:40                     ` Igor Mammedov
2017-03-09 12:54                     ` Michal Hocko
2017-03-09 12:54                     ` Michal Hocko
2017-03-09 12:54                       ` Michal Hocko
2017-03-10 13:58                       ` WTH is going on with memory hotplug sysf interface (was: Re: [RFC PATCH] mm, hotplug: get rid of auto_online_blocks) Michal Hocko
2017-03-10 13:58                       ` Michal Hocko
2017-03-10 13:58                         ` Michal Hocko
2017-03-10 15:53                         ` Michal Hocko
2017-03-10 15:53                           ` Michal Hocko
2017-03-10 19:00                           ` Reza Arbab
2017-03-10 19:00                           ` Reza Arbab
2017-03-10 19:00                             ` Reza Arbab
2017-03-13  9:21                             ` Michal Hocko
2017-03-13  9:21                             ` Michal Hocko
2017-03-13  9:21                               ` Michal Hocko
2017-03-13 14:58                               ` Reza Arbab
2017-03-13 14:58                               ` Reza Arbab
2017-03-13 14:58                                 ` Reza Arbab
2017-03-14 19:35                               ` Andrea Arcangeli
2017-03-14 19:35                                 ` Andrea Arcangeli
2017-03-15  7:57                                 ` Michal Hocko
2017-03-15  7:57                                   ` Michal Hocko
2017-03-15  7:57                                 ` Michal Hocko
2017-03-14 19:35                               ` Andrea Arcangeli
2017-03-13 15:11                           ` Michal Hocko
2017-03-13 15:11                             ` Michal Hocko
2017-03-13 23:16                             ` Andi Kleen
2017-03-13 23:16                               ` Andi Kleen
2017-03-13 23:16                               ` Andi Kleen
2017-03-13 23:16                             ` Andi Kleen
2017-03-13 15:11                           ` Michal Hocko
2017-03-10 15:53                         ` Michal Hocko
2017-03-10 17:39                         ` WTH is going on with memory hotplug sysf interface Yasuaki Ishimatsu
2017-03-10 17:39                         ` Yasuaki Ishimatsu
2017-03-10 17:39                           ` Yasuaki Ishimatsu
2017-03-13  9:19                           ` Michal Hocko
2017-03-13  9:19                             ` Michal Hocko
2017-03-14 16:05                             ` YASUAKI ISHIMATSU
2017-03-14 16:05                               ` YASUAKI ISHIMATSU
2017-03-14 16:20                               ` Michal Hocko
2017-03-14 16:20                               ` Michal Hocko [this message]
2017-03-14 16:20                                 ` Michal Hocko
2017-03-14 16:05                             ` YASUAKI ISHIMATSU
2017-03-13  9:19                           ` Michal Hocko
2017-03-13 10:31                         ` WTH is going on with memory hotplug sysf interface (was: Re: [RFC PATCH] mm, hotplug: get rid of auto_online_blocks) Igor Mammedov
2017-03-13 10:31                         ` Igor Mammedov
2017-03-13 10:31                           ` Igor Mammedov
2017-03-13 10:43                           ` Michal Hocko
2017-03-13 10:43                           ` Michal Hocko
2017-03-13 10:43                             ` Michal Hocko
2017-03-13 13:57                             ` Igor Mammedov
2017-03-13 13:57                             ` Igor Mammedov
2017-03-13 13:57                               ` Igor Mammedov
2017-03-13 14:36                               ` Michal Hocko
2017-03-13 14:36                               ` Michal Hocko
2017-03-13 14:36                                 ` Michal Hocko
2017-03-13 10:55                       ` [RFC PATCH] mm, hotplug: get rid of auto_online_blocks Igor Mammedov
2017-03-13 10:55                       ` Igor Mammedov
2017-03-13 10:55                         ` Igor Mammedov
2017-03-13 12:28                         ` Michal Hocko
2017-03-13 12:28                           ` Michal Hocko
2017-03-13 12:54                           ` Vitaly Kuznetsov
2017-03-13 12:54                           ` Vitaly Kuznetsov
2017-03-13 12:54                             ` Vitaly Kuznetsov
2017-03-13 13:19                             ` Michal Hocko
2017-03-13 13:19                             ` Michal Hocko
2017-03-13 13:19                               ` Michal Hocko
2017-03-13 13:42                               ` Vitaly Kuznetsov
2017-03-13 13:42                               ` Vitaly Kuznetsov
2017-03-13 13:42                                 ` Vitaly Kuznetsov
2017-03-13 14:32                                 ` Michal Hocko
2017-03-13 14:32                                   ` Michal Hocko
2017-03-13 15:10                                   ` Vitaly Kuznetsov
2017-03-13 15:10                                   ` Vitaly Kuznetsov
2017-03-13 15:10                                     ` Vitaly Kuznetsov
2017-03-13 14:32                                 ` Michal Hocko
2017-03-14 13:20                           ` Igor Mammedov
2017-03-14 13:20                             ` Igor Mammedov
2017-03-15  7:53                             ` Michal Hocko
2017-03-15  7:53                             ` Michal Hocko
2017-03-15  7:53                               ` Michal Hocko
2017-03-14 13:20                           ` Igor Mammedov
2017-03-13 12:28                         ` Michal Hocko
2017-03-10 22:00                   ` Daniel Kiper
2017-03-10 22:00                   ` Daniel Kiper
2017-03-10 22:00                     ` Daniel Kiper
2017-03-03 17:34               ` Igor Mammedov
2017-03-03  8:27             ` Michal Hocko
2017-03-02 14:28         ` Michal Hocko
2017-02-27 17:28 ` Reza Arbab
2017-02-27 17:28   ` Reza Arbab
2017-02-27 17:34   ` Michal Hocko
2017-02-27 17:34     ` Michal Hocko
2017-02-27 17:34   ` Michal Hocko
2017-02-27 17:28 ` Reza Arbab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170314162003.GD7772@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=arbab@linux.vnet.ibm.com \
    --cc=daniel.kiper@oracle.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=imammedo@redhat.com \
    --cc=kys@microsoft.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=qiuxishi@huawei.com \
    --cc=rientjes@google.com \
    --cc=slaoub@gmail.com \
    --cc=toshi.kani@hpe.com \
    --cc=vbabka@suse.cz \
    --cc=vkuznets@redhat.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xieyisheng1@huawei.com \
    --cc=yasu.isimatu@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.