Messages in this thread |  | | | From | (Linus Torvalds) | | Subject | Re: Why is get_current() not const function? | | Date | Mon, 17 Mar 2003 06:26:26 +0000 (UTC) |
| |
In article <20030313061926.S3910@devserv.devel.redhat.com>, Jakub Jelinek <jakub@redhat.com> wrote: > >Anyone remembers why get_current function (on arches which define >current to get_current()) is not const
Because it makes no difference at all on x86, since gcc will ignore "const" for inline functions. At least that used to be true.
> 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.
Linus - 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/
|  |