Re: 2.6.18-rc6-mm1: GPF loop on early boot

From: Ingo Molnar
Date: Mon Sep 11 2006 - 03:42:18 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> Ingo Molnar wrote:
> >because userspace does not use it normally, while with %gs we'd switch
> >between glibc's descriptor [which must be shadowed by the CPU] and the
> >kernel's descriptor [which must be shadowed by the CPU too] - hence
> >causing a constant reloading of the shadow register.
> >
>
> Well, that means the only operation which would be different would be
> the pop %fs at the end, since only it would end up loading a null
> selector. All the other operations would presumably take just as
> long.

yes - but loading a null selector is a special-case: you dont have to
invalidate/reload the shadow, you just have to turn access off. This
might or might not make a difference on modern CPUs (it makes a
difference with older CPUs) - but it's worth a try nevertheless. You
measured a 9 cycles degradation with the %gs method, we could recover
some of that.

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/