Re: [x86/asm/entry] BUG: unable to handle kernel paging request

From: Andy Lutomirski
Date: Mon Mar 09 2015 - 09:16:27 EST


On Mar 9, 2015 7:46 AM, "Ingo Molnar" <mingo@xxxxxxxxxx> wrote:
>
>
> * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
> > >> */
> > >> unsigned long stack[64];
> > >>
> > >> Last I checked, 0x100 != 64. Also, wow, this is kind of disgusting. :)
> > >
> > >
> > > Seems to be unused: I commented it out on "defconfig" build
> > > and got no build errors.
> >
> > It's used. On 32-bit, NMIs don't use task gates (I don't know why),
>
> So task gates were a sexy hardware acceleration feature, eons ago, and
> we used to rely on them a lot, but why should we use task gates for
> NMIs on modern CPUs?
>
> NMIs are performance critical for profiling, and task gates are more
> expensive than interrupt gates. Task gates are also an x86 anachronism
> whose performance might change negatively in the future. We don't use
> 32-bit segmentation tricks for similar reasons.
>
> The only place where we use task gates is the double fault handler,
> and we only do it because we must: if pagetables are screwed up then
> we really have to create a new context from scratch to be able to
> print debug info.

Makes sense. I play with 32-bit stuff so rarely that I have very
little idea how it performs.

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