You are introducing kvm_arch_vcpu_zap().Yes, I will correct "zap", as you said, its meaning is quite different
Then, apart from the "zap" naming issue I mentioned last time,
from destroy. :-)
what about other architectures than x86?Have not considered it in detail yet. At first step, I just want to
figure out the whole frame, then, I will push them on other arch.
Maybe you foresee some problem when extending this onto other arch,
please tell me, thanks ï-).
Sorry, but why? I think it is just a srcu, and because it has
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 900c763..b88d418d 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -117,6 +117,7 @@ enum {
struct kvm_vcpu {
struct kvm *kvm;
+ struct list_head list;
#ifdef CONFIG_PREEMPT_NOTIFIERS
struct preempt_notifier preempt_notifier;
#endif
@@ -251,12 +252,14 @@ struct kvm {
struct mm_struct *mm; /* userspace tied to this vm */
struct kvm_memslots *memslots;
struct srcu_struct srcu;
+ struct srcu_struct srcu_vcpus;
+
Another srcu. This alone is worth explaining in the changelog IMO.
different aim and want a independent grace period, so not multiplex
kvm->srcu.