Messages in this thread | | | Date | Mon, 11 Sep 2006 09:36:49 +0200 | From | Ingo Molnar <> | Subject | Re: 2.6.18-rc6-mm1: GPF loop on early boot |
| |
* Jeremy Fitzhardinge <jeremy@goop.org> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |