From: Alexander Duyck <alexander.duyck@gmail.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Alexander Duyck <alexander.h.duyck@redhat.com>
Cc: linux-arch@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, mathieu.desnoyers@polymtl.ca,
peterz@infradead.org, heiko.carstens@de.ibm.com,
mingo@kernel.org, mikey@neuling.org, linux@arm.linux.org.uk,
donald.c.skidmore@intel.com, matthew.vick@intel.com,
geert@linux-m68k.org, jeffrey.t.kirsher@intel.com,
romieu@fr.zoreil.com, paulmck@linux.vnet.ibm.com,
nic_swsd@realtek.com, will.deacon@arm.com,
michael@ellerman.id.au, tony.luck@intel.com,
torvalds@linux-foundation.org, oleg@redhat.com,
schwidefsky@de.ibm.com, fweisbec@gmail.com, davem@davemloft.net
Subject: Re: [PATCH 2/4] arch: Add lightweight memory barriers fast_rmb() and fast_wmb()
Date: Mon, 17 Nov 2014 12:24:08 -0800 [thread overview]
Message-ID: <546A5968.1090201@gmail.com> (raw)
In-Reply-To: <1416254687.18381.3.camel@kernel.crashing.org>
On 11/17/2014 12:04 PM, Benjamin Herrenschmidt wrote:
> On Mon, 2014-11-17 at 09:18 -0800, Alexander Duyck wrote:
>> There are a number of situations where the mandatory barriers rmb() and
>> wmb() are used to order memory/memory operations in the device drivers
>> and those barriers are much heavier than they actually need to be. For
>> example in the case of PowerPC wmb() calls the heavy-weight sync
>> instruction when for memory/memory operations all that is really needed is
>> an lsync or eieio instruction.
> So essentially those are the same as the smp_* variants but not nop'ed
> out on !CONFIG_SMP right ?
>
> Ben.
>
Yes and no. So for example on ARM I used the dmb() operation, however I
have to use the barrier at the system level instead of just the inner
shared domain. However on many other architectures they are just the
same as the smp_* variants.
Basically the resultant code is somewhere between the smp and non-smp
barriers in terms of what they cover.
Thanks,
Alex
next prev parent reply other threads:[~2014-11-17 20:24 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-17 17:17 [PATCH 0/4] Add lightweight memory barriers fast_rmb() and fast_wmb() Alexander Duyck
2014-11-17 17:17 ` [PATCH 1/4] arch: Cleanup read_barrier_depends() and comments Alexander Duyck
2014-11-17 17:18 ` [PATCH 2/4] arch: Add lightweight memory barriers fast_rmb() and fast_wmb() Alexander Duyck
2014-11-17 20:04 ` Benjamin Herrenschmidt
2014-11-17 20:24 ` Alexander Duyck [this message]
2014-11-18 0:39 ` Benjamin Herrenschmidt
2014-11-18 3:13 ` Alexander Duyck
2014-11-18 11:58 ` Will Deacon
2014-11-18 11:58 ` Will Deacon
2014-11-18 11:58 ` Will Deacon
2014-11-18 16:20 ` Alexander Duyck
2014-11-18 16:20 ` Alexander Duyck
2014-11-18 16:20 ` Alexander Duyck
2014-11-18 16:48 ` Will Deacon
2014-11-18 16:48 ` Will Deacon
2014-11-18 16:48 ` Will Deacon
2014-11-18 21:07 ` Benjamin Herrenschmidt
2014-11-17 20:18 ` Paul E. McKenney
2014-11-17 21:11 ` Alexander Duyck
2014-11-17 23:17 ` Paul E. McKenney
2014-11-18 3:33 ` Alexander Duyck
2014-11-18 0:38 ` Benjamin Herrenschmidt
2014-11-17 20:52 ` Linus Torvalds
2014-11-17 20:52 ` Linus Torvalds
2014-11-17 20:52 ` Linus Torvalds
2014-11-17 21:54 ` Alexander Duyck
2014-11-17 21:54 ` Alexander Duyck
2014-11-17 21:54 ` Alexander Duyck
2014-11-18 0:43 ` Benjamin Herrenschmidt
2014-11-18 0:43 ` Benjamin Herrenschmidt
2014-11-18 0:43 ` Benjamin Herrenschmidt
2014-11-18 0:41 ` Benjamin Herrenschmidt
2014-11-18 0:41 ` Benjamin Herrenschmidt
2014-11-18 0:41 ` Benjamin Herrenschmidt
2014-11-17 17:18 ` [PATCH 3/4] r8169: Use fast_rmb() and fast_wmb() for DescOwn checks Alexander Duyck
2014-11-17 17:18 ` [PATCH 4/4] fm10k/igb/ixgbe: Use fast_rmb on Rx descriptor reads Alexander Duyck
2014-11-17 21:32 ` Jeff Kirsher
2014-11-18 9:57 ` [PATCH 0/4] Add lightweight memory barriers fast_rmb() and fast_wmb() David Laight
2014-11-18 9:57 ` David Laight
2014-11-18 9:57 ` David Laight
2014-11-18 15:44 ` Alexander Duyck
2014-11-18 15:44 ` Alexander Duyck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=546A5968.1090201@gmail.com \
--to=alexander.duyck@gmail.com \
--cc=alexander.h.duyck@redhat.com \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=donald.c.skidmore@intel.com \
--cc=fweisbec@gmail.com \
--cc=geert@linux-m68k.org \
--cc=heiko.carstens@de.ibm.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=matthew.vick@intel.com \
--cc=michael@ellerman.id.au \
--cc=mikey@neuling.org \
--cc=mingo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=romieu@fr.zoreil.com \
--cc=schwidefsky@de.ibm.com \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.