On Mon, Oct 04, 2021 at 07:31:40AM +0200, Juergen Gross wrote: > On 03.10.21 06:47, Marek Marczykowski-Górecki wrote: > > Hi, > > > > After updating a PVH domU to 5.4.150, I see xen-balloon thread using > > 100% CPU (one thread). > > This is a domain started with memory=maxmem=716800KiB (via libvirt). Then, > > inside, I see: > > > > # cat /sys/devices/system/xen_memory/xen_memory0/target_kb > > 716924 > > # cat /sys/devices/system/xen_memory/xen_memory0/info/current_kb > > 716400 > > > > Doing `cat info/current_kb > target_kb` "fixes" the issue. But still, > > something is wrong - on earlier kernel (5.4.143 to be precise), it > > wasn't spinning, with exactly the same values reported in sysfs. It > > shouldn't run in circles if it can't get that much memory it wants. I > > strongly suspect "xen/balloon: use a kernel thread instead a workqueue" > > or related commit being responsible, but I haven't verified it. > > I think you are right. I need to handle the BP_ECANCELED case similar to > BP_EAGAIN in the kernel thread (wait until target size changes again). > > One further question: do you see any kernel message in the guest related > to the looping balloon thread? Nothing, only the usual "xen:balloon: Initialising balloon driver", and nothing related to balloon after that. -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab