Late follow-up after a discussion with Jens about a different document pointed out that my answer was ambiguous and easy to misinterpret.
On 7 Jul 2021, at 22:46, Jens Freimann <jfreiman@redhat.com> wrote:
On Wed, Jul 7, 2021 at 12:48 PM Christophe de Dinechin <dinechin@redhat.com> wrote:
On 2021-07-07 at 01:31 UTC, "Adams, Eric" <eric.adams@intel.com> wrote...
Christophe, 2) I also observed that Pod Overhead isn't used in the calculation for hotplugged CPU's.
That seems correct. The pod overhead accounts for the overhead "outside" the VM, i.e. virtiofsd, qemu's own memory needs, the extra cost of doing I/Os, etc. So this is additional resources the host needs, not the VM.
That wording be interpreted as the pod overhead _only_ accounting for overhead outside the VM. That is not what I intended. I intended to point out that it _also_ accounts for overhead outside the VM. In other words, it is the sum of how much memory the VM needs just to get started (e.g. 110M for a basic kernel, 300M for a more standard RHEL-style kernel), which includes the memory used by the agent, and of additional processes outside the VM, like virtiofsd, the shim, etc.
This is very counter-intuitive and also doesn't fit the 'Motivation' section in the original design[1]. Wouldn't this lead to wrong results for the resource quota and scheduler calculations?
[1] https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/688-pod...
regards Jens