Messages in this thread | | | Date | Wed, 13 Apr 2022 16:46:00 +0200 | Subject | Re: [RFC PATCH V3 2/4] KVM: X86: Introduce role.glevel for level expanded pagetable | From | Paolo Bonzini <> |
| |
On 4/13/22 16:42, Sean Christopherson wrote: > On Wed, Apr 13, 2022, Paolo Bonzini wrote: >> On 4/12/22 23:31, Sean Christopherson wrote: >>> We don't need 4 bits for this. Crossing our fingers that we never had to shadow >>> a 2-level guest with a 6-level host, we can do: >>> >>> unsigned passthrough_delta:2; >>> >> Basically, your passthrough_delta is level - glevel in Jiangshan's patches. >> You'll need 3 bits anyway when we remove direct later (that would be >> passthrough_delta == level). > > Are we planning on removing direct?
I think so, it's redundant and the code almost always checks direct||passthrough (which would be passthrough_delta > 0 with your scheme).
>> Regarding the naming: >> >> * If we keep Jiangshan's logic, I don't like the glevel name very much, any >> of mapping_level, target_level or direct_level would be clearer? > > I don't love any of these names, especially glevel, because the field doesn't > strictly track the guest/mapping/target/direct level. That could obviously be > remedied by making it valid at all times, but then the role would truly need 3 > bits (on top of direct) to track 5-level guest paging.
Yes, it would need 3 bits but direct can be removed.
>> * If we go with yours, I would call the field "passthrough_levels". > > Hmm, it's not a raw level though.
Hence the plural. :)
Paolo
| |