lkml.org 
[lkml]   [2015]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [x86/asm/entry] BUG: unable to handle kernel paging request

* Andy Lutomirski <luto@amacapital.net> 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.

Thanks,

Ingo


\
 
 \ /
  Last update: 2015-03-09 13:01    [W:0.134 / U:0.628 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site