Re: [patch] [sched] x86 idle thread should clear %fs, %gs

From: Pavel Machek (pavel@suse.cz)
Date: Mon Jan 28 2002 - 19:04:20 EST


Hi!

> so it appears that this lowlevel x86 performance bug(?) is more than 11
> years old! :-)

Probably 386's were not optimized for %fs==%gs==0 case?

BTW does it really make a difference for the CPU?
                                                                        Pavel

> @@ -2803,9 +2803,10 @@
> load_TR(nr);
> load_LDT(&init_mm);
>
> - /*
> - * Clear all 6 debug registers:
> - */
> + /* Clear %fs and %gs. */
> + asm volatile ("xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs");
> +
> + /* Clear all 6 debug registers: */
>
> #define CD(register) __asm__("movl %0,%%db" #register ::"r"(0) );

-- 
(about SSSCA) "I don't say this lightly.  However, I really think that the U.S.
no longer is classifiable as a democracy, but rather as a plutocracy." --hpa
-
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/



This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:01:24 EST