On Thu, Sep 23, 2021 at 1:44 PM Brijesh Singh <brijesh.singh@xxxxxxx> wrote: > > > On 9/23/21 2:17 PM, Marc Orr wrote: > > >>>> + > >>>> +struct page *snp_safe_alloc_page(struct kvm_vcpu *vcpu) > >>>> +{ > >>>> + unsigned long pfn; > >>>> + struct page *p; > >>>> + > >>>> + if (!cpu_feature_enabled(X86_FEATURE_SEV_SNP)) > >>>> + return alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO); > > Continuing my other comment, above: if we introduce a > > `snp_globally_enabled` var, we could use that here, rather than > > `cpu_feature_enabled(X86_FEATURE_SEV_SNP)`. > > > Maybe I am missing something, what is wrong with > cpu_feature_enabled(...) check ? It's same as creating a global > variable. The feature enabled bit is not set if the said is not > enabled. See the patch #3 [1] in this series. > > [1] > https://lore.kernel.org/linux-mm/YUN+L0dlFMbC3bd4@xxxxxxx/T/#m2ac1242b33abfcd0d9fb22a89f4c103eacf67ea7 > > thanks You are right. Patch #3 does exactly what I was asking for in `snp_rmptable_init()`. Thanks!