smp_mb() in asm-mips/bitops.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I found some funny usages of smp_mb() in asm-mips/bitops.h:

static inline int test_and_set_bit(unsigned long nr,
	volatile unsigned long *addr)
{
	if (cpu_has_llsc && R10000_LLSC_WAR) {
...
		return res != 0;
	} else if (cpu_has_llsc) {
...
		return res != 0;
	} else {
...
		return retval;
	}

	smp_mb();
}

It looks this smp_mb() never have any effects.  This change is from:

> commit 0004a9dfeaa709a7f853487aba19932c9b1a87c8
> Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> Date:   Tue Oct 31 03:45:07 2006 +0000
> 
>     [MIPS] Cleanup memory barriers for weakly ordered systems.

at 2.6.18 development cycle.

---
Atsushi Nemoto


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux