Date: Mon, 9 Oct 2000 15:45:58 -0700 (PDT)
From: Jeff Foster <jfoster@EECS.Berkeley.EDU>
Subject: ick, ick -- grossness in linux kernel
Message-ID: <Pine.LNX.4.21.0010091540460.6322-100000@lagaffe.cs.berkeley.edu>
I thought I'd share a bizarre little piece of code I ran across in the
kernel. Check this out:
do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (
flags ): :"memory") ; spin_lock( &tqueue_lock ); } while (0) ;
Currently my lock checker complains about this code, because it thinks
that the spin_lock may get executed multiple times (which would be a Bad
Thing).
Anyone know why this code gets wrapped in a useless do loop? I assume
it's to fix some bug in some version of gcc.
Jeff
This archive was generated by hypermail 2b30 : 11/04/02 PST