[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150122205717.57615751@grimm.local.home>
Date: Thu, 22 Jan 2015 20:57:17 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Andy Lutomirski <luto@...capital.net>
Cc: "Luis R. Rodriguez" <mcgrof@...not-panic.com>,
David Vrabel <david.vrabel@...rix.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
"xen-devel@...ts.xenproject.org" <xen-devel@...ts.xenproject.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
X86 ML <x86@...nel.org>, kvm list <kvm@...r.kernel.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
"Luis R. Rodriguez" <mcgrof@...e.com>,
Borislav Petkov <bp@...e.de>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
Jan Beulich <JBeulich@...e.com>
Subject: Re: [RFC v4 2/2] x86/xen: allow privcmd hypercalls to be preempted
On Thu, 22 Jan 2015 17:40:27 -0800
Andy Lutomirski <luto@...capital.net> 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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists