All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.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
Subject: Re: [RFC PATCH] mm, hotplug: get rid of auto_online_blocks
Date: Mon, 13 Mar 2017 16:10:34 +0100	[thread overview]
Message-ID: <87h92xfc0l.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <20170313143206.GQ31518@dhcp22.suse.cz> (Michal Hocko's message of "Mon, 13 Mar 2017 15:32:06 +0100")

Michal Hocko <mhocko@kernel.org> writes:

> On Mon 13-03-17 14:42:37, Vitaly Kuznetsov wrote:
>> >
>> > What is the API those guests ask for the memory? And who is actually
>> > responsible to ask for that memory? Is it a kernel or userspace
>> > solution?
>> 
>> Whatever, this can even be a system administrator running
>> 'free'.
>
> I am pretty sure that 'free' will not give you additional memory but
> let's be serious here... 
> If this is solely about monitoring from
> userspace and requesting more memory from the userspace then I would
> consider arguing about timely hotplug operation as void because there is
> absolutely no guarantee to do the request itself in a timely fashion.
>
>> Hyper-V driver sends si_mem_available() and
>> vm_memory_committed() metrics to the host every second and this can be
>> later queried by any tool (e.g. powershell script).
>
> And how exactly is this related to the acpi hotplug which you were
> arguing needs the timely handling as well?
>

What I meant to say is that there is no single 'right' way to get memory
usage from a VM, make a decision somewhere (in the hypervisor, on some
other host or even in someone's head) and issue a command to add more
memory. I don't know what particular tools people use with ESX/KVM VMs
but I think that multiple options are available.

>> >> With udev-style memory onlining they should be aware of page
>> >> tables and other in-kernel structures which require allocation so they
>> >> need to add memory slowly and gradually or they risk running into OOM
>> >> (at least getting some processes killed and these processes may be
>> >> important). With in-kernel memory hotplug everything happens
>> >> synchronously and no 'slowly and gradually' algorithm is required in
>> >> all tools which may trigger memory hotplug.
>> >
>> > What prevents those APIs being used reasonably and only asks so much
>> > memory as they can afford? I mean 1.5% available memory necessary for
>> > the hotplug is not all that much. Or more precisely what prevents to ask
>> > for this additional memory in a synchronous way?
>> 
>> The knowledge about the fact that we need to add memory slowly and
>> wait till it gets onlined is not obvious.
>
> yes it is and we cannot afford to give a better experience with the
> implementation that requires to have memory to online a memory.

Actually, we need memory to add memory, not to online it. And as I said
before, this is a real issue which requires addressing, it should always
be possible to add more memory (and to online already added memory if
these events are separated).

>
>> AFAIR when you hotplug memory
>> to Windows VMs there is no such thing as 'onlining', and no brain is
>> required, a simple script 'low memory -> add mory memory' always
>> works. Asking all these script writers to think twice before issuing a
>> memory add command memory sounds like too much (to me).
>
> Pardon me, but not requiring a brain while doing something on Windows
> VMs is not really an argument...

Why? Windows (or any other OS) is just an example that things can be
done in a different way, otherwise we'll end up with arguments like "it
was always like that in Linux so it's good".

-- 
  Vitaly

--
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: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>,
	Heiko Carstens <heiko.carstens@de.ibm.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
Subject: Re: [RFC PATCH] mm, hotplug: get rid of auto_online_blocks
Date: Mon, 13 Mar 2017 16:10:34 +0100	[thread overview]
Message-ID: <87h92xfc0l.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <20170313143206.GQ31518@dhcp22.suse.cz> (Michal Hocko's message of "Mon, 13 Mar 2017 15:32:06 +0100")

Michal Hocko <mhocko@kernel.org> writes:

> On Mon 13-03-17 14:42:37, Vitaly Kuznetsov wrote:
>> >
>> > What is the API those guests ask for the memory? And who is actually
>> > responsible to ask for that memory? Is it a kernel or userspace
>> > solution?
>> 
>> Whatever, this can even be a system administrator running
>> 'free'.
>
> I am pretty sure that 'free' will not give you additional memory but
> let's be serious here... 
> If this is solely about monitoring from
> userspace and requesting more memory from the userspace then I would
> consider arguing about timely hotplug operation as void because there is
> absolutely no guarantee to do the request itself in a timely fashion.
>
>> Hyper-V driver sends si_mem_available() and
>> vm_memory_committed() metrics to the host every second and this can be
>> later queried by any tool (e.g. powershell script).
>
> And how exactly is this related to the acpi hotplug which you were
> arguing needs the timely handling as well?
>

What I meant to say is that there is no single 'right' way to get memory
usage from a VM, make a decision somewhere (in the hypervisor, on some
other host or even in someone's head) and issue a command to add more
memory. I don't know what particular tools people use with ESX/KVM VMs
but I think that multiple options are available.

>> >> With udev-style memory onlining they should be aware of page
>> >> tables and other in-kernel structures which require allocation so they
>> >> need to add memory slowly and gradually or they risk running into OOM
>> >> (at least getting some processes killed and these processes may be
>> >> important). With in-kernel memory hotplug everything happens
>> >> synchronously and no 'slowly and gradually' algorithm is required in
>> >> all tools which may trigger memory hotplug.
>> >
>> > What prevents those APIs being used reasonably and only asks so much
>> > memory as they can afford? I mean 1.5% available memory necessary for
>> > the hotplug is not all that much. Or more precisely what prevents to ask
>> > for this additional memory in a synchronous way?
>> 
>> The knowledge about the fact that we need to add memory slowly and
>> wait till it gets onlined is not obvious.
>
> yes it is and we cannot afford to give a better experience with the
> implementation that requires to have memory to online a memory.

Actually, we need memory to add memory, not to online it. And as I said
before, this is a real issue which requires addressing, it should always
be possible to add more memory (and to online already added memory if
these events are separated).

>
>> AFAIR when you hotplug memory
>> to Windows VMs there is no such thing as 'onlining', and no brain is
>> required, a simple script 'low memory -> add mory memory' always
>> works. Asking all these script writers to think twice before issuing a
>> memory add command memory sounds like too much (to me).
>
> Pardon me, but not requiring a brain while doing something on Windows
> VMs is not really an argument...

Why? Windows (or any other OS) is just an example that things can be
done in a different way, otherwise we'll end up with arguments like "it
was always like that in Linux so it's good".

-- 
  Vitaly

  reply	other threads:[~2017-03-13 15:10 UTC|newest]

Thread overview: 143+ 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: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 13:17         ` Vitaly Kuznetsov
     [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 12:56       ` Michal Hocko
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-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 14:28         ` Michal Hocko
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  8:27               ` Michal Hocko
2017-03-03 17:34               ` Igor Mammedov
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-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-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 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-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-13  9:21                             ` Michal Hocko
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:05                               ` YASUAKI ISHIMATSU
2017-03-14 16:20                               ` Michal Hocko
2017-03-14 16:20                               ` Michal Hocko
2017-03-14 16:20                                 ` Michal Hocko
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 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 14:32                                 ` Michal Hocko
2017-03-13 14:32                                   ` Michal Hocko
2017-03-13 15:10                                   ` Vitaly Kuznetsov [this message]
2017-03-13 15:10                                     ` Vitaly Kuznetsov
2017-03-13 15:10                                   ` Vitaly Kuznetsov
2017-03-13 14:32                                 ` Michal Hocko
2017-03-13 13:42                               ` Vitaly Kuznetsov
2017-03-14 13:20                           ` Igor Mammedov
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-13 12:28                         ` Michal Hocko
2017-03-13 10:55                       ` Igor Mammedov
2017-03-09 12:54                     ` Michal Hocko
2017-03-07 12:40                   ` Igor Mammedov
2017-03-10 22:00                   ` Daniel Kiper
2017-03-10 22:00                     ` Daniel Kiper
2017-03-10 22:00                   ` Daniel Kiper
2017-03-06 14:54                 ` Michal Hocko
2017-03-02 13:53       ` Igor Mammedov
2017-02-27 15:43     ` Michal Hocko
2017-02-27 10:02 ` Vitaly Kuznetsov
2017-02-27 17:28 ` Reza Arbab
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
  -- strict thread matches above, loose matches on Subject: below --
2017-02-27  9:28 Michal Hocko

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=87h92xfc0l.fsf@vitty.brq.redhat.com \
    --to=vkuznets@redhat.com \
    --cc=akpm@linux-foundation.org \
    --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=mhocko@kernel.org \
    --cc=qiuxishi@huawei.com \
    --cc=rientjes@google.com \
    --cc=slaoub@gmail.com \
    --cc=toshi.kani@hpe.com \
    --cc=vbabka@suse.cz \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xieyisheng1@huawei.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.