[PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in context"

KY Srinivasan kys at microsoft.com
Wed Jul 24 21:10:03 UTC 2013



> -----Original Message-----
> From: Dave Hansen [mailto:dave at sr71.net]
> Sent: Wednesday, July 24, 2013 5:04 PM
> To: KY Srinivasan
> Cc: gregkh at linuxfoundation.org; linux-kernel at vger.kernel.org;
> devel at linuxdriverproject.org; olaf at aepfle.de; apw at canonical.com;
> andi at firstfloor.org; akpm at linux-foundation.org; linux-mm at kvack.org;
> kamezawa.hiroyuki at gmail.com; mhocko at suse.cz; hannes at cmpxchg.org;
> yinghan at google.com
> Subject: Re: [PATCH 2/2] Drivers: hv: balloon: Online the hot-added memory "in
> context"
> 
> On 07/24/2013 02:29 PM, K. Y. Srinivasan wrote:
> >  		/*
> > -		 * Wait for the memory block to be onlined.
> > -		 * Since the hot add has succeeded, it is ok to
> > -		 * proceed even if the pages in the hot added region
> > -		 * have not been "onlined" within the allowed time.
> > +		 * Before proceeding to hot add the next segment,
> > +		 * online the segment that has been hot added.
> >  		 */
> > -		wait_for_completion_timeout(&dm_device.ol_waitevent,
> 5*HZ);
> > +		online_memory_block(start_pfn);
> 
> Ahhhhh....  You've got a timeout in the code in order to tell the
> hypervisor that you were successfully able to add the memory?  The
> userspace addition code probably wasn't running within this timeout
> period.  right?

As I have always said, the onlining would not occur within a specified amount
of time (under some conditions). The timeout here is to ensure that we are able 
to online the memory before attempting to hot-add more memory. With the ability
to online memory from within the kernel, we don't need this timeout and the code is
much more predictable.

Regards,

K. Y





More information about the devel mailing list