Avi Kivity wrote: > Alexander Graf wrote: [snip]
>>>> static int kvm_resume(struct sys_device *dev) >>>> { >>>> - hardware_enable(NULL); >>>> + if (atomic_read(&kvm_usage_count)) >>>> + hardware_enable(NULL); >>>> return 0; >>>> } >>>> >>> Move the test to hardware_enable()? It's repeated too often. >>> >> >> What do we do about the on_each_cpu(hardware_enable) cases? We couldn't >> tell when to activate/deactive virtualization then, as that's >> semantically bound to "amount of VMs". >> > > I don't understand. Moving the test to within the IPI shouldn't > affect anything. > Actually it's there already. Since we have the cpu_isset if here, we won't get disabling when it's disabled or enabling when it's enabled on a per-cpu basis. That code would've just saved us the IPIs :-). So I'll add hardware_{en,dis}able_all functions that do the locking and increase / decrease the counter. Disable is used twice, while enable only once. But for the sake of code readability, I think it might be a good idea to have both of them be functions. Also the locking isn't really needed in most cases (CPU hotplug, suspend, resume, reboot, exit), since we don't schedule there. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html