On 12/13/18 3:13 PM, Andrii Anisov wrote:
Hello All,
OK, I've discovered a mechanism of the issue.
It is because of `d->max_pages = ~0U;` in a `construct_dom0()`.
When I do vcpu-pin, libxl updates memory nodes in xenstore for Dom0.
Then kernel watch sees those changes and trying to set new target for
ballon, but the target becomes extremely high, and baloon sucks all the
pages.
In my kernel (4.14) in `watch_target()` function there is a code:
target_diff = xen_pv_domain() ? 0
: static_max - balloon_stats.target_pages;
Here we have `xen_pv_domain()` equal to zero, so `target_diff` big.
Then, few lines below:
balloon_set_new_target(new_target - target_diff);
`balloon_set_new_target()` receives a value wrapped over 64bit what
kills the system.
Now I'm looking for an appropriate kernel patch for the kernel, to fix
that. Any suggestions?
You should use linux kernel commit 3596924a233e45aa918.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel