I think I better understand the issue now.
Regarding the comment [1] I've tried to never report memory free to Xenstore which solves the issue (I understand the lines as the unikernel is removed from memory donnors and the memory balance continues with success).
Now I can see multiple ways to effectively fix the issue and I not sure what is the best way to proceed:
- never report free memory to Xenstore (the current patch, but probably not the clever)
- report maximum usage at startup (the unikernel will always use all the memory allowed)
- add some code in the unikernel to interract with Xenstore about memory (but again, the unikernel will always use all the memory allowed)
- evict in qmemman every domain that do not want to be included in the memory balancing (even if they claim to have free memory), I'm not sure how the checkbox in qubes-manager is used.
Does anyone have any advice on the best path to follow ?
Best,
Pierre