Messages in this thread | | | From | KY Srinivasan <> | Subject | RE: [PATCH 1/1] Drivers: base: memory: Export symbols for onlining memory blocks | Date | Thu, 25 Jul 2013 15:49:00 +0000 |
| |
> -----Original Message----- > From: Dave Hansen [mailto:dave@sr71.net] > Sent: Thursday, July 25, 2013 11:04 AM > To: KY Srinivasan > Cc: Michal Hocko; gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com; > andi@firstfloor.org; akpm@linux-foundation.org; linux-mm@kvack.org; > kamezawa.hiroyuki@gmail.com; hannes@cmpxchg.org; yinghan@google.com; > jasowang@redhat.com; kay@vrfy.org > Subject: Re: [PATCH 1/1] Drivers: base: memory: Export symbols for onlining > memory blocks > > On 07/25/2013 04:14 AM, KY Srinivasan wrote: > > As promised, I have sent out the patches for (a) an implementation of an in- > kernel API > > for onlining and a consumer for this API. While I don't know the exact reason > why the > > user mode code is delayed (under some low memory conditions), what is the > harm in having > > a mechanism to online memory that has been hot added without involving user > space code. > > KY, your potential problem, not being able to online more memory because > of a shortage of memory, is a serious one.
All I can say is that the online is not happening within the allowed time (5 seconds in the current code). > > However, this potential issue exists in long-standing code, and > potentially affects all users of memory hotplug. The problem has not > been described in sufficient detail for the rest of the developers to > tell if you are facing a new problem, or whether *any* proposed solution > will help the problem you face. > > Your propsed solution changes the semantics of existing user/kernel > interfaces, duplicates existing functionality, and adds code complexity > to the kernel.
How so? All I am doing is to use the existing infrastructure to online memory. The only change I have made is to export an API that allows onlining without involving any user space code. I don't see how this adds complexity to the kernel. This would be an useful extension as can be seen from its usage in the Hyper-V balloon driver.
In my particular use case, I need to wait for the memory to be onlined before I can proceed to hot add the next chunk. This synchronization can be completely avoided if we can avoid the involvement of user level code. I would submit to you that this is a valid use case that we ought to be able to support.
Regards,
K. Y
| |