Re: [RFC/INCOMPLETE 08/13] x86/entry/64: Migrate 64-bit syscalls to new exit hooks

From: Ingo Molnar
Date: Thu Jun 18 2015 - 06:19:58 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
> > >> Any reason why irq state tracking cannot be done in C as well, like the
> > >> rest of the irq state tracking code?
> > >
> > > Never mind, I see you've done exactly that in patch #12.
> >
> > There are still some TRACE_IRQS_ON, LOCKDEP_SYS_EXIT, and such scattered
> > throughout the asm. it's plausible that even more of that could be moved to
> > C.
> >
> > We could also benchmark and find out how bad it would be if we just always
> > filled pt_regs in completely in syscalls. If the performance hit isn't enough
> > to matter, then we could potentially move the entire syscall path except
> > pt_regs setup and sysret/iret into three C functions.
>
> The thing is, I'd not be against simplifying pt_regs handling even if it slows
> down things a tiny bit. If anyone wants to reintroduce that complexity we'll see
> how it looks like in isolation, done cleanly.

... and I suspect the reduction of entry points will allow the compiler to do a
better job - so some of the overhead might be won back.

So I'd say we try this approach and complicate it back in the future only if the
numbers warrant it.

Thanks,

Ingo
--
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/