public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Kyle Moffett <mrmacman_g4@mac.com>
Cc: Albert Cahalan <acahalan@gmail.com>,
	dwmw2@infradead.org, arjan@infradead.org, maillist@jg555.com,
	ralf@linux-mips.org, linux-kernel@vger.kernel.org,
	davem@davemloft.net
Subject: Re: 2.6.18 Headers - Long
Date: Sun, 16 Jul 2006 13:48:25 +0100	[thread overview]
Message-ID: <20060716124824.GA11883@flint.arm.linux.org.uk> (raw)
In-Reply-To: <6C943713-549B-453C-A0B2-1286764FFE13@mac.com>

On Sun, Jul 16, 2006 at 08:34:53AM -0400, Kyle Moffett wrote:
> There is *NO* portable way to get atomic operations or locking in  
> userspace except through libpthread.

And as one of the maintainers of an architecture where this is true
(neither atomic.h nor bitops.h will work in userspace atomically) I
whole heartedly agree that the kernel's atomic operations must not
be exported to userspace via header files.

Anyone who thinks they will or should do is just kidding themselves.

The final point to add to this is that folk might be lucky, and the
kernel's atomic ops might _appear_ to work without raising any faults,
but that does _not_ mean that they are necessarily atomic in their
operation.  For example:

	unsigned long *a;

	a[bit >> 5] |= 1 << (bit & 31);

and

	set_bit(bit, &a);

are 100% equivalent in userspace if you use the kernel's asm-arm/bitops.h.
Neither will be atomic.  More importantly, _neither_ could be made to be
atomic.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

  reply	other threads:[~2006-07-16 12:48 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-15 21:09 2.6.18 Headers - Long Albert Cahalan
2006-07-15 21:19 ` Arjan van de Ven
2006-07-17  5:21   ` Ralf Baechle
2006-07-15 21:44 ` Adrian Bunk
2006-07-15 21:47 ` David Woodhouse
2006-07-16  6:18   ` Albert Cahalan
2006-07-16  6:26     ` Arjan van de Ven
2006-07-16  8:05     ` David Woodhouse
2006-07-16  8:20 ` Jakub Jelinek
2006-07-16 12:34 ` Kyle Moffett
2006-07-16 12:48   ` Russell King [this message]
2006-07-16 18:38   ` Albert Cahalan
2006-07-16 18:53     ` Russell King
2006-07-16 19:22       ` Albert Cahalan
2006-07-16 19:41         ` Russell King
2006-07-17  1:26         ` Arjan van de Ven
2006-07-17  1:23   ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2006-07-12  0:35 Jim Gifford
2006-07-14  0:25 ` David Woodhouse
2006-07-14  2:18   ` Jim Gifford
2006-07-14 18:55     ` David Woodhouse
2006-07-14 19:28       ` Jim Gifford
2006-07-14 19:39         ` Arjan van de Ven
2006-07-14 20:16           ` David Woodhouse
2006-07-14 20:19             ` David Miller
2006-07-14 20:57               ` Jim Gifford
2006-07-15  4:33                 ` Randy.Dunlap
2006-07-16 14:08                   ` Nix
2006-07-15  7:19                 ` David Woodhouse
2006-07-15  7:08               ` David Woodhouse
2006-07-14 19:57         ` David Woodhouse
2006-07-14 20:06         ` Erik Andersen
2006-07-14 20:19   ` Christoph Hellwig
2006-08-26 16:09   ` David Woodhouse
2006-08-29 12:25     ` Ralf Baechle

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=20060716124824.GA11883@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=acahalan@gmail.com \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maillist@jg555.com \
    --cc=mrmacman_g4@mac.com \
    --cc=ralf@linux-mips.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