On Thu, 2022-11-24 at 10:41 +0000, David Woodhouse wrote: > On Thu, 2022-11-24 at 02:11 +0100, Paolo Bonzini wrote: > > > > What if vx contained a struct vcpu_runstate_info instead of having > > separate fields? That might combine the best of the on-stack version > > and the best of the special-memcpy version... > > Well... the state field is in a different place for compat vs. 64-bit > which makes that fun, and the state_entry_time field need to have the > XEN_RUNSTATE_UPDATE bit masked into it which means we don't really want > to just memcpy *that* part... and we already *are* just doing a memcpy > for the rest, which is the time[] array. > > But we *can* recognise that the fast and slow paths aren't all that > different really, and combine them. How's this? That version applies immediately after the existing 'Compatibility fixes for shared runstate area' commit, in case you wanted to squash them. Alternatively if you prefer it that way, I made a few trivial cosmetic cleanups and rebased it on top of the existing kvm/queue. I also rebased the remaining GPC cleanups on top of that, in my tree at https://git.infradead.org/users/dwmw2/linux.git/shortlog/refs/heads/gpc-fixes
Attachment:
smime.p7s
Description: S/MIME cryptographic signature