On Wed, Mar 29, 2023 at 12:04 PM David Matlack <dmatlack@xxxxxxxxxx> wrote: > > On Tue, Mar 28, 2023 at 05:21:29PM -0700, David Matlack wrote: > > On Mon, Mar 06, 2023 at 02:41:25PM -0800, Vipin Sharma wrote: > > > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > > > index 64de083cd6b9..77d3aa368e5e 100644 > > > --- a/arch/x86/include/asm/kvm_host.h > > > +++ b/arch/x86/include/asm/kvm_host.h > > > @@ -787,7 +787,7 @@ struct kvm_vcpu_arch { > > > struct kvm_mmu *walk_mmu; > > > > > > struct kvm_mmu_memory_cache mmu_pte_list_desc_cache; > > > - struct kvm_mmu_memory_cache mmu_shadow_page_cache; > > > + struct kvm_mmu_memory_cache mmu_shadow_page_cache[MAX_NUMNODES]; > > > > I think we need an abstraction for a NUMA-aware mmu cache, since there > > is more than one by the end of this series. > > > > e.g. A wrapper struct (struct kvm_mmu_numa_memory_cache) or make > > NUMA-awareness an optional feature within kvm_mmu_memory_cache, plus > > common helper functions for operations like initializing, topping-up, > > and freeing. > > > > I have some ideas I want to try but I ran out of time today. > > Something like this (compile test only, applies on top of this series): > It looks good to me. I was not sure in the first place if having a new struct will be acceptable. Below abstraction looks good to me, I will update my patches accordingly in the next version. Thanks