From: Martin Habets <errandir_news@mph.eclipse.co.uk>
To: sparclinux@vger.kernel.org
Subject: Re: [RFT] [SPARC] Emulate cmpxchg like parisc
Date: Mon, 28 May 2007 23:37:01 +0000 [thread overview]
Message-ID: <20070528233700.GA24422@palantir8> (raw)
In-Reply-To: <20070525201143.GB14171@fattire.cabal.ca>
On Sun, May 27, 2007 at 07:49:21PM -0700, David Miller wrote:
> From: Martin Habets <errandir_news@mph.eclipse.co.uk>
> Date: Mon, 28 May 2007 01:07:46 +0100
>
> > On Sat, May 26, 2007 at 03:59:21PM -0700, David Miller wrote:
> > > Alternatively we can have a KCONFIG variable with reversed
> > > logic, like "EMULATED_CMPXCHG" which only the atomically
> > > challenged platforms need to set.
> >
> > Like this idea, but if we're not going to build DRM I see no
> > point adding the cmpxchg emulation to sparc32. Maybe "NOARCH_CMPXCHG"
> > would be better?
>
> It is likely that we are going to have generic users of cmpxchg() in
> the kernel in the future (I think the -rt patch set has some which are
> hard to get rid of) at which point we'd probably put the emulated
> cmpxchg() in there anyways.
Good to see someone has a crystal ball handy. So a patch like like this
to solve the DRM issue? With it DRM can no longer be selected.
---
The DRM code depends on an atomic version of cmpxchg(), which is not
available on sparc32. Since other platforms besides sparc32 have
this issue a KCONFIG option is added for it.
Martin
Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Index: 2.6.21_drm/drivers/char/drm/Kconfig
=================================--- 2.6.21_drm.orig/drivers/char/drm/Kconfig 2007-05-26 00:18:45.000000000 +0100
+++ 2.6.21_drm/drivers/char/drm/Kconfig 2007-05-28 23:49:12.000000000 +0100
@@ -6,7 +6,7 @@
#
config DRM
tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
- depends on (AGP || AGP=n) && PCI
+ depends on (AGP || AGP=n) && PCI && !EMULATED_CMPXCHG
help
Kernel-level support for the Direct Rendering Infrastructure (DRI)
introduced in XFree86 4.0. If you say Y here, you need to select
Index: 2.6.21_drm/arch/sparc/Kconfig
=================================--- 2.6.21_drm.orig/arch/sparc/Kconfig 2007-05-23 19:31:01.000000000 +0100
+++ 2.6.21_drm/arch/sparc/Kconfig 2007-05-29 00:03:16.000000000 +0100
@@ -178,6 +178,13 @@
bool
default n
+config EMULATED_CMPXCHG
+ bool
+ default y
+ help
+ Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
+ is emulated, and therefore it is not completely atomic.
+
config SUN_PM
bool
default y
next prev parent reply other threads:[~2007-05-28 23:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-25 20:11 [RFT] [SPARC] Emulate cmpxchg like parisc Kyle McMartin
2007-05-26 0:24 ` Martin Habets
2007-05-26 5:00 ` David Miller
2007-05-26 5:14 ` Tom "spot" Callaway
2007-05-26 14:45 ` Kyle McMartin
2007-05-26 19:39 ` Martin Habets
2007-05-26 20:32 ` Dave Airlie
2007-05-26 22:46 ` David Miller
2007-05-26 22:59 ` David Miller
2007-05-26 23:00 ` David Miller
2007-05-26 23:41 ` Kyle McMartin
2007-05-27 0:04 ` David Miller
2007-05-28 0:07 ` Martin Habets
2007-05-28 2:49 ` David Miller
2007-05-28 3:11 ` Kyle McMartin
2007-05-28 3:16 ` David Miller
2007-05-28 23:37 ` Martin Habets [this message]
2007-05-29 8:12 ` David Miller
2007-05-29 13:18 ` Kyle McMartin
2007-05-29 20:30 ` Martin Habets
2007-05-29 20:59 ` David Miller
2007-05-29 21:08 ` Kyle McMartin
2007-05-30 19:38 ` Martin Habets
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=20070528233700.GA24422@palantir8 \
--to=errandir_news@mph.eclipse.co.uk \
--cc=sparclinux@vger.kernel.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 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.