| From | Subject | Date |
|---|---|---|
| David Brownell | [patch 2.6.26-rc3] gpio: build fixes (mostly potential)
This fixes various gpio-related build errors (mostly potential)
reported in part by Russell King and Uwe Kleine-König.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
---
Refreshed version -- should apply OK on top of the gpio sysfs support
include/asm-generic/gpio.h | 6 +++++-
include/linux/gpio.h | 3 +++
2 files changed, 8 insertions(+), 1 deletion(-)
--- a/include/asm-generic/gpio.h 2008-05-20 11:46:13.000000000 -0700
+++ b/include/asm-generic/gpio.h 2...
| May 20, 7:17 pm 2008 |
| Andi Kleen | [PATCH] Fix incorrect comment in io_apic_64.c
Fix incorrect comment in io_apic_64.c
No broadcasting happens.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
arch/x86/kernel/io_apic_64.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: linux/arch/x86/kernel/io_apic_64.c
===================================================================
--- linux.orig/arch/x86/kernel/io_apic_64.c
+++ linux/arch/x86/kernel/io_apic_64.c
@@ -911,8 +911,7 @@ static void __init setup_IO_APIC_irqs(vo
}
/*
- * Set up the 825...
| May 20, 7:42 pm 2008 |
| David Miller | [GIT]: Networking
A lot of small stuff:
1) Pull in wireless bug fixes from John Linville.
2) Kill CVS keywords from ATM code, from Adrian Bunk and ACK'd by
ATM maintainer.
3) skb->truesize not maintained properly my l2tp code, fix from
James Chapman.
4) IPSEC can crash on output path due to wrong output routine
usage, fix from Herbert Xu.
5) Fix pktgen shutdown race, from Denis Lunev.
6) Zap cli/sti from hysdn driver, and no longer mark broken on SMP.
From Mark Asselstine and Andrew Mor...
| May 20, 7:11 pm 2008 |
| Christian Kujau | kswapd busy but not swapping
Hi,
I noticed that the [kswapd0] thread was eating 3-7% cpu time but no
swapspace has been used yet. This is with a just booted 2.6.25.4 system,
currently with some disk i/o going on.
So I figured that kswapd might not be responsible for "swapping" after
all, although the name suggests it. Grep'ing Documentation/ for kswapd did
not reveal much. Is the paper from Kanoj[0] still valid for 2.6 kernels?
The SGI page referenced in Documentation/kernel-docs.txt is down, but
there's a .txt version...
| May 20, 7:04 pm 2008 |
| David Miller | [GIT]: Sparc
Two things going on here:
1) Add a "sysrq y" global register dumping facility that
works even when CPUs are stuck with interrupts disabled.
I've used this often enough myself, and given it to
users to debug problems, that it deserves to be upstream.
2) Patches from Adrian Bunk to delete all the old CVS Id
tags, I've been doing them gradually when touching specific
files, but it's just as good to kill them all if he's done
the work already.
Please pull, thanks a lot!
The...
| May 20, 7:04 pm 2008 |
| Arjan van de Ven | [PATCH] ata: fix sleep-while-holding-spinlock in sata_nv
From: Arjan van de Ven <arjan@linux.intel.com>
Subject: [PATCH] ata: fix sleep-while-holding-spinlock in sata_nv
blk_queue_bounce_limit() is a sleeping function, so reorganize
the code a little to not call it while holding a spinlock.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
---
drivers/ata/sata_nv.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 858f706..a7bc56d 100644
--- a/dri...
| May 20, 6:58 pm 2008 |
| Adrian Bunk | [2.6 patch] ocfs2: rename user_stack{,_ops}
On frv and ia64 asm/ptrace.h offers a different user_stack resulting in
compile errors like the following:
<-- snip -->
...
CC [M] fs/ocfs2/stack_user.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/fs/ocfs2/stack_user.c:156: error: 'user_stack' redeclared as different kind of symbol
include2/asm/ptrace.h:77: error: previous declaration of 'user_stack' was here
make[3]: *** [fs/ocfs2/stack_user.o] Error 1
<-- snip -->
This patch therefore prefixes the user_stack{,_ops} names...
| May 20, 6:55 pm 2008 |
| Joel Becker | Re: [2.6 patch] ocfs2: rename user_stack{,_ops}
Thanks for reporting this. Al already reported it and a fix is
in ocfs2.git. We change the name entirely so that grep of user_stack
doesn't match it at all.
Joel
--
"Nobody loves me,
Nobody seems to care.
Troubles and worries, people,
You know I've had my share."
Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127
--
| May 20, 7:53 pm 2008 |
| Adrian Bunk | [2.6 patch] UML: remove the dead TTY_LOG code
This patch removes the dead CONFIG_TTY_LOG (no kconfig option).
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
---
arch/um/kernel/exec.c | 12 --
arch/um/os-Linux/Makefile | 3
arch/um/os-Linux/tty_log.c | 217 -------------------------------------
3 files changed, 232 deletions(-)
531b7c113d8deed217fb800cdd3f610899fbc0d9 diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c
index f5d7f45..598711c 100644
---...
| May 20, 6:54 pm 2008 |
| Nicholas A. Bellinger | LIO-Target Core v3.0.0 imported in k.o git
Greetings all,
The LIO-Target Core v3.0.0 tree has been imported from v2.9-STABLE from
Linux-iSCSI.org source tree repositories into kernel.org git, and is
building w/ v2.6.26-rc3. It can be found at:
http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=summary
I will be continuing the cleanup activies for upstream, which so far has
included the removal of legacy unused engine level mirroring/replication
bits (as we are using LIO-DRBD or LIO-NR1 w/ MD for this now), and a few
LINU...
| May 20, 6:48 pm 2008 |
| Greg KH | [GIT PATCH] USB fixes for 2.6.26-rc3
Here are some USB patches for your 2.6.25-git tree.
They include:
- bugfixes
- new device ids
- removing a device id from one driver and putting it in the
correct one.
- a new driver, cdc-wdm, for wireless USB modems and phones.
This driver is self-contained and should cause no new
problems. This is the majority of the diffstat below.
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/
All of these patches have been in the -mm tree for a while, a...
| May 20, 6:32 pm 2008 |
| Greg KH | [GIT PATCH] driver core fixes against 2.6.26-rc3
Here are some patches against your 2.6.26-rc3-git tree.
They fix a race condition when device_create is called. At that point
in time sysfs files can be created automatically by the class or the
driver subsystem, and if those files are opened before the device
specific data is set, oopses can happen. This was found and reported
for the bdi subsystem by Arthur Jones and he verified that these patches
fix the problem.
I then went and audited all users of the api and found other places
where this...
| May 20, 6:32 pm 2008 |
| Greg Kroah-Hartman | [PATCH 13/13] SCSI: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata(). It fixes the problem in all of the scsi
drivers that need it.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Doug Gilbert <dgilbert@interlog.com>
Cc: James E.J. Bottomley ...
| May 20, 6:35 pm 2008 |
| Greg Kroah-Hartman | [PATCH 12/13] USB: Core: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/core/hcd.c | 6 +++---
1 files changed, 3 insertions(+), ...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 11/13] USB: Phidget: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata(). It fixes all 3 phidget drivers, which all have
the same problem.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Sean Young <sean@mess.org>
Signed-off-by: Greg Kroah-Hartma...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 10/13] s390: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Cornelia Huck <cornel...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 09/13] SOUND: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
sound/core/sound.c | 8 +++...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 08/13] UIO: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Hans J. Koch <hjk@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/uio/uio.c | 7 +++-...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 07/13] Power Supply: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Anton Vorontsov <cbou@mail.ru>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@s...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 06/13] LEDS: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/leds/led-class.c | ...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 05/13] IB: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Reviewed-by: Roland Dreier <rolandd@cisco.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 03/13] fbdev: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/video/display/d...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 04/13] ide: fix race in device_create
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_drvdata().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/i...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 02/13] mm: bdi: fix race in bdi_class device creation
There is a race from when a device is created with device_create() and
then the drvdata is set with a call to dev_set_drvdata() in which a
sysfs file could be open, yet the drvdata will be NULL, causing all
sorts of bad things to happen.
This patch fixes the problem by using the new function,
device_create_vargs().
Many thanks to Arthur Jones <ajones@riverbed.com> for reporting the bug,
and testing patches out.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Arthur Jones <ajones@riv...
| May 20, 6:34 pm 2008 |
| Greg Kroah-Hartman | [PATCH 01/13] Driver core: add device_create_vargs and devic...
We want to have the drvdata field set properly when creating the device
as sysfs callbacks can assume it is present and it can race the later
setting of this field.
So, create two new functions, deviec_create_vargs() and
device_create_drvdata() that take this new field.
device_create_drvdata() will go away in 2.6.27 as the drvdata field will
just be moved to the device_create() call as it should be.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse....
| May 20, 6:34 pm 2008 |
| Chuck Ebbert | [patch] x86: don't read maxlvt before checking if APIC is ma...
x86: don't read maxlvt before checking if APIC is mapped
A check for unmapped apic was added before reading maxlvt but the early
read of maxlvt wasn't removed.
Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Index: linux-2.6.25.noarch/arch/x86/kernel/apic_64.c
===================================================================
--- linux-2.6.25.noarch.orig/arch/x86/kernel/apic_64.c
+++ linux-2.6.25.noarch/arch/x86/kernel/apic_64.c
@@ -524,7 +524,7 @@ int setup_profiling_timer(unsigned in...
| May 20, 6:18 pm 2008 |
| Németh Márton | [PATCH] smc-ultra: get rid of "eth%d" message
Print out the dev->name only after register_netdev(). If the
dev->name is printk()ed out before calling register_netdev()
the result will be "eth%d" in the dmesg instead of "eth0".
Signed-off-by: Márton Németh <nm127@freemail.hu>
---
--- linux-2.6.26-rc3/drivers/net/smc-ultra.c.orig 2008-04-17 04:49:44.000000000 +0200
+++ linux-2.6.26-rc3/drivers/net/smc-ultra.c 2008-05-20 22:04:15.000000000 +0200
@@ -228,9 +228,6 @@ static int __init ultra_probe1(struct ne
for (i = 0; i < 6; ...
| May 20, 6:05 pm 2008 |
| Michael Halcrow | [PATCH] eCryptfs: Privileged kthread for lower file opens
eCryptfs would really like to have read-write access to all files in
the lower filesystem. Right now, the persistent lower file may be
opened read-only if the attempt to open it read-write fails. One way
to keep from having to do that is to have a privileged kthread that
can open the lower persistent file on behalf of the user opening the
eCryptfs file; this patch implements this functionality.
This patch will properly allow a less-privileged user to open the
eCryptfs file, followed by a more-privi...
| May 20, 5:46 pm 2008 |
| Andrea Righi | Re: [PATCH] eCryptfs: Privileged kthread for lower file opens
Michael Halcrow wrote:
[snip]
Hi,
Why not:
if (!(req->flags & ECRYPTFS_REQ_ZOMBIE))
dget(req->lower_dentry);
mntget(req->lower_mnt);
(*req->lower_file) = dentry_open(
req->lower_dentry, req->lower_mnt,
(O_RDWR | O_LARGEFILE));
req->flags |= ECRYPTFS_REQ_PROCESSED;
wake_up_process(req->requesting_task);
}
--
| May 20, 7:16 pm 2008 |
| Dan Williams | [git pull] drivers/dma: fixups for 2.6.26-rc
Linus, please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/djbw/async_tx.git fixes
to receive:
Christophe Jaillet (1):
iop-adma: fixup some kzalloc/memset confusions
Zhang Wei (1):
fsldma: update the fsldma driver MAINTAINERS info
MAINTAINERS | 6 ++++--
drivers/dma/iop-adma.c | 6 ++----
2 files changed, 6 insertions(+), 6 deletions(-)
Just a maintainer update and some simple cleanups of the iop-adma
driver.
Thanks,
Dan
Full log:
com...
| May 20, 5:16 pm 2008 |
| Mudeem Siddiqui | VM: killing process - How to identify the problem
Hi all,
I have linux 2.4.25 on a mips processor. Other than my application, the
other processes that are running on the system are udhcpd, dhcpd,
mini_dns etc. The applicaiton is quite memory intensive, it has
allocated 5 MB of a buffer which acts as a queue and the applicaiton
queues and de-queues packets in the queue at frequents intervals. The
memory for this buffer is allocated just once when the application
starts at the time of boot. So I would assume that there would be quite
a lot of pagi...
| May 20, 5:10 pm 2008 |
| Remy Bohmer | Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added)
Hello Steven,
Do you recognise these warnings? I do not know (yet) if these are ARM
specific...
CC kernel/rtmutex.o
kernel/rtmutex.c: In function 'rt_write_fastlock':
kernel/rtmutex.c:1582: warning: initialization makes pointer from
integer without a cast
kernel/rtmutex.c: In function 'rt_write_fasttrylock':
kernel/rtmutex.c:1622: warning: initialization makes pointer from
integer without a cast
If so, do you have a fix for it?
Regards,
Remy
--
| May 20, 4:56 pm 2008 |
| Steven Rostedt | Re: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML ad...
Remy,
Can you see if this helps,
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
kernel/rtmutex.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: linux-2.6.24.7-rt9/kernel/rtmutex.c
===================================================================
--- linux-2.6.24.7-rt9.orig/kernel/rtmutex.c 2008-05-20 17:11:29.000000000 -0400
+++ linux-2.6.24.7-rt9/kernel/rtmutex.c 2008-05-20 17:13:18.000000000 -0400
@@ -1577,7 +1577,7 @@ rt_write_fastlock(stru...
| May 20, 5:20 pm 2008 |
| Steven Rostedt | Re: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML ad...
Ah, I guess ARM is a bit more critical of chpxchg than x86 is.
I'll add a patch for 2.6.24.7-rt9 (which I plan on releasing soon). It
will have some minor clean ups.
-- Steve
--
| May 20, 5:11 pm 2008 |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
Since commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c the code generated
for the in_beXX() and out_beXX() mmio functions has been sub-optimal.
The out_leXX() family of functions are created with the macro
DEF_MMIO_OUT_LE() while the out_beXX() family are created with
DEF_MMIO_OUT_BE(). In what was perhaps a bit too much macro use, both of
these macros are in turn created via the macro DEF_MMIO_OUT().
For the LE versions, eventually they boil down to an asm that will look
something like this:
as...
| May 20, 4:40 pm 2008 |
| Andreas Schwab | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
There is the "Z" constraint, which matches either an indirect or an
indexed memory address. That should fit here.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
| May 20, 6:00 pm 2008 |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
This came up on the Freescale list. I should have put what I wrote there into
my patch descrition:
It's the _le versions that have a problem, since we can't get gcc to just use
the register indexed mode. It seems like an obvious thing to have a
constraint for, but I guess there weren't enough instructions that only come
in 'x' versions to bother with it. There is a 'Z' constraint, "Memory operand
that is an indexed or indirect from a register", but I tried it and it can use
both "rb,ri" and "d...
| May 20, 6:11 pm 2008 |
| Andreas Schwab | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
'Z' will never emit a non-zero constant displacement.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
| May 20, 6:47 pm 2008 |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
It's too bad gas doesn't appear to be smart enough to turn:
stwbrx 0, 0(3) -or- stwbr 0, 0(3)
into the desired:
stwbrx 0, 0, 3
--
| May 20, 7:14 pm 2008 |
| Benjamin Herrenschmidt | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
The current accessors should provide all the necessary ordering
guarantees...
Ben.
--
| May 20, 5:16 pm 2008 |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
Depends on what you define as "necessary". It's seem clear that I/O accessors
_no not_ need to be strictly ordered with respect to normal memory accesses,
by what's defined in memory-barriers.txt. So if by "necessary" you mean what
the Linux standard for I/O accessors requires (and what other archs provide),
then yes, they have the necessary ordering guarantees.
But, if you want them to be strictly ordered w.r.t to normal memory, that's
not the case.
For example, in something like:
u32 *dm...
| May 20, 6:00 pm 2008 |
| Scott Wood | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
It looks like we rely on -fno-strict-aliasing to prevent reordering
ordinary memory accesses (such as to DMA descriptors) past the I/O
access. It won't prevent reordering of memory reads around an I/O read,
though, which could be a problem if the I/O read result determines the
validity of the DMA buffer. IMHO, a memory clobber would be better.
-Scott
--
| May 20, 5:38 pm 2008 |
| Alan Cox | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
DMA descriptors in main memory are dependant on cache behaviour anyway
and the dma_* operators should be the ones enforcing the needed behaviour.
Alan
--
| May 20, 6:15 pm 2008 |
| Scott Wood | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
What about memory obtained from dma_alloc_coherent()? We still need a
sync and a compiler barrier. The current I/O accessors have the former,
but not the latter.
-Scott
--
| May 20, 6:35 pm 2008 |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
There doesn't appear to be any barriers to use for coherent dma other than
mb() and wmb().
Correct me if I'm wrong, but I think the sync isn't actually _required_ (by
memory-barriers.txt's definitions), and it would be enough to use eieio,
except there is code that doesn't use mmiowb() between I/O access and
unlocking.
So, as I understand it, the minimum needed is eieio. To provide strict
ordering w.r.t. spin locks without using mmiowb(), you need sync. To provide
strict ordering w.r.t. norm...
| May 20, 6:55 pm 2008 |
| David Miller | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
From: Scott Wood <scottwood@freescale.com>
The __volatile__ in the asm construct disallows movement of the
inline asm relative to statements surrounding it.
The only reason barrier() in kernel.h needs a memory clobber is
because of a bug in ancient versions of gcc. In fact, I think
that memory clobber might even be removable.
--
| May 20, 6:39 pm 2008 |
| Scott Wood | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
Current versions of GCC seem quite happy to move non-asm memory accesses
around a volatile asm without a memory clobber; see the test Trent posted.
-Scott
--
| May 20, 6:43 pm 2008 |
| David Miller | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
From: Scott Wood <scottwood@freescale.com>
Indeed, and even the GCC manual is clear about this.
--
| May 20, 6:53 pm 2008 |
| Benjamin Herrenschmidt | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
We probably want a full "memory" clobber then...
Ben.
--
| May 20, 6:02 pm 2008 |
| Trent Piepho | Re: [PATCH] [POWERPC] Improve (in|out)_beXX() asm code
As far as I could tell, no other arch has a full memory clobber. I can see
the argument for changing the Linux model to be stricter and less efficient,
but easier to program for. Not that I entirely agree with it.
But I don't see a good reason for why powerpc should be different than
everything else.
--
| May 20, 6:21 pm 2008 |
| previous day | today | next day |
|---|---|---|
| May 19, 2008 | May 20, 2008 | May 21, 2008 |
| Greg KH | Re: Announce: Linux-next (Or Andrew's dream :-)) |
| Greg KH | [patch 26/73] NET: Correct two mistaken skb_reset_mac_header() conversions. |
| Greg Kroah-Hartman | [PATCH 007/196] Chinese: add translation of stable_kernel_rules.txt |
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
