On Thu, 22 Jan 2015 17:40:27 -0800 Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote: > > > > +/* > > + * CONFIG_PREEMPT=n kernels can end up triggering the softlock > > + * TASK_UNINTERRUPTIBLE hanger check (default 120 seconds) > > + * when certain multicalls are used [0] on large systems, in > > + * that case we need a way to voluntarily preempt. This is > > + * only an issue on CONFIG_PREEMPT=n kernels. > > + * > > + * [0] https://bugzilla.novell.com/show_bug.cgi?id=861093 > > + */ > > +void xen_end_upcall(struct pt_regs *regs) > > +{ > > + if (xen_is_preemptible_hypercall(regs)) { > > + int cpuid = smp_processor_id(); > > + if (_cond_resched()) > > + trace_xen_hypercall_preemption(cpuid); > > If you want to speed this up a bit, I think you could move the > smp_processor_id() into the TP_fast_assign. But don't tracepoints > report the cpu number even without any action? Yes, but if you scheduled here, the tracepoint could happen on a different CPU. Thus, cpuid will not equal smp_processor_id(). -- Steve -- 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