Re: [PATCH] x86/entry/64: Context-track syscalls before enabling interrupts

From: Frederic Weisbecker
Date: Fri Aug 21 2015 - 09:14:16 EST


On Fri, Aug 21, 2015 at 09:50:35AM +0200, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > > I want to have a real hook to call that says "switch to IRQ context from
> > > CONTEXT_USER" or "switch to IRQ context from CONTEXT_KERNEL" (aka noop), but
> > > that doesn't currently exist.
> >
> > You're not answering _why_ you want that.
>
> So we'd have a comprehensive, 100% coverage, self-sufficient set of callbacks that
> track the kernel's current context state at the points where the context switches
> actually occur - not just something cobbled together heterogenously. The low level
> x86 asm code was rather messy in this area, better organization would be welcome,
> I don't think we can overdo it.
>
> ( I'm assuming here that it can all be done for zero or negative cost, and that
> the result will be correct and won't hurt existing users in any fashion. )

Sure, if x86 needs such a thing for internal organization it's ok, but don't
do context tracking calls there. irq_enter() and irq_exit() already take care
of RCU and time accounting. What Andy is doing is roughly like calling these
callbacks twice for no reason. It's horrible for IRQ performances.

The merge window is like tomorrow and he keeps arguing against that obvious
regression instead of fixing it.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/