* Andy Lutomirski <l...@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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to