linux-kernel mailing list

FromSubjectsort iconDate
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 daytodaynext day
May 19, 2008May 20, 2008May 21, 2008