Thread (27 messages) 27 messages, 6 authors, 2021-04-09

Re: [PATCH 4/7] KVM: SVM: hyper-v: Nested enlightenments in VMCB

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2021-04-08 15:45:16
Also in: kvm, lkml

On 07/04/21 16:41, Vineeth Pillai wrote:
+#define VMCB_ALL_CLEAN_MASK (__CLEAN_MASK | (1U << VMCB_HV_NESTED_ENLIGHTENMENTS))
+#else
+#define VMCB_ALL_CLEAN_MASK __CLEAN_MASK
+#endif
I think this should depend on whether KVM is running on top of Hyper-V; 
not on whether KVM is *compiled* with Hyper-V support.

So you should turn VMCB_ALL_CLEAN_MASK into a __read_mostly variable.

Paolo
quoted hunk ↗ jump to hunk
  /* TPR and CR2 are always written before VMRUN */
  #define VMCB_ALWAYS_DIRTY_MASK	((1U << VMCB_INTR) | (1U << VMCB_CR2))
  
@@ -230,7 +251,7 @@ static inline void vmcb_mark_all_dirty(struct vmcb *vmcb)
  
  static inline void vmcb_mark_all_clean(struct vmcb *vmcb)
  {
-	vmcb->control.clean = ((1 << VMCB_DIRTY_MAX) - 1)
+	vmcb->control.clean = VMCB_ALL_CLEAN_MASK
  			       & ~VMCB_ALWAYS_DIRTY_MASK;
  }
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help