Re: Why is get_current() not const function?

Andi Kleen (ak@muc.de)
Mon, 17 Mar 2003 18:26:05 +0100


torvalds@transmeta.com (Linus Torvalds) writes:

>> and why on x86-64
>>the movq %%gs:0, %0 inline asm is volatile with "memory" clobber?
>
> Can't help you on that one, but it looks like it uses various helper
> functions for doing the x86-64 per-processor data structures, and I bet
> those helper functions are shared by _other_ users who definitely want
> to have their data properly re-read. Ie "current()" may be constant in
> process context, but that sure isn't true about a lot of other things in
> the per-processor data structures.

Yes, that's the big issue. const current requires non volatile read_pda()
and making read_pda non volatile breaks lots of code currently and probably
needs an audit over all users.

-Andi
-
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/