spin_lock forgets to clobber memory and other smp fixes [was Re: [patch] waitqueue optimization, 2.4.0-test7]

Jamie Lokier egcs@tantalophile.demon.co.uk
Thu Sep 7 10:14:00 GMT 2000


Andrea Arcangeli wrote:
> Said that if your compiler puts the read before the spin_lock without the
> memory clobber, it is allowed to do that, and in such case you would proof
> it was a real world bug (not just a "documentation" one).

Yes, it does.

> Or maybe your testcase was a bit different then mine, in such case please
> send it to me (I'm curious indeed :).

int *p;
int func()
{
  int x = *p;
  __asm__ __volatile ("zzz" : :);
  x = *p;
  return x;
}

In output:

        .ident  "GCC: (GNU) 2.96 20000724 (experimental)"

>From the Red Hat 7 beta.

-- Jamie


More information about the Gcc mailing list