Messages in this thread | | | From | Juergen Gross <> | Subject | Re: [PATCH] xen/balloon: add late_initcall_sync() for initial ballooning done | Date | Fri, 29 Oct 2021 06:48:44 +0200 |
| |
On 28.10.21 22:16, Marek Marczykowski-Górecki wrote: > On Thu, Oct 28, 2021 at 12:59:52PM +0200, Juergen Gross wrote: >> When running as PVH or HVM guest with actual memory < max memory the >> hypervisor is using "populate on demand" in order to allow the guest >> to balloon down from its maximum memory size. For this to work >> correctly the guest must not touch more memory pages than its target >> memory size as otherwise the PoD cache will be exhausted and the guest >> is crashed as a result of that. >> >> In extreme cases ballooning down might not be finished today before >> the init process is started, which can consume lots of memory. >> >> In order to avoid random boot crashes in such cases, add a late init >> call to wait for ballooning down having finished for PVH/HVM guests. >> >> Cc: <stable@vger.kernel.org> >> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> >> Signed-off-by: Juergen Gross <jgross@suse.com> > > It may happen that initial balloon down fails (state==BP_ECANCELED). In > that case, it waits indefinitely. I think it should rather report a > failure (and panic? it's similar to OOM before PID 1 starts, so rather > hard to recover), instead of hanging.
Okay, I can add something like that. I'm thinking of issuing a failure message in case of credit not having changed for 1 minute and panic() after two more minutes. Is this fine?
Juergen [unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature] | |