[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z34pmlFwPYwWJS-C@liuwe-devbox-debian-v2>
Date: Wed, 8 Jan 2025 07:30:34 +0000
From: Wei Liu <wei.liu@...nel.org>
To: Jacob Pan <jacob.pan@...ux.microsoft.com>
Cc: linux-kernel@...r.kernel.org, linux-hyperv@...r.kernel.org,
Dexuan Cui <decui@...rosoft.com>, Wei Liu <wei.liu@...nel.org>,
Michael Kelley <mhklinux@...look.com>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Allen Pais <apais@...ux.microsoft.com>,
Michael Frohlich <mfrohlich@...rosoft.com>,
Vikram Sethi <vsethi@...dia.com>,
Haiyang Zhang <haiyangz@...rosoft.com>
Subject: Re: [PATCH v2] hv_balloon: Fallback to generic_online_page() for
non-HV hot added mem
On Tue, Jan 07, 2025 at 10:09:18AM -0800, Jacob Pan wrote:
> The Hyper-V balloon driver installs a custom callback for handling page
> onlining operations performed by the memory hotplug subsystem. This
> custom callback is global, and overrides the default callback
> (generic_online_page) that Linux otherwise uses. The custom callback
> properly handles memory that is hot-added by the balloon driver as part
> of a Hyper-V hot-add region.
>
> But memory can also be hot-added directly by a device driver for a vPCI
> device, particularly GPUs. In such a case, the custom callback installed by
> the balloon driver runs, but won't find the page in its hot-add region list
> and doesn't online it, which could cause driver initialization failures.
>
> Fix this by having the balloon custom callback run generic_online_page()
> when the page isn't part of a Hyper-V hot-add region, thereby doing the
> default Linux behavior. This allows device driver hot-adds to work
> properly. Similar cases are handled the same way in the virtio-mem driver.
>
> Suggested-by: Vikram Sethi <vsethi@...dia.com>
> Tested-by: Michael Frohlich <mfrohlich@...rosoft.com>
> Reviewed-by: Michael Kelley <mhklinux@...look.com>
> Signed-off-by: Jacob Pan <jacob.pan@...ux.microsoft.com>
Applied to hyperv-next. Thanks!
Powered by blists - more mailing lists