B is left to the hypervisor and the memory policy running on it. My
patches address Linux running as a guest, with a Linux hypervisor at
the moment, but that can be extended to other balloon drivers as well.
Yes, I think the policy in the hypervisor needs to look at those
details as well.
Yes, agreed. Co-operative is better, if there is no co-operation than
memcg might be used for enforcement.