Messages in this thread |  | | | Date | Fri, 3 Jul 2009 11:30:02 -0700 | | From | Arjan van de Ven <> | | Subject | Re: [PATCH -tip] x86: atomic64: inline atomic64_read() |
On Fri, 3 Jul 2009 20:18:15 +0200 Ingo Molnar <mingo@elte.hu> wrote:
> > * Arjan van de Ven <arjan@infradead.org> wrote: > > > On Fri, 3 Jul 2009 20:04:50 +0200 > > Ingo Molnar <mingo@elte.hu> wrote: > > > > > > +static inline u64 atomic64_read(atomic64_t *ptr) > > > > +{ > > > > + u64 res; > > > > + > > > > + asm volatile( > > > > + "mov %%ebx, %%eax\n\t" > > > > + "mov %%ecx, %%edx\n\t" > > > > + LOCK_PREFIX "cmpxchg8b %1\n" > > > > also afaik cmpxchg implies the lock prefix, so no need to make an > > explicit one... it just adds code size and alternatives-work > > good point! > > Is the same true of XADD as well? If yes then we can remove the lock > prefix from those as well - there's a few uses of that on 32-bit and > 64-bit as well. >
ok never mind I was wrong, it seems cmpxchg does NOT imply a lock prefix, nor does xadd.
> Ingo
-- Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org -- 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/
|  |