Re: a bug in sparc/sparc64: test_bit()?
"David S. Miller" <[email protected]>
| Newsgroups | org.kernel.vger.ultralinux |
|---|---|
| Message-ID | <marc-linux-ultrasparc-98173705530908@msgid-missing> |
Ralf Liesegang writes:
> if i disassemble the function I see, that the CPU "loop" in:
>
> #define tasklet_unlock_wait(t) while (test_bit(TASKLET_STATE_RUN, &(t)->state))
>
> include/asm-sparc64/bitops.h: test_bit() do:
>
> return (1UL & (((__const__ long *) addr)[.....]
>
The correct fix is to put a memory barrier ("rmb()") in the
test_bit while loop of tasklet_unlock_wait.
Thanks for pointing this out.
Later,
David S. Miller
[email protected]
-
To unsubscribe from this list: send the line "unsubscribe ultralinux" in
the body of a message to [email protected]