public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: grundler@parisc-linux.org
Cc: mathieu.desnoyers@polymtl.ca, akpm@linux-foundation.org,
	linux-kernel@vger.kernel.org, parisc-linux@parisc-linux.org,
	clameter@sgi.com
Subject: Re: [parisc-linux] [patch 15/23] Add cmpxchg_local to parisc
Date: Mon, 27 Aug 2007 14:20:17 -0700 (PDT)	[thread overview]
Message-ID: <20070827.142017.48523835.davem@davemloft.net> (raw)
In-Reply-To: <20070827210432.GA22484@colo.lackof.org>

From: Grant Grundler <grundler@parisc-linux.org>
Date: Mon, 27 Aug 2007 15:04:32 -0600

> Doesn't explain the difference between "local" and "non-local" either.
> Per CPU data should only need memory barriers (in some cases) and
> protection against interrupts (in probably more cases). So I'm not
> understanding why a new set of APIs is needed.
> 
> Can you add a description to Documentation/atomic_ops.txt ?

My understanding is that the local versions can run without
memory barriers.  Only local cpu execution and local interrupt
threads of control can access the variable, and interrupts
force all stores to become visible to the local cpu so an
interrupt can't see the datum from before the atomic update
if one was in progress when the interrupt triggered, and
stuff like that.

  parent reply	other threads:[~2007-08-27 21:26 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-12 14:54 [patch 00/23] Atomic operations updates: add cmpxchg_local Mathieu Desnoyers
2007-08-12 14:54 ` [patch 01/23] Fall back on interrupt disable in cmpxchg8b on 80386 and 80486 Mathieu Desnoyers
2007-08-12 15:51   ` Jan Engelhardt
2007-08-12 16:23     ` Mathieu Desnoyers
2007-08-12 14:54 ` [patch 02/23] Add cmpxchg_local to asm-generic for per cpu atomic operations Mathieu Desnoyers
2007-08-12 14:54 ` [patch 03/23] Add cmpxchg_local to arm Mathieu Desnoyers
2007-08-12 14:54 ` [patch 04/23] Add cmpxchg_local to avr32 Mathieu Desnoyers
2007-08-13 14:57   ` Haavard Skinnemoen
2007-08-12 14:54 ` [patch 05/23] Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg Mathieu Desnoyers
2007-08-12 14:54 ` [patch 06/23] Add cmpxchg_local to cris Mathieu Desnoyers
2007-08-12 14:54 ` [patch 07/23] Add cmpxchg_local to frv Mathieu Desnoyers
2007-08-12 14:54 ` [patch 08/23] Add cmpxchg_local to h8300 Mathieu Desnoyers
2007-08-12 14:54 ` [patch 09/23] Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 Mathieu Desnoyers
2007-08-12 18:59   ` Keith Owens
2007-08-12 19:12     ` [patch 09/23] Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 (revised) Mathieu Desnoyers
2007-08-12 14:54 ` [patch 10/23] New cmpxchg_local (optimized for UP case) for m32r Mathieu Desnoyers
2007-08-12 14:54 ` [patch 11/23] Fix m32r __xchg Mathieu Desnoyers
2007-08-18 20:40   ` Adrian Bunk
2007-08-19 11:12     ` [PATCH] Fix m32r __xchg (revised) Mathieu Desnoyers
2007-08-12 14:54 ` [patch 12/23] local_t m32r use architecture specific cmpxchg_local Mathieu Desnoyers
2007-08-12 14:54 ` [patch 13/23] Add cmpxchg_local to m86k Mathieu Desnoyers
2007-08-12 14:54 ` [patch 14/23] Add cmpxchg_local to m68knommu Mathieu Desnoyers
2007-08-12 14:54 ` [patch 15/23] Add cmpxchg_local to parisc Mathieu Desnoyers
2007-08-27 21:04   ` [parisc-linux] " Grant Grundler
2007-08-27 21:11     ` Mathieu Desnoyers
2007-08-28  6:39       ` Grant Grundler
2007-08-28 11:50         ` Mathieu Desnoyers
2007-08-28 17:27           ` Grant Grundler
2007-08-28 18:38             ` Mathieu Desnoyers
2007-08-29  5:59               ` Grant Grundler
2007-08-29  8:25                 ` David Miller
2007-08-29 12:08                 ` Mathieu Desnoyers
2007-08-27 21:20     ` David Miller [this message]
2007-08-12 14:54 ` [patch 16/23] Add cmpxchg_local to ppc Mathieu Desnoyers
2007-08-12 14:54 ` [patch 17/23] Add cmpxchg_local to s390 Mathieu Desnoyers
2007-08-13  8:35   ` Heiko Carstens
2007-08-13 13:43     ` Mathieu Desnoyers
2007-08-12 14:54 ` [patch 18/23] Add cmpxchg_local to sh, use generic cmpxchg() instead of cmpxchg_u32 Mathieu Desnoyers
2007-08-12 14:54 ` [patch 19/23] Add cmpxchg_local to sh64 Mathieu Desnoyers
2007-08-12 14:54 ` [patch 20/23] Add cmpxchg_local to sparc, move __cmpxchg to system.h Mathieu Desnoyers
2007-08-12 14:54 ` [patch 21/23] Add cmpxchg_local to sparc64 Mathieu Desnoyers
2007-08-12 14:54 ` [patch 22/23] Add cmpxchg_local to v850 Mathieu Desnoyers
2007-08-12 14:54 ` [patch 23/23] Add cmpxchg_local to xtensa Mathieu Desnoyers
2007-08-12 15:03 ` [patch 00/23] Atomic operations updates: add cmpxchg_local Mathieu Desnoyers
2007-08-13 21:15 ` Christoph Lameter

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=20070827.142017.48523835.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=grundler@parisc-linux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=parisc-linux@parisc-linux.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox