Messages in this thread | | | From | Andy Lutomirski <> | Date | Mon, 16 Nov 2015 11:10:55 -0800 | Subject | Re: [PATCH v3 5/5] x86/entry/64: Bypass enter_from_user_mode on non-context-tracking boots |
| |
On Nov 13, 2015 7:26 AM, "Frederic Weisbecker" <fweisbec@gmail.com> wrote: > > On Thu, Nov 12, 2015 at 12:59:04PM -0800, Andy Lutomirski wrote: > > On CONFIG_CONTEXT_TRACKING kernels that have context tracking > > disabled at runtime (which includes most distro kernels), we still > > have the overhead of a call to enter_from_user_mode in interrupt and > > exception entries. > > > > If jump labels are available, this uses the jump label > > infrastructure to skip the call. > > Looks good. But why are we still calling context tracking code on IRQs at all?
Same reasons as before:
1. This way the IRQ exit path is almost completely shared with all the other exit paths.
2. It combines the checks for which context we were in with what CPL we entered from.
Part 2 should be complete across the whole x86 kernel soon once the 64-bit syscall code gets fixed up.
We should get rid of the duplication in the irq entry hooks. Want to help with that? Presumably we should do the massive remote polling speedup to the nohz code, and we should also teach enter_from_user_mode to transition directly to IRQ state as appropriate. Then irq_enter can be much faster.
--Andy
| |