On Tue, 2011-02-15 at 16:41 +0200, Avi Kivity wrote: > > +static int kvm_register_steal_time(void) > > +{ > > + int cpu = smp_processor_id(); > > + int low, high, ret; > > + struct kvm_steal_time *st =&per_cpu(steal_time, cpu); > > + > > + if (!hypervisor_steal_time) > > + return 0; > > You're using hypervisor_steal_time to communicate the existence of the > feature. Yuck. Yeah, ideally we make steal_time_clock() a proper paravirt op with: u64 native_steal_time_clock(int cpu) { WARN_ONCE(1, "Using steal_time_clock() on actual hardware..\n"); return 0; } And use paravirt_enabled() to avoid calling it where possible. Then once we have all the jump_label stuff sorted we can make paravirt_enabled() a static_branch() and it'll just go away on native. -- 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