Il 28/11/2013 07:27, Zhanghaoyu (A) ha scritto: >> >Without synchronize_rcu you could have >> > >> > VCPU writes to routing table >> > e = entry from IRQ routing table >> > kvm_irq_routing_update(kvm, new); >> > VCPU resumes execution >> > kvm_set_msi_irq(e, &irq); >> > kvm_irq_delivery_to_apic_fast(); >> > >> >where the entry is stale but the VCPU has already resumed execution. >> > > If we use call_rcu()(Not consider the problem that Gleb pointed out temporarily) instead of synchronize_rcu(), should we still ensure this? The problem is that we should ensure this, so using call_rcu is not possible (even not considering the memory allocation problem). Can you try using SRCU and synchronize_srcu? Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html