Messages in this thread | | | Date | Thu, 18 Jun 2015 13:02:12 +0800 | From | Xiao Guangrong <> | Subject | Re: [PATCH v2 12/13] KVM: x86: add SMM to the MMU role, support SMRAM address space |
| |
On 06/17/2015 04:18 PM, Paolo Bonzini wrote: > > > On 09/06/2015 06:01, Xiao Guangrong wrote: >> >> >> On 05/28/2015 01:05 AM, Paolo Bonzini wrote: >>> This is now very simple to do. The only interesting part is a simple >>> trick to find the right memslot in gfn_to_rmap, retrieving the address >>> space from the spte role word. The same trick is used in the auditing >>> code. >>> >>> The comment on top of union kvm_mmu_page_role has been stale forever, >> >> Fortunately, we have documented these fields in mmu.txt, please do it for >> 'smm' as well. :) > > Right, done. > >>> + /* >>> + * This is left at the top of the word so that >>> + * kvm_memslots_for_spte_role can extract it with a >>> + * simple shift. While there is room, give it a whole >>> + * byte so it is also faster to load it from memory. >>> + */ >>> + unsigned smm:8; >> >> I suspect if we really need this trick, smm is not the hottest filed in >> this struct anyway. > > Note that after these patches it is used by gfn_to_rmap, and hence for > example rmap_add.
However, role->level is more hotter than role->smm so that it's also a good candidate for this kind of trick.
And this is only 32 bits which can be operated in a CPU register by a single memory load, that is why i was worried if it is really needed.
| |