Avi Kivity wrote: > Carsten Otte wrote: > >> Laurent Vivier wrote: >> >> >>> This patches can be applied only on kvm-updates-2.6.24 and >>> kvm-updates-2.6.25 >>> as it needs smp_call_function_mask(). >>> >>> >> There's one thing I don't understand: How is this locked versus cpu >> hotplug? Isn't there an obvious race involved where a cpu unplugged >> after cpu_set()? >> >> >> > > A cpu unplug first evicts all tasks from the victim cpu. During this > process, it calls kvm via a hotplug notifier, which notifier calls > vcpu_clear() for all vcpus that are resident on that cpu. So after it > runs, there won't be any vcpus on the dead cpu. > > The notifier is called from within stop_machine_run(), which ensures > that no task is running on any cpu, so by the time the cpu is being > unplugged, any concurrent call to kvm_flush_remote_tlbs() will have ended. > > It's a miracle that it works. > >
Miracle indeed. We need to disable preemption in kvm_flush_remote_tlbs(), otherwise the whole story falls apart. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel