linux-mips
[Top] [All Lists]

Re: Questions for CONFIG_WEAK_ORDERING and CONFIG_WEAK_REORDERING_BEYON

To: Johannes Dickgreber <tanzy@gmx.de>
Subject: Re: Questions for CONFIG_WEAK_ORDERING and CONFIG_WEAK_REORDERING_BEYOND_LLSC
From: Ralf Baechle <ralf@linux-mips.org>
Date: Mon, 13 Oct 2008 22:50:54 +0100
Cc: Linux MIPS List <linux-mips@linux-mips.org>
In-reply-to: <48F39B18.9030601@gmx.de>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <48F39B18.9030601@gmx.de>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
On Mon, Oct 13, 2008 at 09:01:44PM +0200, Johannes Dickgreber wrote:

> If a cpu is WEAK_ORDERING schouldn't it do a sync independent of CONFIG_SMP ?
> 
> And if it is a SMP system schouldn't it do a sync independent of 
> CONFIG_WEAK_ORDERING ?
> 
> And if a cpu has no sync with LLSC schouldn't it do a sync independent of 
> CONFIG_SMP ?
> 
> All together, is the following the right thing to do ?

A processor is always consistently ordered wrt. to itself, so uniprocessor
cores never need SYNCs even if that processor was weakly ordered in a
multiprocessor systems.

A while ago I walked through all mb(), rmb() and wmb() uses in the generic
code.  None of the ones I verified is actually needed on uniprocessor
kernels.  Ocasionally one of these functions is used to maintain I/O
ordering but again other mechanisms are prefered for that purpose.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>