Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: Why is get_current() not const function? | From | Andi Kleen <> | Date | 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/
| ![\](/images/icornerr.gif) |