RE: [PATCH 3/4] Drivers: hv: balloon: get rid on ol_waitevent

From: Alex Ng (LIS)
Date: Wed Aug 10 2016 - 16:47:09 EST


> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
> Sent: Friday, August 5, 2016 3:49 AM
> To: devel@xxxxxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; KY
> Srinivasan <kys@xxxxxxxxxxxxx>; Alex Ng (LIS) <alexng@xxxxxxxxxxxxx>
> Subject: [PATCH 3/4] Drivers: hv: balloon: get rid on ol_waitevent
>
> With the recently introduced in-kernel memory onlining
> (MEMORY_HOTPLUG_DEFAULT_ONLINE) these it no point in waiting for pages
> to come online in the driver and in case the feature is disabled the 5
> second wait won't help. Get rid of the waiting.
>

Continuing our internal discussion here. Here's the context.

> > Is it necessary to remove the ol_waitevent in "Drivers: hv: balloon: get rid
> > on ol_waitevent"? If we respond to the host too quickly, then the next
> > hot-add request may not see the new pages come online and could fail to
> > alloc memory as seen in the call trace.
> >
> > Thoughts?
>
> This should not be an issue with CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE: we
> online pages when we add them (add_memory()) so when we reply to the host
> these pages are already online. But in case the onlining is done by an
> external tool (e.g. udev) this wait helps (not always, as if someone eats
> all memory before the next add_memory call we're still in trouble).

MEMORY_HOTPLUG_DEFAULT_ONLINE is disabled in Kconfig by default.
Would it make sense to keep the wait and only #ifdef it out when CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is set?