My goal was to increase portability between hypervisors, hypervisor versions and possibly even race conditions. The problem was that the measurement of memory provided through KVM_SEV_LAUNCH_UPDATE_DATA was order dependent. I was hoping to move to an ordering that was less sensitive to userspace. My idea was to have the kernel internally batch and then reorder the calls to the firmware (LAUNCH_UPDATE_DATA) according to the guest physical address. However, this is then fragile depending on the guest physical address, which the hypervisor also controls. So doing this does not actually increase portability (though it might help with race conditions, which is less of a concern). On Tue, Apr 2, 2019 at 6:38 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > On 29/03/19 20:35, Nathaniel McCallum wrote: > > If we use GPA, the hypervisor controls that - so we can't get a > > consistent measurement. > > I cannot parse this, can you explain? > > Paolo > > > In short, batching adds cost but, because we > > don't have a valid sorting parameter, it provides no value. >