Commit Graph

20182 Commits

Author SHA1 Message Date
Nick Piggin
a2000572ad [PATCH] sched: remove smpnice
I don't think the code is quite ready, which is why I asked for Peter's
additions to also be merged before I acked it (although it turned out that
it still isn't quite ready with his additions either).

Basically I have had similar observations to Suresh in that it does not
play nicely with the rest of the balancing infrastructure (and raised
similar concerns in my review).

The samples (group of 4) I got for "maximum recorded imbalance" on a 2x2
SMP+HT Xeon are as follows:

            | Following boot | hackbench 20        | hackbench 40
 -----------+----------------+---------------------+---------------------
 2.6.16-rc2 | 30,37,100,112  | 5600,5530,6020,6090 | 6390,7090,8760,8470
 +nosmpnice |  3, 2,  4,  2  |   28, 150, 294, 132 |  348, 348, 294, 347

Hackbench raw performance is down around 15% with smpnice (but that in
itself isn't a huge deal because it is just a benchmark).  However, the
samples show that the imbalance passed into move_tasks is increased by
about a factor of 10-30.  I think this would also go some way to explaining
latency blips turning up in the balancing code (though I haven't actually
measured that).

We'll probably have to revert this in the SUSE kernel.

Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Williams <pwil3058@bigpond.net.au>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-10 08:13:11 -08:00
Linus Torvalds
4b0955a6ed Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2006-02-10 08:09:41 -08:00
Stephen Hemminger
bab1deea30 [BRIDGE]: fix error handling for add interface to bridge
Refactor how the bridge code interacts with kobject system.
It should still use kobjects even if not using sysfs.
Fix the error unwind handling in br_add_if.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 17:10:12 -08:00
Stephen Hemminger
5dce971acf [BRIDGE]: netfilter handle RCU during removal
Bridge netfilter code needs to handle the case where device is
removed from bridge while packet in process. In these cases the
bridge_parent can become null while processing.

This should fix: http://bugzilla.kernel.org/show_bug.cgi?id=5803

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 17:09:38 -08:00
Stephen Hemminger
b3f1be4b54 [BRIDGE]: fix for RCU and deadlock on device removal
Change Bridge receive path to correctly handle RCU removal of device
from bridge.  Also fixes deadlock between carrier_check and del_nbp.
This replaces the previous deleted flag fix.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 17:08:52 -08:00
Linus Torvalds
5bc159e6cb Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-02-09 17:08:09 -08:00
John Heffner
6fcf9412de [TCP]: rcvbuf lock when tcp_moderate_rcvbuf enabled
The rcvbuf lock should probably be honored here.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 17:06:57 -08:00
David Binderman
80ba250e59 [IRDA]: out of range array access
This patch fixes an out of range array access in irnet_irda.c.

Author: David Binderman <dcb314@hotmail.com>
Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 16:59:48 -08:00
Samuel Ortiz
d93077fb0e [IRDA]: Set proper IrLAP device address length
This patch set IrDA's addr_len properly, i.e to 4 bytes, the size of the
IrLAP device address.

Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 16:58:46 -08:00
Alexey Kuznetsov
28633514af [NETLINK]: illegal use of pid in rtnetlink
When a netlink message is not related to a netlink socket,
it is issued by kernel socket with pid 0. Netlink "pid" has nothing
to do with current->pid. I called it incorrectly, if it was named "port",
the confusion would be avoided.

Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 16:43:41 -08:00
Alexey Kuznetsov
a70ea994a0 [NETLINK]: Fix a severe bug
netlink overrun was broken while improvement of netlink.
Destination socket is used in the place where it was meant to be source socket,
so that now overrun is never sent to user netlink sockets, when it should be,
and it even can be set on kernel socket, which results in complete deadlock
of rtnetlink.

Suggested fix is to restore status quo passing source socket as additional
argument to netlink_attachskb().

A little explanation: overrun is set on a socket, when it failed
to receive some message and sender of this messages does not or even
have no way to handle this error. This happens in two cases:
1. when kernel sends something. Kernel never retransmits and cannot
   wait for buffer space.
2. when user sends a broadcast and the message was not delivered
   to some recipients.

Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 16:43:38 -08:00
Linus Torvalds
ad91e6fa0d Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2006-02-09 16:19:06 -08:00
Linus Torvalds
b481b4ecf5 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2006-02-09 16:18:19 -08:00
Oleg Nesterov
9ac95f2f90 [PATCH] do_sigaction: cleanup ->sa_mask manipulation
Clear unblockable signals beforehand.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-09 16:17:36 -08:00
Oleg Nesterov
c70d3d703a [PATCH] sys_signal: initialize ->sa_mask
Pointed out by Linus Torvalds.

sys_signal() forgets to initialize ->sa_mask.

( I suspect arch/ia64/ia32/ia32_signal.c:sys32_signal()
  also needs this fix )

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-09 16:17:36 -08:00
Heiko Carstens
642fe301c3 [SPARC64]: Fix sys_newfstatat syscall table entry for 64-bit.
The sparc64 64 bit syscall table seems to be broken as it has
compat_sys_newfstatat in its syscall table instead of sys_newfstatat.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-09 15:09:15 -08:00
Tony Luck
65b78722ce Pull new-syscalls into release branch 2006-02-09 14:43:58 -08:00
Hidetoshi Seto
a947464617 [IA64] mca_drv: Add minstate validation
MCA driver can cause panic if kernel gets a state info with no minstate.
This patch adds minstate validation before handling it.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-02-09 14:42:55 -08:00
Tony Luck
1ff0be1534 [IA64] sys32_signal() forgets to initialize ->sa_mask
Pointed out by Oleg Nesterov <oleg@tv-sign.ru>, who in turn
got the hint from Linus.

Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-02-09 14:41:41 -08:00
Prarit Bhargava
b6bb761897 [IA64-SGI] Small cleanup for misuse of list_for_each to list_for_each_safe.
Patch was suggested by Kenneth W. Chen here

Signed-off-by: Prarit Bhargava <prarit@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-02-09 14:14:52 -08:00
Prarit Bhargava
8b34ff427d [IA64-SGI] Hotplug driver related fix in the SN ia64 code.
Remove an erroneous kfree, and unlink the pcidev_info struct from the
pcidev_info list prior to free'ing the pcidev_info struct.

Signed-off-by: Prarit Bhargava <prarit@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-02-09 14:12:24 -08:00
Linus Torvalds
15508d22d0 Revert "[PATCH] kconfig: detect if -lintl is needed when linking conf,mconf"
This reverts commit 5e375bc7d5.

Kyle McMartin steps on his soap-box:

  "Sigh.  Can everyone please stop assuming gcc can output to /dev/null?
   On several platforms, ld tries to lseek in the output file, and fails
   if it can't."

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-09 08:00:14 -08:00
Jeff Garzik
9caafa6c86 Merge branch 'upstream-fixes' 2006-02-09 04:29:00 -05:00
Jeff Garzik
cac0e8e8bb Merge branch 'master' 2006-02-09 00:58:59 -05:00
Linus Torvalds
0bdd340c09 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-02-08 17:06:51 -08:00
Kristian Slavov
9908104935 [IPV6]: Address autoconfiguration does not work after device down/up cycle
If you set network interface down and up again, the IPv6 address
autoconfiguration does not work. 'ip addr' shows that the link-local
address is in tentative state. We don't even react to periodical router
advertisements.

During NETDEV_DOWN we clear IF_READY, and we don't set it back in
NETDEV_UP. While starting to perform DAD on the link-local address, we
notice that the device is not in IF_READY, and we abort autoconfiguration
process (which would eventually send router solicitations).

Acked-by: Juha-Matti Tapio <jmtapio@verkkotelakka.net>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-02-08 16:13:28 -08:00
Andi Kleen
4b88f09364 [PATCH] x86-64: Add sys_unshare
Add unshare syscall for x86-64

ppoll/pselect are not ready yet, but add reservations.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-08 15:52:15 -08:00
Janak Desai
9621a4ef8a [IA64] unshare system call registration for ia64
Registers system call for the ia64 architecture.

Reserves space for ppoll and pselect, and adds unshare at system
call number 1296.

Signed-off-by: Janak Desai <janak@us.ibm.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-02-08 15:43:38 -08:00
Linus Torvalds
ca76a2f3a5 Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2006-02-08 15:22:00 -08:00
Linus Torvalds
17be03f0a1 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
Linus Torvalds
cce0cac125 Merge master.kernel.org:/home/rmk/linux-2.6-arm
Manual conflict merge of arch/arm/Kconfig
2006-02-08 15:20:40 -08:00
Jordan Crouse
be92cbb996 [MMC] Remove extra character in AU1XXX MMC Kconfig entry
An obvious vi fat finger on my part.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:23:05 +00:00
Tony Lindgren
18f49ea207 [ARM] 3278/1: OMAP: 3/3 Fix low-level io init for omap2 boards
Patch from Tony Lindgren

This patch fixes the low-level IO init for omap2 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:47 +00:00
Tony Lindgren
87bd63f647 [ARM] 3280/1: OMAP: 2/3 Fix low-level io init for omap1 boards
Patch from Tony Lindgren

This patch fixes the low-level IO init for omap1 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:46 +00:00
Tony Lindgren
53d9cc7395 [ARM] 3279/1: OMAP: 1/3 Fix low-level io init
Patch from Tony Lindgren

This patch adds the missing cache flushes to common low-level
init that are needed to access the IO region. These flushes
are normally done at the end of devicemaps_init(), but we
need to detect the OMAP core type early.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:45 +00:00
Ben Dooks
083d06edfd [ARM] 3299/1: S3C24XX - fix irq range on adc device
Patch from Ben Dooks

Change the IRQ resource range for the ADC device
to be two distinct IRQs

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:03:31 +00:00
Yoichi Yuasa
85d1494e5f [SERIAL] 8250_pci: add new PCI serial card support
This patch adds new PCI serial card support.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:46:24 +00:00
Ralf Baechle
7369a8b39c [SERIAL] ip22zilog: Whitespace cleanup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:43:03 +00:00
Vitaly Bordug
76a55431cc [SERIAL] PPC32 CPM_UART: update to utilize the new TTY flip API
This replaces old direct usage of tty->flip stuff with relative flip API
calls.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:40:13 +00:00
Jordan Crouse
deb37bb7a9 [SERIAL] Fix compile error in 8250_au1x00.c
The DB1550 actually doesn't have a UART2.  Remove it from the list.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:36:28 +00:00
Kumar Gala
f5968b37b3 [SERIAL] 8250 serial console update uart_8250_port ier
On some embedded PowerPC (MPC834x) systems an extra byte would some
times be required to flush data out of the fifo.
serial8250_console_write() was updating the IER in hardware without
also updating the copy in uart_8250_port. This causes issues functions
like serial8250_start_tx() and __stop_tx() to misbehave.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:34:35 +00:00
Lucas Correia Villa Real
5cba742935 [ARM] 3283/1: S3C2400 - defines the number of serial ports
Patch from Lucas Correia Villa Real

This patch defines the number of serial ports on the S3C2400.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:31:54 +00:00
Catalin Marinas
f557f5e51d [ARM] 3313/1: Use OSC4 instead of OSC1 for CLCD
Patch from Catalin Marinas

Because of a type, OSC1 was used for setting the display clock instead of
OSC4. This patch fixes it.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:39 +00:00
Nicolas Pitre
365bf8ac6f [ARM] 3311/1: clean up include/asm-arm/mutex.h
Patch from Nicolas Pitre

Since:

	if (unlikely(__res || __ex_flag))

produces worse code on ARM than:

	if (unlikely(__res | __ex_flag))

I therefore made it more explicit:

	__res |= __ex_flag;
	if (unlikely(__res != 0))

so it is not seen as a typo again.

Also made everything static inline rather than macros for better readability
(both produce the same code after all).

And finally added missing \t from multi-line assembly code.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:38 +00:00
Nicolas Pitre
5964eae835 [ARM] 3310/1: add a comment about the possible __kuser_cmpxchg transient false
negative

Patch from Nicolas Pitre

The pre ARMv5 implementation can be aborted if an exception occurs in
the middle of it.  Because of that, the ARMv6 implementation doesn't
re-attempt the operation on a failed strex either.  Let's make this
transient nature of such a false positive more explicit in the
definition.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:37 +00:00
Nicolas Pitre
49bca4c281 [ARM] 3309/1: disable the pre-ARMv5 NPTL kernel helper in the non MMU case
Patch from Nicolas Pitre

The cmpxchg emulation on pre-ARMv5 relies on user code executed from a
kernel address.  If the operation cannot complete atomically, it is
aborted from the usr_entry macro by clearing the Z flag.  This clearing
of the Z flag is done whenever the user pc is above TASK_SIZE.

However this "pc >= TASK_SIZE" test cannot work in the non MMU case.
Worse: the current code will corrupt the Z flag on every entry to the
kernel.

Let's disable it in the non MMU case for now.  Using NPTL on non MMU
targets needs to be worked out anyway.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:37 +00:00
Nicolas Pitre
99595d0237 [ARM] 3308/1: old ABI compat: struct sockaddr_un
Patch from Nicolas Pitre

struct sockaddr_un loses its padding with EABI.  Since the size of the
structure is used as a validation test in unix_mkname(), we need to
change the length argument to 110 whenever it is 112.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:36 +00:00
Russell King
a73a3ff127 [ARM] Experimental config options should have (EXPERIMENTAL)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:55 +00:00
Nicolas Pitre
61c484d41f [ARM] 3307/1: old ABI compat: mark it experimental
Patch from Nicolas Pitre

Although OABI_COMPAT works fine in most cases, it is still experimental
and could be for ever since it is nearly impossible to handle
everything, e.g. ioctls.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:08 +00:00
Ben Dooks
29fe3cf384 [ARM] 3306/1: S3C24XX - update defconfig
Patch from Ben Dooks

Bring s3c2410 defconfig up to date

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:07 +00:00