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? Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
