commit 6e800af233e0bdf108efb7bd23c11ea6fa34cdeb Author: Jerome Pinot Date: Sun Nov 11 03:01:10 2007 +0900 ACPI: add documentation for deprecated /proc/acpi/battery in ACPI_PROCFS Add documentation in Kconfig help about the move of /proc/acpi/battery to /sys/class/power_supply when selecting ACPI_PROCFS. This will impact a lot of users and should be documented. Signed-off-by: Jerome Pinot Signed-off-by: Linus Torvalds commit c70ecc7765f7113f9a9d8a84a49951ad84f06326 Merge: 487350e... cee687c... Author: Linus Torvalds Date: Sat Nov 10 14:27:19 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: Add missing "\n" to log message commit 487350e4434610e31b71eac5d6a9714b72fa32f6 Merge: 1da63a2... 037f6bb... Author: Linus Torvalds Date: Sat Nov 10 14:26:04 2007 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: Don't fail device revalidation for bad _GTF methods libata: port and host should be stopped before hardware resources are released libata: skip 0xff polling for PATA controllers libata: pata_platform: Support polling-mode configuration. libata: Support PIO polling-only hosts. libata sata_qstor conversion to new error handling (EH). libata sata_qstor workaround for spurious interrupts libata sata_qstor nuke idle state nv_hardreset: update dangling reference to bugzilla entry ata_piix: add SATELLITE PRO U200 to broken suspend list commit 1da63a2131b0185f64a4c623a0e0b030479185fe Merge: 3902beb... a6baf3a... Author: Linus Torvalds Date: Sat Nov 10 14:23:56 2007 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits) r8169: prevent bit sign expansion error in mdio_write r8169: revert 7da97ec96a0934319c7fbedd3d38baf533e20640 (bis repetita) sky2: new pci id's ax88796: add superh to kconfig dependencies qla3xxx: bugfix: Fix bad logical operation in link state machine. qla3xxx: bugfix: Move link state machine into a worker thread pasemi_mac: Fix CRC checks pasemi_mac: Don't set replace-source-address descriptor bits bonding: don't validate address at device open bonding: fix rtnl locking merge error sky2: netpoll on port 0 only b43: Fix kconfig dependencies for rfkill and leds b43legacy: Fix sparse warning b43: properly request pcmcia IRQ b43legacy: fix shared IRQ race condition b43: fix shared IRQ race condition b43legacy: add me as maintainer and fix URLs b43legacy: fix possible buffer overrun in debugfs b43: Rewrite and fix rfkill init b43: debugfs SHM read buffer overrun fix ... commit 3902beb48d369d5e19f66acc2f857865ddc9b3bf Author: Linus Torvalds Date: Sat Nov 10 14:22:46 2007 -0800 Revert "[ARM] 4642/2: netX: default config for netx based boards" This reverts commit f33bac8dd4573428b94c67149c5607be489092d1, which was totally bogus. The arm/configs/netx_defconfig file already existed - in the right place. Namely under "arch". Noticed-by: Paul Mundt Acked-by: Robert Schwebel Signed-off-by: Linus Torvalds commit cee687ce4ab1197e20d4dacc09df01531362fdbd Author: Rolf Eike Beer Date: Fri Nov 2 15:22:30 2007 +0100 Add missing "\n" to log message Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit a6baf3af89a266a3d745117de570788b956396e7 Author: Francois Romieu Date: Thu Nov 8 23:23:21 2007 +0100 r8169: prevent bit sign expansion error in mdio_write Oops. The current code does not like being given an u16 with the highest bit set as an argument to mdio_write. Let's enforce a correct range of values for both the register address and value (resp. 5 and 16 bits). The callers are currently left as-is. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 50d84c2dc00e48ff9ba018ed0dd23276cf79e566 Author: Mark Lord Date: Thu Nov 8 22:29:07 2007 +0100 r8169: revert 7da97ec96a0934319c7fbedd3d38baf533e20640 (bis repetita) RTL_GIGA_MAC_VER_17 breaks as well. Signed-off-by: Mark Lord Signed-off-by: Francois Romieu Cc: Edward Hsu commit 5a37a68dab77c234c80a8e25455d568f30e86c09 Author: Stephen Hemminger Date: Thu Nov 8 08:20:17 2007 -0800 sky2: new pci id's Found a couple of more chips in the latest version of the vendor driver. They are minor variations on existing chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8687991a734a67f1638782c968f46fff0f94bb1f Author: Magnus Damm Date: Thu Nov 8 16:31:05 2007 +0900 ax88796: add superh to kconfig dependencies ax88796: add superh to kconfig dependencies This patch adds sh architecture support to the ax88796 kconfig. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit ad4c9a09c7bf6aaa418679f0fb48484eab53a285 Author: Ron Mercer Date: Wed Nov 7 13:59:07 2007 -0800 qla3xxx: bugfix: Fix bad logical operation in link state machine. Luckily, this wasn't reported or reproduced. The logical operation for setting duplex had wrong grouping. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 3e23b7d3b54c07f1c4fee1ebc418d1a37248654e Author: Ron Mercer Date: Wed Nov 7 13:59:06 2007 -0800 qla3xxx: bugfix: Move link state machine into a worker thread The link state machine requires access to some resources that are shared with the iSCSI function on the chip. (See iSCSI driver at drivers/scsi/qla4xxx) If the interface is being up/downed at a rapid pace this driver may need to sleep waiting to get access to the common resources. For this we are moving the state machine to run as a work thread. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 32bee776533eea839f9499d985c1490b5ac98512 Author: Olof Johansson Date: Tue Nov 6 22:21:38 2007 -0600 pasemi_mac: Fix CRC checks Make sure we don't feed packets with bad CRC up the network stack, and discount the packet length as reported from the MAC for the CRC field. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit dbd62af7de9ee63f83c0262e4acc3b3319c09c8b Author: Olof Johansson Date: Tue Nov 6 22:20:39 2007 -0600 pasemi_mac: Don't set replace-source-address descriptor bits Don't use the "replace source address with local MAC address" bits, since it causes problems on some variations of the hardware due to an erratum. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 3a1521b7e5b6964c293bb8ed6773513f8f503de5 Author: Jay Vosburgh Date: Tue Nov 6 13:33:29 2007 -0800 bonding: don't validate address at device open The standard validate_addr handler refuses to accept the all zeroes address as valid. However, it's common historical practice for the bonding master to be configured up prior to having any slaves, at which time the master will have a MAC address of all zeroes. Resolved by setting the dev->validate_addr to NULL. The master still can't end up with an invalid address, as the set_mac_address function tests for validity. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 1466a21997212a5fb33d5da9357841972b28b007 Author: Jay Vosburgh Date: Tue Nov 6 13:33:28 2007 -0800 bonding: fix rtnl locking merge error Looks like I incorrectly merged one of the rtnl lock changes, so that one function, bonding_show_active_slave, held rtnl but didn't release it, and another, bonding_store_active_slave, never held rtnl but did release it. Fixed so the first function doesn't mess with rtnl, and the second correctly acquires and releases rtnl. Bug reported by Moni Shoua Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit a5e68c02fe4d8dff2ff3c5212f9f67082849cc4b Author: Stephen Hemminger Date: Tue Nov 6 11:45:40 2007 -0800 sky2: netpoll on port 0 only Netpoll will only work on port 0 because of the restrictive relationship between NAPI and netpoll. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bdb3f751cfe6d8d5737a2ff406d7169361b5dfb2 Author: Michael Buesch Date: Wed Nov 7 21:24:07 2007 +0100 b43: Fix kconfig dependencies for rfkill and leds Fix dependencies for built-in b43. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit cd73ba911248ea3620cd201deda58f0b532ce429 Author: Michael Buesch Date: Wed Nov 7 21:21:55 2007 +0100 b43legacy: Fix sparse warning Fix a sparse warning about a nonstatic function. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9dcb5f477ffa757b7f1817da557905ccae17fc37 Author: Michael Buesch Date: Wed Nov 7 19:08:26 2007 +0100 b43: properly request pcmcia IRQ PCMCIA needs an additional step to request the IRQ. No need to add code to release the IRQ here, as that's done automatically in pcmcia_disable_device(). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 440cb58a7aa979fabb02a38e55bfe93adde0f41c Author: Stefano Brivio Date: Wed Nov 7 18:33:37 2007 +0100 b43legacy: fix shared IRQ race condition Fix an IRQ race condition in b43legacy. If we call b43legacy_wireless_core_stop(), it will set the status of the device to INITIALIZED and the IRQ handler won't care any longer about IRQs, thus the kernel will disable the IRQ if it's shared (unless we boot it with the 'irqpoll' option). So we must disable IRQs before changing the device status. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit a19d12d742903c745890c1374d64092595571e40 Author: Stefano Brivio Date: Wed Nov 7 18:16:11 2007 +0100 b43: fix shared IRQ race condition Fix an IRQ race condition in b43. If we call b43_stop_wireless_core(), it will set the status of the device to INITIALIZED and the IRQ handler won't care any longer about IRQs, thus the kernel will disable the IRQ if it's shared (unless we boot it with the 'irqpoll' option). So we must disable IRQs before changing the device status. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 2817ef1a5d9010873692f8353f6320ebecf9b837 Author: Stefano Brivio Date: Tue Nov 6 22:48:56 2007 +0100 b43legacy: add me as maintainer and fix URLs As b43legacy is going to be orphaned, add me as a maintainer. Fix URLs for the related website and fix my e-mail address in MAINTAINERS file. Signed-off-by: Stefano Brivio Cc: Larry Finger Signed-off-by: John W. Linville commit 187a9dca3f2f90341e321a3998a5b0c74111f77c Author: Stefano Brivio Date: Tue Nov 6 22:48:36 2007 +0100 b43legacy: fix possible buffer overrun in debugfs Fix possible buffer overrun. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 35c7e6602b81bdacb745f04236a419402777139e Author: Michael Buesch Date: Sat Nov 3 14:34:32 2007 +0100 b43: Rewrite and fix rfkill init The rfkill subsystem doesn't like code like that rfkill_allocate(); rfkill_register(); rfkill_unregister(); rfkill_register(); /* <- This will crash */ This sequence happens with modprobe b43 ifconfig wlanX up ifconfig wlanX down ifconfig wlanX up Fix this by always re-allocating the rfkill stuff before register. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 30c4ae42317666f3aeed658cdb8803c84ac6fe77 Author: Michael Buesch Date: Fri Nov 2 18:35:02 2007 +0100 b43: debugfs SHM read buffer overrun fix Fix possible buffer overrun. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 80fda03fc8b5cd09c3e0e90725ef9bcb2a5c7b30 Author: Michael Buesch Date: Sun Oct 28 17:27:10 2007 +0100 b43: Fix rfkill callback deadlock wl->mutex might already be locked on initialization. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ce2d90591fe69ba19076c5d187dfc88ba3318623 Author: Michael Buesch Date: Tue Nov 6 16:36:41 2007 +0100 b43: pcmcia-host initialization bugfixes Fix the initialization for PCMCIA devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a2a1c3eb4029aa7f17533fe7e9a917a7b3349644 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Nov 5 23:55:02 2007 +0100 ipw2100: fix postfix decrement errors If i reaches zero, the loop ends, but the postfix decrement subtracts it to -1. Testing for 'i == 0', later in the function, will not fulfill its purpose. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 2493d8e4166fa75ccb8e49fdd000f9ef67e570ae Author: Randy Dunlap Date: Mon Oct 29 11:20:26 2007 -0700 hostap: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.data+0x36fcc): Section mismatch: reference to .init.data:prism2_pci_id_table (between 'prism2_pci_drv_id' and 'prism2_pci_funcs') Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 453a3fb9bd1fa50cdf4b69b9936c69497e870774 Author: Ivo van Doorn Date: Sun Oct 28 14:39:52 2007 +0100 rt2x00: Block adhoc & master mode rt2x00 is broken when it comes down to adhoc and master mode. The main problem is the beaconing, which is completely failing. Untill a solution has been found, both beacon requiring modes must be disabled to prevent numerous bug reports. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 29f5f2a19b055feabfcc6f92e1d40ec092c373ea Author: Marcelo Tosatti Date: Tue Oct 30 10:52:46 2007 -0400 libertas: properly account for queue commands Properly account for queue commands, this fixes a problem reported by Holger Schurig when using the debugfs interface. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 51e6b712b5960cc7d086c3f856434ccd096c63a7 Author: Pierre Ossman Date: Mon Oct 22 19:05:32 2007 +0200 libertas: make if_sdio align packets Incoming packets have to be aligned or the IP stack becomes upset. Make sure to shift them two bytes to achieve this. Signed-off-by: Pierre Ossman Signed-off-by: John W. Linville commit 4ef31702c1a83a380d5e144f5af55e21f59c9bb6 Author: Holger Schurig Date: Tue Oct 9 10:41:57 2007 +0200 libertas: fixes for slow hardware Fixes for slow hardware. Signed-off-by: Vitaly V. Bursov Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0f39c4ab03f072b13e783858df082877c0110b2b Author: John W. Linville Date: Fri Nov 2 15:36:38 2007 -0400 hermes: clarify Intel reference in Kconfig help The Intel device supported by the hermes driver core is the IPW2011. The "Intel PRO/Wireless" wording suggests the later Centrino devices and may be confusing to some users. Signed-off-by: John W. Linville commit b9d04e2401bf308df921d3bbbdacab40fadc27bb Author: Mark Lord Date: Thu Nov 8 01:03:04 2007 +0100 r8169: revert 7da97ec96a0934319c7fbedd3d38baf533e20640 (partly) Various symptoms depending on the .config options: - the card stops working after some (short) time - the card does not work at all - the card disappears (nothing in lspci/dmesg) A real power-off is needed to recover the card. Signed-off-by: Mark Lord Signed-off-by: Francois Romieu commit 66ec5d4fb1ce6f0bd9df4bc4b758f0916d9f37ab Author: Francois Romieu Date: Tue Nov 6 22:56:10 2007 +0100 r8169: do not enable the TBI for the 8168 and the 81x0 The 8168c and the 8100e choke on it. I have not seen an indication nor received a report that the TBI is being actively used on the remaining 8168b and 8110. Let's disable it for now until someone complains. Signed-off-by: Francois Romieu Cc: Matthias Winkler Cc: Maarten Vanraes Cc: Edward Hsu commit 11d2e28241e89227d88da53187224c84316acc86 Author: Ciaran McCreesh Date: Thu Nov 1 22:48:15 2007 +0100 r8169: add PCI ID for the 8168 in the Abit Fatal1ty F-190HD motherboard Signed-off-by: Ciaran McCreesh Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7c826a0b84f1540d9de54bb0afe4b4520007d791 Author: eric miao Date: Tue Oct 30 09:48:41 2007 +0800 add support for smc91x ethernet interface on zylonite This patch adds LAN91C111 ethernet interface support for zylonite (a.k.a Marvell's PXA3xx Development Platform) with smc91x driver. It would be better if a patch would support zylonite along with all other PXA boards with a single binary of smc91x driver, but it looks quite difficult for the moment, so ugly #ifdef is still used here. Signed-off-by: Aleksey Makarov Acked-by: eric miao Signed-off-by: Jeff Garzik commit 1e354787283c7ec3065406b4bc634309e5ba1253 Author: Stephen Hemminger Date: Mon Nov 5 15:52:14 2007 -0800 sky2: version 1.20 Version update to 1.20 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit cf06ffb4df5314d240a002e3e1c63722e9362070 Author: Stephen Hemminger Date: Mon Nov 5 15:52:13 2007 -0800 sky2: handle advanced error recovery config issues The PCI AER support may not work for a couple of reasons. It may not be configured into the kernel or there may be a BIOS bug that prevents MMCONFIG from working. If MMCONFIG doesn't work then the PCI registers that control AER will not be accessible via pci_read_config functions; luckly there is another window to access PCI space in the device, so use that. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ab1a145638addee40587daf12c98ec6a30029f0a Author: Stephen Hemminger Date: Mon Nov 5 15:52:12 2007 -0800 sky2: remove unneeded mask update The IRQ's is already masked on shutdown, and on startup avoid touching PHY until after phy_init(). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 44388c7ead4b2bae9f82bc0862475640c50f357d Author: Stephen Hemminger Date: Mon Nov 5 15:52:11 2007 -0800 sky2: dont change LED after autoneg Don't need to change LED's after auto negotiation, the chip sets them correctly. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit af043aa54fd45774e61979d1748616c2a67f0da8 Author: Stephen Hemminger Date: Mon Nov 5 15:52:10 2007 -0800 sky2: longer PHY delay Increse phy delay and handle I/O errors. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ab5adecb2d02f3688719dfb5936a82833fcc3955 Author: Stephen Hemminger Date: Mon Nov 5 15:52:09 2007 -0800 sky2: status ring race fix The D-Link PCI-X board (and maybe others) can lie about status ring entries. It seems it will update the register for last status index before completing the DMA for the ring entry. To avoid reading stale data, zap the old entry and check. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ac93a3946b676025fa55356180e8321639744b31 Author: Stephen Hemminger Date: Mon Nov 5 15:52:08 2007 -0800 sky2: enable PCI config writes On some boards, PCI configuration space access is turned off by default. The 2.6.24 driver doesn't turn it on, and should have. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 037f6bb79f753c014bc84bca0de9bf98bb5ab169 Author: Matthew Garrett Date: Thu Nov 8 18:37:07 2007 +0000 libata: Don't fail device revalidation for bad _GTF methods Experience suggests that the _GTF method may be bad. We currently fail device revalidation in that case, which seems excessive. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit ecd744eec3aa8bbc949ec04ed3fbf7ecb2958a0e Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Wed Nov 7 10:48:39 2007 -0500 x86 - 32-bit ptrace emulation mishandles 6th arg [ jdike - Pushing Chuck's patch - see http://lkml.org/lkml/2005/9/16/261 for some history and a test program. UML is also broken without this patch - its processes get SIGBUS from the corrupt 6th argument to mmap being interpretted as a file offset ] When the 32-bit vDSO is used to make a system call, the %ebp register for the 6th syscall arg has to be loaded from the user stack (where it's pushed by the vDSO user code). The native i386 kernel always does this before stopping for syscall tracing, so %ebp can be seen and modified via ptrace to access the 6th syscall argument. The x86-64 kernel fails to do this, presenting the stack address to ptrace instead. This makes the %rbp value seen by 64-bit ptrace of a 32-bit process, and the %ebp value seen by a 32-bit caller of ptrace, both differ from the native i386 behavior. This patch fixes the problem by putting the word loaded from the user stack into %rbp before calling syscall_trace_enter, and reloading the 6th syscall argument from there afterwards (so ptrace can change it). This makes the behavior match that of i386 kernels. Original-Patch-By: Roland McGrath Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Jeff Dike Signed-off-by: Thomas Gleixner commit fd181c72a3c202a3986bcee7551c0838265aec2a Author: Roland McGrath Date: Tue Nov 6 15:30:38 2007 -0800 x86_64: ia32 ptrace THREAD_AREA fix The addr argument to PTRACE_GET_THREAD_AREA and PTRACE_SET_THREAD_AREA is not a magic constant. It's derived from the segment register values being used, which are computed originally from the index used with set_thread_area. The value does not need to match what a native i386 kernel would accept. It needs to match the segment selectors that can actually be in use in this 32-bit process. The 64-bit ptrace support for PTRACE_GET_THREAD_AREA (normally used only on 32-bit processes) is correct, but the 32-bit emulation of ptrace is broken. Signed-off-by: Roland McGrath Signed-off-by: Thomas Gleixner commit 1a0c3ea65ca4838a803a14f0ff2bfc78aa69c9a0 Author: Randy Dunlap Date: Sat Nov 10 04:30:36 2007 +0100 voyager: use struct instead of PARAM Use struct boot_params instead of PARAM + 0xoffsets. Fixes one of many Voyager build problems. arch/x86/kernel/setup_32.c:543: error: 'PARAM' undeclared (first use in this function) Signed-off-by: Randy Dunlap Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c5fd9c77d609b51c0bab682c9d40cbb496ec6f1 Author: David Miller Date: Tue Nov 6 21:13:56 2007 -0800 [FUTEX] Fix address computation in compat code. compat_exit_robust_list() computes a pointer to the futex entry in userspace as follows: (void __user *)entry + futex_offset 'entry' is a 'struct robust_list __user *', and 'futex_offset' is a 'compat_long_t' (typically a 's32'). Things explode if the 32-bit sign bit is set in futex_offset. Type promotion sign extends futex_offset to a 64-bit value before adding it to 'entry'. This triggered a problem on sparc64 running 32-bit applications which would lock up a cpu looping forever in the fault handling for the userspace load in handle_futex_death(). Compat userspace runs with address masking (wherein the cpu zeros out the top 32-bits of every effective address given to a memory operation instruction) so the sparc64 fault handler accounts for this by zero'ing out the top 32-bits of the fault address too. Since the kernel properly uses the compat_uptr interfaces, kernel side accesses to compat userspace work too since they will only use addresses with the top 32-bit clear. Because of this compat futex layer bug we get into the following loop when executing the get_user() load near the top of handle_futex_death(): 1) load from address '0xfffffffff7f16bd8', FAULT 2) fault handler clears upper 32-bits, processes fault for address '0xf7f16bd8' which succeeds 3) goto #1 I want to thank Bernd Zeimetz, Josip Rodin, and Fabio Massimo Di Nitto for their tireless efforts helping me track down this bug. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit 8fc543c8f004fc9dfe0a262dc452dfe2eca4589b Merge: a70a932... 7f6ff62... Author: Linus Torvalds Date: Fri Nov 9 15:28:11 2007 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] IOSAPIC bogus error cleanup [IA64] Update printing of feature set bits [IA64] Fix IOSAPIC delivery mode setting [IA64] XPC heartbeat timer function must run on CPU 0 [IA64] Clean up /proc/interrupts output [IA64] Disable/re-enable CPE interrupts on Altix [IA64] Clean-up McKinley Errata message [IA64] Add gate.lds to list of files ignored by Git [IA64] Fix section mismatch in contig.c version of per_cpu_init() [IA64] Wrong args to memset in efi_gettimeofday() [IA64] Remove duplicate includes from ia32priv.h [IA64] fix number of bytes zeroed by sys_fw_init() in arch/ia64/hp/sim/boot/fw-emu.c [IA64] Fix perfmon sysctl directory modes commit a70a93229943c177f0062490b4f8e44be4cef685 Merge: a80b824... e6fe664... Author: Linus Torvalds Date: Fri Nov 9 15:27:54 2007 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: sched: proper prototype for kernel/sched.c:migration_init() sched: avoid large irq-latencies in smp-balancing sched: fix copy_namespace() <-> sched_fork() dependency in do_fork sched: clean up the wakeup preempt check, #2 sched: clean up the wakeup preempt check sched: wakeup preemption fix sched: remove PREEMPT_RESTRICT sched: turn off PREEMPT_RESTRICT KVM: fix !SMP build error x86: make nmi_cpu_busy() always defined x86: make ipi_handler() always defined sched: cleanup, use NSEC_PER_MSEC and NSEC_PER_SEC sched: reintroduce SMP tunings again sched: restore deterministic CPU accounting on powerpc sched: fix delay accounting regression sched: reintroduce the sched_min_granularity tunable sched: documentation: place_entity() comments sched: fix vslice commit a80b824f0b63fa3a8c269903828beb0837d738e7 Merge: 45ff993... 06e5fda... Author: Linus Torvalds Date: Fri Nov 9 15:25:29 2007 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits) sh: remove dead config symbols from SH code sh: Kill off broken snapgear ds1302 code. sh: Add a dummy vga.h. rtc: rtc-sh: Zero out tm value for invalid rtc states. rtc: sh-rtc: Handle rtc_device_register() failure properly. sh: Fix heartbeart on Solution Engine series sh: Remove SCI_NPORTS from sh-sci.h sh: Fix up PAGE_KERNEL_PCC() for nommu. sh: hs7751rvoip: Kill off dead IPR IRQ mappings. sh: hs7751rvoip: irq.c needs linux/interrupt.h. sh: Kill off __{copy,clear}_user_page(). sh: Optimized copy_{to,from}_user_page() for SH-4. sh: Wire up clear_user_highpage(). sh: Kill off the remaining ST40 cruft. superhyway: Handle device_register() retval properly. sh: kgdb sysrq depends on magic sysrq. sh: Add -Werror for clean directories. sh: Fix up kgdb build with modular sh-sci. sh: Export __{s,u}divsi3_i4i on all CPUs. sh: Fix up kgdb-on-NMI branch target. ... commit 45ff993d2b0b4c07038457cdf07ecf648abd3d78 Merge: cb834e7... 91bc51d... Author: Linus Torvalds Date: Fri Nov 9 15:24:19 2007 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: fix one-shot timer mode [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode. [ARM] 4644/2: fix flush_kern_tlb_range() in module space [ARM] Allow watchdog drivers to be selected again [ARM] 4633/1: omap build fix when FB enabled [ARM] 4642/2: netX: default config for netx based boards [ARM] 4641/2: netX: fix kobject_name type [ARM] Fix iop3xx macro commit cb834e7cc0e8b223386f219c1d1986846c87c55f Merge: 4c31c30... ef19454... Author: Linus Torvalds Date: Fri Nov 9 15:19:54 2007 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [LIB] crc32c: Keep intermediate crc state in cpu order commit 4c31c30302358ce1d253f915a064722db33c2114 Merge: c4888f9... 2ad8b1e... Author: Linus Torvalds Date: Fri Nov 9 15:17:49 2007 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Add UNPLUG traces to all appropriate places block: fix requeue handling in blk_queue_invalidate_tags() mmc: Fix sg helper copy-and-paste error pktcdvd: fix BUG caused by sysfs module reference semantics change ioprio: allow sys_ioprio_set() value of 0 to reset ioprio setting cfq_idle_class_timer: add paranoid checks for jiffies overflow cfq: fix IOPRIO_CLASS_IDLE delays cfq: fix IOPRIO_CLASS_IDLE accounting commit c4888f9ffafe7db107b7eafb3a68eaeeff3779c3 Merge: e36aeee... 688016f... Author: Linus Torvalds Date: Fri Nov 9 15:16:52 2007 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (37 commits) [POWERPC] EEH: Make sure warning message is printed [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC [POWERPC] windfarm: Fix windfarm thread freezer interaction [POWERPC] Fix si_addr value on low level hash failures [POWERPC] Refresh ppc64_defconfig and enable pasemi-related options [POWERPC] pasemi: Update defconfig [POWERPC] iSeries: Fix ref counting in vio setup [POWERPC] ] Fix memset size error [POWERPC] Fix link errors for allyesconfig [POWERPC] iSeries_init_IRQ non-PCI tidy [POWERPC] Change fallocate to match unistd.h on powerpc [POWERPC] EEH: Avoid crash on null device [POWERPC] EEH: Drivers that need reset trump others [POWERPC] EEH: Clean up comments [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2) [POWERPC] Fix switch_slb handling of 1T ESID values [POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined [POWERPC] Include udbg.h when using udbg_printf [POWERPC] Fix cache line vs. block size confusion [POWERPC] Fix sysctl table check failure on PowerMac ... commit e36aeee65d4db050bd8713537416a0a0632db079 Merge: b2f051a... e325a88... Author: Linus Torvalds Date: Fri Nov 9 15:11:58 2007 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: fix rename vs unlink race [PATCH] Fix possibly too long write in o2hb_setup_one_bio() ocfs2: fix write() performance regression ocfs2: Commit journal on sync writes ocfs2: Re-order iput in ocfs2_drop_dentry_lock ocfs2: Create locks at initially requested level [PATCH] Fix priority mistakes in fs/ocfs2/{alloc.c, dlmglue.c} [2.6 patch] make ocfs2_find_entry_el() static commit b2f051ae390432789f2b02fe451aa23ae2698e3d Author: Alan Cox Date: Wed Nov 7 16:53:00 2007 +0000 frv: Remove bogus NO_IRQ = -1 define The old NO_IRQ define some platforms had was long ago declared obsolete and wrong. FRV should therefore not be re-introducing this, especially as IRQs are usually unsigned in the kernel. The "no IRQ" case is defined to be zero and Linus made this rather clear at the time. arch/frv shows no dependancy on this but it might show up driver fixes needing doing I guess Signed-off-by: Alan Cox Acked-by: David Howells Signed-off-by: Linus Torvalds commit a90fcf311199b0199e94e78fca899abf2aeb852b Merge: c5b875e... 6f78a19... Author: Linus Torvalds Date: Fri Nov 9 15:08:37 2007 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Use "is_power_of_2" macro for simplicity. [SPARC]: Remove duplicate includes. commit c5b875e354a54e2b5ba24eecae69bf94e025edd5 Merge: eae1920... c3d8d1e... Author: Linus Torvalds Date: Fri Nov 9 15:07:57 2007 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits) [NETLINK]: Fix unicast timeouts [INET]: Remove per bucket rwlock in tcp/dccp ehash table. [IPVS]: Synchronize closing of Connections [IPVS]: Bind connections on stanby if the destination exists [NET]: Remove Documentation/networking/pt.txt [NET]: Remove Documentation/networking/routing.txt [NET]: Remove Documentation/networking/ncsa-telnet [NET]: Remove comx driver docs. [NET]: Remove Documentation/networking/Configurable [NET]: Clean proto_(un)register from in-code ifdefs [IPSEC]: Fix crypto_alloc_comp error checking [VLAN]: Fix SET_VLAN_INGRESS_PRIORITY_CMD ioctl [NETNS]: Fix compiler error in net_namespace.c [TTY]: Use tty_mode_ioctl() in network drivers. [TTY]: Fix network driver interactions with TCGET/SET calls. [PKT_SCHED] CLS_U32: Fix endianness problem with u32 classifier hash masks. [NET]: Removing duplicit #includes [NET]: Let USB_USBNET always select MII. [RRUNNER]: Do not muck with sysctl_{r,w}mem_max [DLM] lowcomms: Do not muck with sysctl_rmem_max. ... commit eae1920a21b4f87e89cea802e7df39442b119617 Merge: 98d74e0... 7c45d19... Author: Linus Torvalds Date: Fri Nov 9 15:04:12 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-sbp2: fix refcounting commit 98d74e08b1194acea2626da22376a2aacabcf67e Merge: e4fc5a1... 45e5421... Author: Linus Torvalds Date: Fri Nov 9 15:02:43 2007 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: add more validity checks on policy load SELinux: fix bug in new ebitmap code. SELinux: suppress a warning for 64k pages. commit e4fc5a1a2acab67867c9858cd4c8e9abb5b242f7 Author: David Howells Date: Tue Nov 6 21:54:44 2007 +0000 FRV: Remove the section annotation on free_initmem() Remove the section annotation on FRV's free_initmem(). It can't be marked __init, lest it free itself. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e6fe6649b4ec11aa3075e394b4d8743eebe1f64c Author: Adrian Bunk Date: Fri Nov 9 22:39:39 2007 +0100 sched: proper prototype for kernel/sched.c:migration_init() This patch adds a proper prototype for migration_init() in include/linux/sched.h Since there's no point in always returning 0 to a caller that doesn't check the return value it also changes the function to return void. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b82d9fdd848abfbe7263a4ecd9bbb55e575100a6 Author: Peter Zijlstra Date: Fri Nov 9 22:39:39 2007 +0100 sched: avoid large irq-latencies in smp-balancing SMP balancing is done with IRQs disabled and can iterate the full rq. When rqs are large this can cause large irq-latencies. Limit the nr of iterations on each run. This fixes a scheduling latency regression reported by the -rt folks. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Tested-by: Gregory Haskins Signed-off-by: Ingo Molnar commit 3c90e6e99b08f01d5684a3a07cceae6a543e4fa8 Author: Srivatsa Vaddagiri Date: Fri Nov 9 22:39:39 2007 +0100 sched: fix copy_namespace() <-> sched_fork() dependency in do_fork Sukadev Bhattiprolu reported a kernel crash with control groups. There are couple of problems discovered by Suka's test: - The test requires the cgroup filesystem to be mounted with atleast the cpu and ns options (i.e both namespace and cpu controllers are active in the same hierarchy). # mkdir /dev/cpuctl # mount -t cgroup -ocpu,ns none cpuctl (or simply) # mount -t cgroup none cpuctl -> Will activate all controllers in same hierarchy. - The test invokes clone() with CLONE_NEWNS set. This causes a a new child to be created, also a new group (do_fork->copy_namespaces->ns_cgroup_clone-> cgroup_clone) and the child is attached to the new group (cgroup_clone-> attach_task->sched_move_task). At this point in time, the child's scheduler related fields are uninitialized (including its on_rq field, which it has inherited from parent). As a result sched_move_task thinks its on runqueue, when it isn't. As a solution to this problem, I moved sched_fork() call, which initializes scheduler related fields on a new task, before copy_namespaces(). I am not sure though whether moving up will cause other side-effects. Do you see any issue? - The second problem exposed by this test is that task_new_fair() assumes that parent and child will be part of the same group (which needn't be as this test shows). As a result, cfs_rq->curr can be NULL for the child. The solution is to test for curr pointer being NULL in task_new_fair(). With the patch below, I could run ns_exec() fine w/o a crash. Reported-by: Sukadev Bhattiprolu Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 502d26b524d8980f3ed80d9aec398e85671a8160 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: clean up the wakeup preempt check, #2 clean up the preemption check to not use unnecessary 64-bit variables. This improves code size: text data bss dec hex filename 44227 3326 36 47589 b9e5 sched.o.before 44201 3326 36 47563 b9cb sched.o.after Signed-off-by: Ingo Molnar commit 77d9cc44b543fa831169e54c495ad06ef3a0c726 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: clean up the wakeup preempt check clean up the wakeup preemption check. No code changed: text data bss dec hex filename 44227 3326 36 47589 b9e5 sched.o.before 44227 3326 36 47589 b9e5 sched.o.after Signed-off-by: Ingo Molnar commit 8bc6767acb3236e0345e99cf198168e60e7ae456 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: wakeup preemption fix wakeup preemption fix: do not make it dependent on p->prio. Preemption purely depends on ->vruntime. This improves preemption in mixed-nice-level workloads. Signed-off-by: Ingo Molnar commit 3e3e13f399ac8060a20d14d210a28dc02dda372e Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: remove PREEMPT_RESTRICT remove PREEMPT_RESTRICT. (this is a separate commit so that any regression related to the removal itself is bisectable) Signed-off-by: Ingo Molnar commit 52d3da1ad4f442cec877fbeb83902707b56da0cf Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: turn off PREEMPT_RESTRICT PREEMPT_RESTRICT was a method aimed at reducing the amount of wakeup related preemption. It has a disadvantage though, it can prevent legitimate wakeups if a task is 'unlucky' to be hit too early by a tick that clears peer_preempt. Now that the wakeup preemption has been cleaned up we dont seem to have excessive preemptions anymore, so this feature can be turned off. (and removed in the next patch) Signed-off-by: Ingo Molnar commit a5fbb6d1064be885d2a6b82f625186753cf74848 Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 KVM: fix !SMP build error fix a !SMP build error: drivers/kvm/kvm_main.c: In function 'kvm_flush_remote_tlbs': drivers/kvm/kvm_main.c:220: error: implicit declaration of function 'smp_call_function_mask' (and also avoid unused function warning related to up_smp_call_function() not making use of the 'func' parameter.) Signed-off-by: Ingo Molnar commit 0492007ed9b53f6a2a2f983910d0fe7c97b09822 Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 x86: make nmi_cpu_busy() always defined nmi_cpu_busy() must be available on !SMP too. this is in preparation to a smp_call_function_mask() fix. Signed-off-by: Ingo Molnar commit 4e2947f12516d13446d6ffa1d9e4fbd33b1636fa Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 x86: make ipi_handler() always defined prepare for up_smp_call_function() to ensure that the 'func' pointer is unused. (which is related to a KVM build fix) Signed-off-by: Ingo Molnar commit d6322faf296ab5bbb597f8b0abcb50153754cd08 Author: Eric Dumazet Date: Fri Nov 9 22:39:38 2007 +0100 sched: cleanup, use NSEC_PER_MSEC and NSEC_PER_SEC 1) hardcoded 1000000000 value is used five times in places where NSEC_PER_SEC might be more readable. 2) A conversion from nsec to msec uses the hardcoded 1000000 value, which is a candidate for NSEC_PER_MSEC. no code changed: text data bss dec hex filename 44359 3326 36 47721 ba69 sched.o.before 44359 3326 36 47721 ba69 sched.o.after Signed-off-by: Eric Dumazet Signed-off-by: Ingo Molnar commit 19978ca610946ed57c071bad63f8f6642ca1298b Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 sched: reintroduce SMP tunings again Yanmin Zhang reported an aim7 regression and bisected it down to: | commit 38ad464d410dadceda1563f36bdb0be7fe4c8938 | Author: Ingo Molnar | Date: Mon Oct 15 17:00:02 2007 +0200 | | sched: uniform tunings | | use the same defaults on both UP and SMP. fix this by reintroducing similar SMP tunings again. This resolves the regression. (also update the comments to match the ilog2(nr_cpus) tuning effect) Signed-off-by: Ingo Molnar commit fa13a5a1f25f671d084d8884be96fc48d9b68275 Author: Paul Mackerras Date: Fri Nov 9 22:39:38 2007 +0100 sched: restore deterministic CPU accounting on powerpc Since powerpc started using CONFIG_GENERIC_CLOCKEVENTS, the deterministic CPU accounting (CONFIG_VIRT_CPU_ACCOUNTING) has been broken on powerpc, because we end up counting user time twice: once in timer_interrupt() and once in update_process_times(). This fixes the problem by pulling the code in update_process_times that updates utime and stime into a separate function called account_process_tick. If CONFIG_VIRT_CPU_ACCOUNTING is not defined, there is a version of account_process_tick in kernel/timer.c that simply accounts a whole tick to either utime or stime as before. If CONFIG_VIRT_CPU_ACCOUNTING is defined, then arch code gets to implement account_process_tick. This also lets us simplify the s390 code a bit; it means that the s390 timer interrupt can now call update_process_times even when CONFIG_VIRT_CPU_ACCOUNTING is turned on, and can just implement a suitable account_process_tick(). account_process_tick() now takes the task_struct * as an argument. Tested both with and without CONFIG_VIRT_CPU_ACCOUNTING. Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit 9a41785cc43d88397f787a651ed7286a33f8462f Author: Balbir Singh Date: Fri Nov 9 22:39:37 2007 +0100 sched: fix delay accounting regression Fix the delay accounting regression introduced by commit 75d4ef16a6aa84f708188bada182315f80aab6fa. rq no longer has sched_info data associated with it. task_struct sched_info structure is used by delay accounting to provide back statistics to user space. also remove direct use of sched_clock() (which is not a valid thing to do anymore) and use rq->clock instead. Signed-off-by: Balbir Singh Signed-off-by: Ingo Molnar commit b2be5e96dc0b5a179cf4cb98e65cfb605752ca26 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: reintroduce the sched_min_granularity tunable we lost the sched_min_granularity tunable to a clever optimization that uses the sched_latency/min_granularity ratio - but the ratio is quite unintuitive to users and can also crash the kernel if the ratio is set to 0. So reintroduce the min_granularity tunable, while keeping the ratio maintained internally. no functionality changed. [ mingo@elte.hu: some fixlets. ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2cb8600e6be4281e381d39e44de4359e46333e23 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: documentation: place_entity() comments Add a few comments to place_entity(). No code changed. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 10b777246c6953100099af1870d35c8b24d49b12 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: fix vslice vslice was missing a factor NICE_0_LOAD, as weight is in weight*NICE_0_LOAD units. the effect of this bug was larger initial slices and thus latency-noisier forks. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7f6ff62a8f3a4e68258958196098c6f71563ae61 Author: George Beshers Date: Thu Oct 11 15:33:55 2007 -0400 [IA64] IOSAPIC bogus error cleanup On Altix (sn2) machines the "Error parsing MADT" message is misleading because the lack of IOSAPIC entries is expected. Since I am sure someone will ask, I have been told that the chance of this changing anytime soon is close to nil. Signed-off-by: George Beshers Signed-off-by: Tony Luck commit b8de471f37dcafc8892a2e58c80764d7af221715 Author: Russ Anderson Date: Tue Oct 16 17:02:38 2007 -0500 [IA64] Update printing of feature set bits Newer Itanium versions have added additional processor feature set bits. This patch prints all the implemented feature set bits. Some bit descriptions have not been made public. For those bits, a generic "Feature set X bit Y" message is printed. Bits that are not implemented will no longer be printed. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit c9d059def234d7cd60809a6a122102ff96d2d0ca Author: Kenji Kaneshige Date: Wed Nov 7 15:38:30 2007 +0900 [IA64] Fix IOSAPIC delivery mode setting Fix the problem that redirect hit bit in I/O SAPIC RTE is set even when it must be disabled (e.g. nointroute boot option is set, CPU hotplug is enabled or percpu vector is enabled). Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 4c013f5c7ea39cd62e02c80408560751b4e8c0de Author: Dean Nelson Date: Wed Nov 7 07:53:06 2007 -0600 [IA64] XPC heartbeat timer function must run on CPU 0 Currently, XPC's heartbeat timer function runs on whatever CPU modprobe/insmod ran on when XPC was started. To avoid the heartbeat from being delayed for long periods the timer function must run on CPU 0. N.B. Altix doesn't currently allow cpu0 to be taken offline, so this is safe for now. This code must be revised when offline of cpu0 is enabled. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 2ad8b1ef11c98c5603580878aebf9f1bc74129e4 Author: Alan D. Brunelle Date: Wed Nov 7 14:26:56 2007 -0500 Add UNPLUG traces to all appropriate places Added blk_unplug interface, allowing all invocations of unplugs to result in a generated blktrace UNPLUG. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit d85532ed284e63b5c56eaf2418f262822af60be4 Author: Jens Axboe Date: Fri Nov 9 12:52:45 2007 +0100 block: fix requeue handling in blk_queue_invalidate_tags() Credit goes to juergen.kadidlo@exasol.com for diagnosing this issue and supplying the initial patch. blk_queue_invalidate_tags() must use the proper requeueing paths instead of open coding the re-add of the request, otherwise we bug out in rq accounting. Just switch to using blk_requeue_request(), that takes care of end-tag handling as well and also adds the blktrace REQUEUE notify event that is also appropriate here. Signed-off-by: Jens Axboe commit 06e5fda18491b5ab3419bddc36f3de5b4f7142a9 Merge: 3d9144c... c26056b... Author: Paul Mundt Date: Fri Nov 9 17:59:53 2007 +0900 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6 commit 91bc51d8a10b00d8233dd5b6f07d7eb40828b87d Author: Russell King Date: Thu Nov 8 23:35:46 2007 +0000 [ARM] pxa: fix one-shot timer mode One-shot timer mode on PXA has various bugs which prevent kernels build with NO_HZ enabled booting. They end up spinning on a permanently asserted timer interrupt because we don't properly clear it down - clearing the OIER bit does not stop the pending interrupt status. Fix this in the set_mode handler as well. Moreover, the code which sets the next expiry point may race with the hardware, and we might not set the match register sufficiently in the future. If we encounter that situation, return -ETIME so the generic time code retries. Acked-by: Thomas Gleixner Acked-by: Nicolas Pitre Signed-off-by: Russell King commit c2ec21c5c8f15c079c209f403d582f3134785060 Author: Jan Rinze Date: Thu Nov 8 21:51:05 2007 +0100 [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode. Cyberpro: when user requests 16bpp, use it and not 24bpp. There was a missing break causing requests for 16bpp mode to end up in 24bpp mode. Signed-off-by: Jan Rinze Peterzon Acked-by: Ralph Siemsen Signed-off-by: Russell King commit 3d9144c222ee52c924a96781163f5d6f6b93858a Author: Jiri Olsa Date: Fri Nov 9 04:45:29 2007 +0900 sh: remove dead config symbols from SH code Signed-off-by: Jiri Olsa Signed-off-by: Paul Mundt commit 32ebbc0c0d5d18c0135b55d1eb0029f48c54aff0 Author: Tejun Heo Date: Thu Nov 8 13:09:00 2007 +0900 libata: port and host should be stopped before hardware resources are released Port / host stop calls used to be made from ata_host_release() which is called after all hardware resources acquired after host allocation are released. This is wrong as port and host stop routines often access the hardware. Add separate devres for port / host stop which is invoked right after IRQ is released but with all other hardware resources intact. The devres is added iff ->host_stop and/or ->port_stop exist. This problem has been spotted by Mark Lord. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit 1974e20161a2c097c481d2ff711de7db56cb2cd6 Author: Tejun Heo Date: Thu Nov 8 11:20:18 2007 +0900 libata: skip 0xff polling for PATA controllers In a presentation of true workmanship, pata_ali asserts IRQ permanantly if the TF status register is read more than once when there's no device attached to the port. Avoid waiting polling for !0xff if it's PATA. It's needed only for some rare SATA devices anyway. This problem is reported by Luca Tettamanti in bugzilla bug 9298. Signed-off-by: Tejun Heo Tested-By: Luca Tettamanti Signed-off-by: Jeff Garzik commit f7fc0ceb4d72ea5c40d50053b68ebecfbd0cc38c Author: Paul Mundt Date: Thu Nov 8 11:15:21 2007 +0900 libata: pata_platform: Support polling-mode configuration. Some SH boards (old R2D-1 boards) have generally not had working CF under libata, due to both buswidth issues (handled by Aoi Shinkai in 43f4b8c7578b928892b6f01d374346ae14e5eb70), and buggy interrupt controllers. For these sorts of boards simply disabling the IRQ and polling ends up working fine. This conditionalizes the IRQ resource for pata_platform and lets platforms that want to use polling mode simply omit the resource entirely. Signed-off-by: Paul Mundt Signed-off-by: Jeff Garzik commit 3d46b2e2faa56d12c6d51bf1071fd11abd009d0b Author: Paul Mundt Date: Thu Nov 8 11:14:56 2007 +0900 libata: Support PIO polling-only hosts. By default ata_host_activate() expects a valid IRQ in order to successfully register the host. This patch enables a special case for registering polling-only hosts that either don't have IRQs or have buggy IRQ generation (either in terms of handling or sensing), which otherwise work fine. Hosts that want to use polling mode can simply set ATA_FLAG_PIO_POLLING and pass in an invalid IRQ. Signed-off-by: Paul Mundt Signed-off-by: Jeff Garzik commit 6004bda1cce51273ac9e71a39e680831b9ff4503 Author: Mark Lord Date: Wed Nov 7 10:54:15 2007 -0500 libata sata_qstor conversion to new error handling (EH). sata_qstor conversion to new error handling (EH). Convert sata_qstor to use the newer libata EH mechanisms. Based on earlier work by Jeff Garzik. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 904c7bad994e6e7f9997174e0b33fcc521862136 Author: Mark Lord Date: Wed Nov 7 10:53:41 2007 -0500 libata sata_qstor workaround for spurious interrupts sata_qstor workaround for spurious interrupts. The qstor hardware generates spurious interrupts from time to time when switching in and out of packet mode. These eventually result in the IRQ being disabled, which kills other devices sharing this IRQ with us. This workaround isn't perfect, but it's about the best we can do for this hardware. Spurious interrupts will still happen, but won't be logged as such, and therefore won't cause the IRQ to be inadvertently disabled. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 12ee7d3ceb08e9ab99a6c17c5c6a387645a32658 Author: Mark Lord Date: Wed Nov 7 10:52:55 2007 -0500 libata sata_qstor nuke idle state sata_qstor nuke idle state. We're really only ever in one of two hardware states: packet, or mmio. Get rid of unnecessary "qs_state_idle" state. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 647c595dadb20d2c46e18bbd8d2a11e32f2a46e1 Author: Fernando Luis Vázquez Cao Date: Wed Nov 7 16:33:49 2007 +0900 nv_hardreset: update dangling reference to bugzilla entry Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jeff Garzik commit 62320e23c35077e8bc77184e8850d3f45441364b Author: Yann Chachkoff Date: Wed Nov 7 12:02:27 2007 +0900 ata_piix: add SATELLITE PRO U200 to broken suspend list Please warmly welcome the PRO variant of Satellite U200 to the broken suspend list. Original patch is from Yann Chachkoff. Patch reformatted and forwarded by Tejun Heo. Signed-off-by: Yann Chachkoff Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ef19454bd437b2ba14c9cda1de85debd9f383484 Author: Benny Halevy Date: Thu Nov 8 21:34:09 2007 +0800 [LIB] crc32c: Keep intermediate crc state in cpu order crypto/crc32.c:chksum_final() is computing the digest as *(__le32 *)out = ~cpu_to_le32(mctx->crc); so the low-level crc32c_le routines should just keep the crc in cpu order, otherwise it is getting swabbed one too many times on big-endian machines. Signed-off-by: Benny Halevy Signed-off-by: Herbert Xu commit 8578007065bd27ec077a74b5814f0fe4df040180 Author: Roland Dreier Date: Thu Nov 8 13:50:58 2007 +0100 mmc: Fix sg helper copy-and-paste error Commit 45711f1a ("[SG] Update drivers to use sg helpers") had the following bogus change in drivers/mmc/card/queue.c: > - src_buf = page_address(src->page) + src->offset; > + src_buf = sg_virt(dst); (Notice that "src" is converted to "dst"). Turn this "dst" back into the intended "src". Signed-off-by: Roland Dreier Tested-by: Romano Giannetti Signed-off-by: Jens Axboe commit a8fa9ba623122a51efe6c9ef8fe7412c91582d48 Author: Kevin Hilman Date: Thu Nov 8 01:48:16 2007 +0100 [ARM] 4644/2: fix flush_kern_tlb_range() in module space For kernel addresses between TASK_SIZE and PAGE_OFFSET, flush_tlb_kern_range() does not work as would be expected. The TLB invalidate works with a matching ASID, or on entries marked as global. The set_pte_at() macro marks addresses >= PAGE_OFFSET as global, but not addresses from TASK_SIZE to PAGE_OFFSET, which are also kernel addresses. The result is that the entries in this range are not actually invalidated by flush_tlb_kern_range(). This patch instead marks addresses >= TASK_SIZE as global. Signed-off-by: Satoru Fujii Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 541c54773173d95c8e99a7378a5bb63125c297f1 Merge: 6d1c76d... af39c16... Author: Paul Mundt Date: Thu Nov 8 17:01:42 2007 +0900 Merge branch 'page_colouring_despair' commit fffe487d59ba4017c7c62b06667ca4a226cee651 Author: Tejun Heo Date: Thu Nov 8 08:00:24 2007 +0100 pktcdvd: fix BUG caused by sysfs module reference semantics change pkt_setup_dev() expects module reference to be held on invocation. This used to be true for sysfs callbacks but not anymore. Test and grab module reference around pkt_setup_dev() in class_pktcdvd_store_add(). Signed-off-by: Tejun Heo Acked-by: Peter Osterlund Signed-off-by: Jens Axboe commit 688016f4e2028e3c2c27e959ad001536e10ee2c5 Merge: 2c84b40... 2927315... Author: Paul Mackerras Date: Thu Nov 8 14:28:14 2007 +1100 Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge commit 2c84b4076c0cbbc44ffea2ae1da2a801fb23f081 Author: Linas Vepstas Date: Thu Nov 8 07:03:53 2007 +1100 [POWERPC] EEH: Make sure warning message is printed Fix old buglet; a warning message should have been printed when a hardware reset takes too long. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2e6f40deb7dfdc40358fc9ecf07bf71ed553e5ac Author: Johannes Berg Date: Wed Nov 7 23:59:44 2007 +1100 [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC This makes the altivec code in swsusp_32.S depend on CONFIG_ALTIVEC to avoid build failures for systems that don't have altivec. I'm not sure whether the code will actually work for other systems, but it was merged for just ppc32 rather than powermac a very long time ago. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit 67b60518b0ff5cd666c7650eb09f0ef41f838106 Author: Johannes Berg Date: Wed Nov 7 21:18:02 2007 +1100 [POWERPC] windfarm: Fix windfarm thread freezer interaction When I fixed the windfarm freezer interaction first in commit 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one I came up with after comments was committed. This has come back to haunt us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed the freezer to no long send signals. Fix it by removing the windfarm thread's signal logic and restoring the original try_to_freeze(). We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now but I feel that the assertion that no signal is delivered to the windfarm thread needs not be there. Signed-off-by: Johannes Berg Acked-by: Rafael J. Wysocki Signed-off-by: Paul Mackerras commit a792e75d9b3dec3fc1dfef4a8c40674bbba44641 Author: Benjamin Herrenschmidt Date: Wed Nov 7 17:17:02 2007 +1100 [POWERPC] Fix si_addr value on low level hash failures If the low level MMU hash table insertion returns an error (which can happen in some rare circumstances when the hypervisor refuses the insertion of a PTE, typically if you try to access junk via /dev/mem), the generated signal had an incorrect si_addr value due to a bug in the assembly, which was loading it as a 32 bits quantity instead of a 64 bits quantity. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7e22fa4a1d9a70176e1edc4529934406e1af6054 Author: Olof Johansson Date: Wed Nov 7 16:53:58 2007 +1100 [POWERPC] Refresh ppc64_defconfig and enable pasemi-related options Refresh ppc64_defconfig, add PPC_PASEMI and various options that the common boards there need: * Chip drivers (iommu, ethernet, IDE, CF, EDAC, MDIO/PHY) * PCMCIA * PATA_PCMCIA * RTC_CLASS * SATA_MV * SATA_SIL24 * IP_PNP + NFS_ROOT for diskless booting + possibly some other things I might have missed to list Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0c83ddfeb43b8f47e5c6ecead4245bd0af2c9ad2 Author: Olof Johansson Date: Wed Nov 7 16:48:35 2007 +1100 [POWERPC] pasemi: Update defconfig Update pasemi_defconfig. Add a few missing options for default devices on electra boards, enable tickless and hrtimers, etc, etc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7992344fdeb9b3bc0ce6eacaf600eb801f231c30 Author: Stephen Rothwell Date: Tue Nov 6 17:26:42 2007 +1100 [POWERPC] iSeries: Fix ref counting in vio setup Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit aca71ef8827d11de243e30f170cfc126376803b4 Author: Li Zefan Date: Mon Nov 5 13:21:56 2007 +1100 [POWERPC] ] Fix memset size error The size passing to memset is wrong. Signed-off-by Li Zefan Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e95c91821fa56b489d7beb74103a419466c5ec10 Author: Stephen Rothwell Date: Sun Nov 4 13:28:39 2007 +1100 [POWERPC] Fix link errors for allyesconfig An allyesconfig build creates a .text section that is so big that the .text.init.refok and .fixup sections are too far away for the relocations to be fixed up correctly. This patch fixes that by linking all the relevent text sections for each file together. Suggested by Paul Mackerras. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 18244cfbc34e6bb3793977739b359a248899f42a Author: Stephen Rothwell Date: Sun Nov 4 13:22:46 2007 +1100 [POWERPC] iSeries_init_IRQ non-PCI tidy ppc_md.init_IRQ is not called if it is NULL, so we don't need an empty routine in the non PCI case. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f2205fbb5a8933514fd343cc329df631802b4543 Author: Patrick Mansfield Date: Sun Nov 4 04:42:03 2007 +1100 [POWERPC] Change fallocate to match unistd.h on powerpc Fix the fallocate system call on powerpc to match its unistd.h. This implies none of these system calls are currently working with the unistd.h sys call values: fallocate signalfd timerfd eventfd sync_file_range2 Signed-off-by: Patrick Mansfield Acked-by: Anton Blanchard Signed-off-by: Paul Mackerras commit b37ceefe7cfc56f27f03269206a53faedb8be9fd Author: Linas Vepstas Date: Sat Nov 3 07:29:01 2007 +1100 [POWERPC] EEH: Avoid crash on null device Bugfix: avoid crash if there's no PCI device for a given openfirmware node. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2a50f144fc6081269468abf79e1907c6669bef22 Author: Linas Vepstas Date: Sat Nov 3 07:27:50 2007 +1100 [POWERPC] EEH: Drivers that need reset trump others Bugfix: if a driver controlling one part of a multi-function PCI card has asked for a reset, honor that request above all others. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 638799b33586339ac007b0fef497a15d81a271aa Author: Linas Vepstas Date: Sat Nov 3 07:25:55 2007 +1100 [POWERPC] EEH: Clean up comments Clean up commentary, remove dead code. Signed-off-by Linas Vepstas Signed-off-by: Paul Mackerras commit 43875cc0a54d936132010e58545269e183741fae Author: Paul Mackerras Date: Wed Oct 31 22:25:35 2007 +1100 [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2) The decrementer in Book E and 4xx processors interrupts on the transition from 1 to 0, rather than on the 0 to -1 transition as on 64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors. At the moment we subtract 1 from the count of how many decrementer ticks are required before the next interrupt before putting it into the decrementer, which is correct for server/classic processors, but could possibly cause the interrupt to happen too early on Book E and 4xx if the timebase/decrementer frequency is low. This fixes the problem by making set_dec subtract 1 from the count for server and classic processors, instead of having the callers subtract 1. Since set_dec already had a bunch of ifdefs to handle different processor types, there is no net increase in ugliness. :) Note that calling set_dec(0) may not generate an interrupt on some processors. To make sure that decrementer_set_next_event always calls set_dec with an interval of at least 1 tick, we set min_delta_ns of the decrementer_clockevent to correspond to 2 ticks (2 rather than 1 to compensate for truncations in the conversions between ticks and ns). This also removes a redundant call to set the decrementer to 0x7fffffff - it was already set to that earlier in timer_interrupt. Signed-off-by: Paul Mackerras commit 465ccab9eb8209a2a402710b24a9bff127b25b94 Author: will schmidt Date: Wed Oct 31 05:59:33 2007 +1100 [POWERPC] Fix switch_slb handling of 1T ESID values Now that we have 1TB segment size support, we need to be using the GET_ESID_1T macro when comparing ESID values for pc, stack, and unmapped_base within switch_slb(). A new helper function called esids_match() contains the logic for deciding when to call GET_ESID and GET_ESID_1T. This fixes a duplicate-slb-entry inspired machine-check exception I was seeing when trying to run java on a power6 partition. Tested on power6 and power5. Signed-off-by: Will Schmidt Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e7bda183d4e3f6027ae9181c176a459423d04748 Author: Tony Breeds Date: Tue Oct 30 14:55:04 2007 +1100 [POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined Without this patch I get the following build failure CC arch/powerpc/platforms/celleb/setup.o arch/powerpc/platforms/celleb/setup.c:151: error: 'generic_calibrate_decr' undeclared here (not in a function) Signed-off-by: Tony Breeds Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit aa39be09dfd7e95509cadcdb99cf7eb470d83c46 Author: will schmidt Date: Tue Oct 30 06:24:19 2007 +1100 [POWERPC] Include udbg.h when using udbg_printf This fixes the error error: implicit declaration of function "udbg_printf" We have a few spots where we reference udbg_printf() without #including udbg.h. These are within #ifdef DEBUG blocks, so unnoticed until we do a #define DEBUG or #define DEBUG_LOW nearby. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit 20474abda6bb11396434593daf2f52679cf62edf Author: Benjamin Herrenschmidt Date: Sun Oct 28 08:49:28 2007 +1100 [POWERPC] Fix cache line vs. block size confusion We had an historical confusion in the kernel between cache line and cache block size. The former is an implementation detail of the L1 cache which can be useful for performance optimisations, the later is the actual size on which the cache control instructions operate, which can be different. For some reason, we had a weird hack reading the right property on powermac and the wrong one on any other 64 bits (32 bits is unaffected as it only uses the cputable for cache block size infos at this stage). This fixes the booting-without-of.txt documentation to mention the right properties, and fixes the 64 bits initialization code to look for the block size first, with a fallback to the line size if the property is missing. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fb293ae1c02dab78e714d50f2c37d7852d6f328a Author: Alexey Dobriyan Date: Sun Oct 28 05:34:53 2007 +1100 [POWERPC] Fix sysctl table check failure on PowerMac kernel was marked with 0755. Everywhere else it's 0555. Signed-off-by: Alexey Dobriyan Signed-off-by: Paul Mackerras commit 4bfac36891d965bf71992c68b2c079afbfb42b4d Author: Olof Johansson Date: Sun Oct 28 04:28:51 2007 +1100 [POWERPC] Fix CONFIG_SMP=n build break Fix two build errors on powerpc allyesconfig + CONFIG_SMP=n: arch/powerpc/platforms/built-in.o: In function `cpu_affinity_set': arch/powerpc/platforms/cell/spu_priv1_mmio.c:78: undefined reference to `.iic_get_target_id' arch/powerpc/platforms/built-in.o: In function `iic_init_IRQ': arch/powerpc/platforms/cell/interrupt.c:397: undefined reference to `.iic_setup_cpu' Signed-off-by: Olof Johansson Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit aeb4552fad19fa1fb7a164c14be1f5f657791f12 Author: Scott Wood Date: Thu Oct 25 02:56:28 2007 +1000 [POWERPC] bootwrapper: Revert ps3 binary flag usage, and remove .bin suffix The ps3 target produces two images, and the binary one is not the "primary" image that corresponds to the -o flag; thus, it no longer uses the generic binary flag. On platforms which do use the binary flag, it no longer produces a .bin suffix, so that the output file matches what was passed to the -o flag. This should fix the zImage ln problems for the ps3 target. Signed-off-by: Scott Wood Acked-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit d102c9d5d33f05c80fe91e95bd21c099e6d20260 Author: Dale Farnsworth Date: Wed Oct 24 05:20:32 2007 +1000 [POWERPC] Fix mv643xx_pci sysfs .read and .write functions Commit 91a69029 introduced an additional parameter to the .read and .write methods for sysfs binary attributes. Two mv64x60_pci functions were missed in that patch, resulting in these errors: /cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:77: warning: initialization from incompatible pointer type /cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:78: warning: initialization from incompatible pointer type Add the missing "struct bin_attribute *" parameter. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 3a800ff50a107b1b562f17e087a65e4c18e3a35c Author: Aurelien Jarno Date: Tue Oct 23 23:06:38 2007 +1000 [POWERPC] i8259: Add disable method Since commit 76d2160147f43f982dfe881404cfde9fd0a9da21, the NE2000 card is not working anymore on PPC and POWERPC and produces WATCHDOG timeouts. The patch below fixes that the same way it has been done on x86, x86_64 and MIPS. Signed-off-by: Aurelien Jarno Signed-off-by: Paul Mackerras commit 1db3e890aed3ac39cded30d6e94618bda086f7ce Author: Michael Ellerman Date: Tue Oct 23 14:23:44 2007 +1000 [POWERPC] Read back MSI message in rtas_setup_msi_irqs() so restore works There are plans afoot to use pci_restore_msi_state() to restore MSI state after a device reset. In order for this to work for the RTAS MSI backend, we need to read back the MSI message from config space after it has been setup by firmware. This should be sufficient for restoring the MSI state after a device reset, however we will need to revisit this for suspend to disk if that is ever implemented on pseries. Signed-off-by: Michael Ellerman Acked-by: Linas Vepstas Signed-off-by: Paul Mackerras commit bdd71eec9b24fb6f7e83148f73c2312a42b2aed5 Author: Olof Johansson Date: Sat Oct 20 13:39:26 2007 +1000 [POWERPC] Fix build break in arch/ppc/syslib/m8260_setup.c Fix build break and warnings in current mainline git: arch/ppc/syslib/m8260_setup.c: In function 'm8260_setup_arch': arch/ppc/syslib/m8260_setup.c:63: error: implicit declaration of function 'identify_ppc_sys_by_name_and_id' arch/ppc/syslib/m8260_setup.c:64: warning: passing argument 1 of 'in_be32' makes pointer from integer without a cast arch/ppc/syslib/m8260_setup.c: In function 'm8260_show_cpuinfo': arch/ppc/syslib/m8260_setup.c:158: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%d' expects type 'int', but argument 6 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 8 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 9 has type 'long unsigned int' make[1]: *** [arch/ppc/syslib/m8260_setup.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6d1c76d4e76ef72fce5a7169430ab8f9a68d7924 Author: Paul Mundt Date: Thu Nov 8 11:24:33 2007 +0900 sh: Kill off broken snapgear ds1302 code. This will force the snapgear boards to use the on-chip SH RTC instead, until the rtc-ds1302 driver is merged. The current code is broken and hasn't built in some time, so just kill it off and get the board working again. Signed-off-by: Paul Mundt commit 45e5421eb5bbcd9efa037d682dd357284e3ef982 Author: Stephen Smalley Date: Wed Nov 7 10:08:00 2007 -0500 SELinux: add more validity checks on policy load Add more validity checks at policy load time to reject malformed policies and prevent subsequent out-of-range indexing when in permissive mode. Resolves the NULL pointer dereference reported in https://bugzilla.redhat.com/show_bug.cgi?id=357541. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 6d2b685564ba417f4c6d80c3661f0dfee13fff85 Author: KaiGai Kohei Date: Wed Nov 7 01:17:16 2007 +0900 SELinux: fix bug in new ebitmap code. The "e_iter = e_iter->next;" statement in the inner for loop is primally bug. It should be moved to outside of the for loop. Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit 57002bfb31283e84f694763ed4db0fb761b7d6a9 Author: Stephen Rothwell Date: Wed Oct 31 16:47:19 2007 +1100 SELinux: suppress a warning for 64k pages. On PowerPC allmodconfig build we get this: security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type Signed-off-by: Stephen Rothwell Signed-off-by: James Morris commit 70dfa3f8756afa106a468e81649bf0c1d7dbf99e Author: Russell King Date: Wed Nov 7 14:13:35 2007 +0000 [ARM] Allow watchdog drivers to be selected again Signed-off-by: Russell King commit 8ec680e4c3ec818efd1652f15199ed1c216ab550 Author: Jens Axboe Date: Wed Nov 7 13:54:07 2007 +0100 ioprio: allow sys_ioprio_set() value of 0 to reset ioprio setting Normally io priorities follow the CPU nice, unless a specific scheduling class has been set. Once that is set, there's no way to reset the behaviour to 'none' so that it follows CPU nice again. Currently passing in 0 as the ioprio class/value will return -1/EINVAL, change that to allow resetting of a set scheduling class. Signed-off-by: Jens Axboe commit 0e7be9edb9134f833278c381b6feabb54b875208 Author: Oleg Nesterov Date: Wed Nov 7 13:51:35 2007 +0100 cfq_idle_class_timer: add paranoid checks for jiffies overflow In theory, if the queue was idle long enough, cfq_idle_class_timer may have a false (and very long) timeout because jiffies can wrap into the past wrt ->last_end_request. Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit c3d8d1e30cace31fed6186a4b8c6b1401836d89c Author: Patrick McHardy Date: Wed Nov 7 02:42:09 2007 -0800 [NETLINK]: Fix unicast timeouts Commit ed6dcf4a in the history.git tree broke netlink_unicast timeouts by moving the schedule_timeout() call to a new function that doesn't propagate the remaining timeout back to the caller. This means on each retry we start with the full timeout again. ipc/mqueue.c seems to actually want to wait indefinitely so this behaviour is retained. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 230140cffa7feae90ad50bf259db1fa07674f3a7 Author: Eric Dumazet Date: Wed Nov 7 02:40:20 2007 -0800 [INET]: Remove per bucket rwlock in tcp/dccp ehash table. As done two years ago on IP route cache table (commit 22c047ccbc68fa8f3fa57f0e8f906479a062c426) , we can avoid using one lock per hash bucket for the huge TCP/DCCP hash tables. On a typical x86_64 platform, this saves about 2MB or 4MB of ram, for litle performance differences. (we hit a different cache line for the rwlock, but then the bucket cache line have a better sharing factor among cpus, since we dirty it less often). For netstat or ss commands that want a full scan of hash table, we perform fewer memory accesses. Using a 'small' table of hashed rwlocks should be more than enough to provide correct SMP concurrency between different buckets, without using too much memory. Sizing of this table depends on num_possible_cpus() and various CONFIG settings. This patch provides some locking abstraction that may ease a future work using a different model for TCP/DCCP table. Signed-off-by: Eric Dumazet Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit efac52762b1e3fe3035d29e82d8ee1aebc45e4a7 Author: Rumen G. Bogdanovski Date: Wed Nov 7 02:36:55 2007 -0800 [IPVS]: Synchronize closing of Connections This patch makes the master daemon to sync the connection when it is about to close. This makes the connections on the backup to close or timeout according their state. Before the sync was performed only if the connection is in ESTABLISHED state which always made the connections to timeout in the hard coded 3 minutes. However the Andy Gospodarek's patch ([IPVS]: use proper timeout instead of fixed value) effectively did nothing more than increasing this to 15 minutes (Established state timeout). So this patch makes use of proper timeout since it syncs the connections on status changes to FIN_WAIT (2min timeout) and CLOSE (10sec timeout). However if the backup misses CLOSE hopefully it did not miss FIN_WAIT. Otherwise we will just have to wait for the ESTABLISHED state timeout. As it is without this patch. This way the number of the hanging connections on the backup is kept to minimum. And very few of them will be left to timeout with a long timeout. This is important if we want to make use of the fix for the real server overcommit on master/backup fail-over. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 1e356f9cdfa885c78791d5d6e5d2baef22f01853 Author: Rumen G. Bogdanovski Date: Wed Nov 7 02:35:54 2007 -0800 [IPVS]: Bind connections on stanby if the destination exists This patch fixes the problem with node overload on director fail-over. Given the scenario: 2 nodes each accepting 3 connections at a time and 2 directors, director failover occurs when the nodes are fully loaded (6 connections to the cluster) in this case the new director will assign another 6 connections to the cluster, If the same real servers exist there. The problem turned to be in not binding the inherited connections to the real servers (destinations) on the backup director. Therefore: "ipvsadm -l" reports 0 connections: root@test2:~# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP test2.local:5999 wlc -> node473.local:5999 Route 1000 0 0 -> node484.local:5999 Route 1000 0 0 while "ipvs -lnc" is right root@test2:~# ipvsadm -lnc IPVS connection entries pro expire state source virtual destination TCP 14:56 ESTABLISHED 192.168.0.10:39164 192.168.0.222:5999 192.168.0.51:5999 TCP 14:59 ESTABLISHED 192.168.0.10:39165 192.168.0.222:5999 192.168.0.52:5999 So the patch I am sending fixes the problem by binding the received connections to the appropriate service on the backup director, if it exists, else the connection will be handled the old way. So if the master and the backup directors are synchronized in terms of real services there will be no problem with server over-committing since new connections will not be created on the nonexistent real services on the backup. However if the service is created later on the backup, the binding will be performed when the next connection update is received. With this patch the inherited connections will show as inactive on the backup: root@test2:~# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP test2.local:5999 wlc -> node473.local:5999 Route 1000 0 1 -> node484.local:5999 Route 1000 0 1 rumen@test2:~$ cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP C0A800DE:176F wlc -> C0A80033:176F Route 1000 0 1 -> C0A80032:176F Route 1000 0 1 Regards, Rumen Bogdanovski Acked-by: Julian Anastasov Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman commit c183783e28969e92f3df23f8b7e18d5c3e5bc8dd Author: Adrian Bunk Date: Wed Nov 7 02:30:43 2007 -0800 [NET]: Remove Documentation/networking/pt.txt There's no no point in keeping documentation for a driver that was removed many years ago. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit e8b2cadde643780395b45e8974df911cde47744b Author: Adrian Bunk Date: Wed Nov 7 02:30:03 2007 -0800 [NET]: Remove Documentation/networking/routing.txt This file is so outdated that I can't see any value in keeping it. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 17a83c75ada2cc482981d13ad17fcd5fdc956e4e Author: Adrian Bunk Date: Wed Nov 7 02:29:33 2007 -0800 [NET]: Remove Documentation/networking/ncsa-telnet Newsflash: There once was a version of NCSA telnet that had some bug. Spotted by Pekka Pietikainen. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 915590cf642d82e4c9eddf8051ce2eb159ef9af4 Author: Adrian Bunk Date: Wed Nov 7 02:28:52 2007 -0800 [NET]: Remove comx driver docs. The drivers have already been removed 3.5 years ago. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit 240e546445709dd9a883a0629b55961f8efe7f27 Author: Adrian Bunk Date: Wed Nov 7 02:26:15 2007 -0800 [NET]: Remove Documentation/networking/Configurable After more than 11 years this file does no longer contain much useful information. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b733c007edad6f3e05109951bacc6f87dd807917 Author: Pavel Emelyanov Date: Wed Nov 7 02:23:38 2007 -0800 [NET]: Clean proto_(un)register from in-code ifdefs The struct proto has the per-cpu "inuse" counter, which is handled with a special care. All the handling code hides under the ifdef CONFIG_SMP and it introduces some code duplication and makes it look worse than it could. Clean this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4999f3621f4da622e77931b3d33ada6c7083c705 Author: Herbert Xu Date: Wed Nov 7 02:21:47 2007 -0800 [IPSEC]: Fix crypto_alloc_comp error checking The function crypto_alloc_comp returns an errno instead of NULL to indicate error. So it needs to be tested with IS_ERR. This is based on a patch by Vicenç Beltran Querol. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fffe470a803e7f7b74c016291e542a0162761209 Author: Patrick McHardy Date: Wed Nov 7 01:31:32 2007 -0800 [VLAN]: Fix SET_VLAN_INGRESS_PRIORITY_CMD ioctl Based on report and patch by Doug Kehn : vconfig returns the following error when attempting to execute the set_ingress_map command: vconfig: socket or ioctl error for set_ingress_map: Operation not permitted In vlan.c, vlan_ioctl_handler for SET_VLAN_INGRESS_PRIORITY_CMD sets err = -EPERM and calls vlan_dev_set_ingress_priority. vlan_dev_set_ingress_priority is a void function so err remains at -EPERM and results in the vconfig error (even though the ingress map was set). Fix by setting err = 0 after the vlan_dev_set_ingress_priority call. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 45a19b0a725a04f3255d9d3da1fca30bb97f1481 Author: Johann Felix Soden Date: Wed Nov 7 01:30:30 2007 -0800 [NETNS]: Fix compiler error in net_namespace.c Because net_free is called by copy_net_ns before its declaration, the compiler gives an error. This patch puts net_free before copy_net_ns to fix this. The compiler error: net/core/net_namespace.c: In function 'copy_net_ns': net/core/net_namespace.c:97: error: implicit declaration of function 'net_free' net/core/net_namespace.c: At top level: net/core/net_namespace.c:104: warning: conflicting types for 'net_free' net/core/net_namespace.c:104: error: static declaration of 'net_free' follows non-static declaration net/core/net_namespace.c:97: error: previous implicit declaration of 'net_free' was here The error was introduced by the '[NET]: Hide the dead code in the net_namespace.c' patch (6a1a3b9f686bb04820a232cc1657ef2c45670709). Signed-off-by: Johann Felix Soden Signed-off-by: David S. Miller commit d0127539ea9b5fcfe1a1d7d4d57f12384da5190c Author: Alan Cox Date: Wed Nov 7 01:27:34 2007 -0800 [TTY]: Use tty_mode_ioctl() in network drivers. We conciously make a change here - we permit mode and speed setting to be done in things like SLIP mode. There isn't actually a technical reason to disallow this. It's usually a silly thing to do but we can do it and soemone might wish to do so. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 0fc00e2440b717e19bab1ae0015f03936bdf7967 Author: Alan Cox Date: Wed Nov 7 01:24:56 2007 -0800 [TTY]: Fix network driver interactions with TCGET/SET calls. Dave Miller noted various cases where line disciplines for things like ppp go poking around in termios themselves in ways that broke with the new termios code. Rather than have them all learning about termios internals provide proper methods for this - tty_mode_ioctl() This handles all the terminal mode handling for speed/carrier etc and none of the methods are ldisc dependant so they can be called by any user - tty_perform_flush() This extracts the flush functionality and enables pppd the ppp layer to share it cleanly. The existing n_tty_ioctl code is refactored in this patch to provide the new functions and to call them itself appropriately. This patch has no (intended) behaviour changes and simply prepares for the other fixes. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 543821c6f5dea5221426eaf1eac98b100249c7ac Author: Radu Rendec Date: Wed Nov 7 01:20:12 2007 -0800 [PKT_SCHED] CLS_U32: Fix endianness problem with u32 classifier hash masks. While trying to implement u32 hashes in my shaping machine I ran into a possible bug in the u32 hash/bucket computing algorithm (net/sched/cls_u32.c). The problem occurs only with hash masks that extend over the octet boundary, on little endian machines (where htonl() actually does something). Let's say that I would like to use 0x3fc0 as the hash mask. This means 8 contiguous "1" bits starting at b6. With such a mask, the expected (and logical) behavior is to hash any address in, for instance, 192.168.0.0/26 in bucket 0, then any address in 192.168.0.64/26 in bucket 1, then 192.168.0.128/26 in bucket 2 and so on. This is exactly what would happen on a big endian machine, but on little endian machines, what would actually happen with current implementation is 0x3fc0 being reversed (into 0xc03f0000) by htonl() in the userspace tool and then applied to 192.168.x.x in the u32 classifier. When shifting right by 16 bits (rank of first "1" bit in the reversed mask) and applying the divisor mask (0xff for divisor 256), what would actually remain is 0x3f applied on the "168" octet of the address. One could say is this can be easily worked around by taking endianness into account in userspace and supplying an appropriate mask (0xfc03) that would be turned into contiguous "1" bits when reversed (0x03fc0000). But the actual problem is the network address (inside the packet) not being converted to host order, but used as a host-order value when computing the bucket. Let's say the network address is written as n31 n30 ... n0, with n0 being the least significant bit. When used directly (without any conversion) on a little endian machine, it becomes n7 ... n0 n8 ..n15 etc in the machine's registers. Thus bits n7 and n8 would no longer be adjacent and 192.168.64.0/26 and 192.168.128.0/26 would no longer be consecutive. The fix is to apply ntohl() on the hmask before computing fshift, and in u32_hash_fold() convert the packet data to host order before shifting down by fshift. With helpful feedback from Jamal Hadi Salim and Jarek Poplawski. Signed-off-by: David S. Miller commit 40208d71e0c6b5f912b185e637272b6481fcef3f Author: Jiri Olsa Date: Wed Nov 7 00:49:04 2007 -0800 [NET]: Removing duplicit #includes Removing duplicit #includes for net/ Signed-off-by: Jiri Olsa Signed-off-by: David S. Miller commit 4aa92cd9acd18ae9c94e87a30f664e77f699dc78 Author: Adrian Bunk Date: Wed Nov 7 00:10:31 2007 -0800 [NET]: Let USB_USBNET always select MII. All this USB_USBNET_MII trickery is simply not worth it considering how few code it saves. As a side effect, this also fixes the following compile error reported by Toralf Förster: <-- snip --> ... LD .tmp_vmlinux1 drivers/built-in.o: In function `usbnet_set_settings': (.text+0xf1876): undefined reference to `mii_ethtool_sset' drivers/built-in.o: In function `usbnet_get_settings': (.text+0xf1836): undefined reference to `mii_ethtool_gset' drivers/built-in.o: In function `usbnet_get_link': (.text+0xf18d6): undefined reference to `mii_link_ok' drivers/built-in.o: In function `usbnet_nway_reset': (.text+0xf18f6): undefined reference to `mii_nway_restart' make: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit df1e6e54842a47675a2f69a089ecb8ad409f167f Author: David S. Miller Date: Tue Nov 6 23:49:37 2007 -0800 [RRUNNER]: Do not muck with sysctl_{r,w}mem_max Drivers have no business changing these values. Signed-off-by: David S. Miller commit df61c952622f51facac21dd8dfa4d8a24dcb9657 Author: David S. Miller Date: Tue Nov 6 23:48:57 2007 -0800 [DLM] lowcomms: Do not muck with sysctl_rmem_max. Use SO_RCVBUFFORCE instead. Signed-off-by: David S. Miller commit c3e9a353d8fc64a82ab11a07e21902e25e1e96d1 Author: Pavel Emelyanov Date: Tue Nov 6 23:34:04 2007 -0800 [IPV4]: Compact some ifdefs in the fib code. There are places that check for CONFIG_IP_MULTIPLE_TABLES twice in the same file, but the internals of these #ifdefs can be merged. As a side effect - remove one ifdef from inside a function. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6a9a025086ac70f0f285365cbaf1df8643266b72 Author: Rusty Russell Date: Tue Nov 6 20:35:55 2007 -0800 [VETH]: Clarify "virtual ethernet device" to "virtual ethernet pair device". It'd also be nice to mention "containers" somewhere in the help text (I'm assuming that's what it's for?). Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 44656ba1286d82b5a5f8817eb2e4ea744143c3ca Author: David S. Miller Date: Wed Nov 7 04:10:52 2007 -0800 [NET]: Kill proc_net_create() There are no more users. Signed-off-by: David S. Miller commit 33120b30cc3b8665204d4fcde7288638b0dd04d5 Author: Alexey Dobriyan Date: Tue Nov 6 05:27:11 2007 -0800 [IPV6]: Convert /proc/net/ipv6_route to seq_file interface This removes last proc_net_create() user. Kudos to Benjamin Thery and Stephen Hemminger for comments on previous version. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4f9f8311a08c0d95c70261264a2b47f2ae99683a Author: Evgeniy Polyakov Date: Tue Nov 6 03:08:09 2007 -0800 [PKT_SCHED]: Fix OOPS when removing devices from a teql queuing discipline tecl_reset() is called from deactivate and qdisc is set to noop already, but subsequent teql_xmit does not know about it and dereference private data as teql qdisc and thus oopses. not catch it first :) Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit c62cf5cb173a5b8446e513a14448460cad435db2 Author: David S. Miller Date: Mon Nov 5 23:42:25 2007 -0800 [DCCP]: Use DEFINE_PROTO_INUSE infrastructure. Signed-off-by: David S. Miller commit 8295b6d9e623879344ed0ca7565336e4fd698e42 Author: Eric Dumazet Date: Mon Nov 5 23:40:28 2007 -0800 [SCTP]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "sctcp,sctpv6" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c5a432f1a18b4b2efe691dd6bbb30d86a281f783 Author: Eric Dumazet Date: Mon Nov 5 23:39:51 2007 -0800 [IPV6]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "tcpv6,udpv6,udplitev6,rawv6" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 47a31a6ffcca3b55149bccd5b99763e5eea60ac4 Author: Eric Dumazet Date: Mon Nov 5 23:39:16 2007 -0800 [IPV4]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "tcp,udp,udplite,raw" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 286ab3d46058840d68e5d7d52e316c1f7e98c59f Author: Eric Dumazet Date: Mon Nov 5 23:38:39 2007 -0800 [NET]: Define infrastructure to keep 'inuse' changes in an efficent SMP/NUMA way. "struct proto" currently uses an array stats[NR_CPUS] to track change on 'inuse' sockets per protocol. If NR_CPUS is big, this means we use a big memory area for this. Moreover, all this memory area is located on a single node on NUMA machines, increasing memory pressure on the boot node. In this patch, I tried to : - Keep a fast !CONFIG_SMP implementation - Keep a fast CONFIG_SMP implementation for often used protocols (tcp,udp,raw,...) - Introduce a NUMA efficient implementation Some helper macros are defined in include/net/sock.h These macros take into account CONFIG_SMP If a "struct proto" is declared without using DEFINE_PROTO_INUSE / REF_PROTO_INUSE macros, it will automatically use a default implementation, using a dynamically allocated percpu zone. This default implementation will be NUMA efficient, but might use 32/64 bytes per possible cpu because of current alloc_percpu() implementation. However it still should be better than previous implementation based on stats[NR_CPUS] field. When a "struct proto" is changed to use the new macros, we use a single static "int" percpu variable, lowering the memory and cpu costs, still preserving NUMA efficiency. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 91781004b9c029ee55b7aa9ef950a373ba865dc6 Author: James Chapman Date: Mon Nov 5 23:32:37 2007 -0800 [PPP]: L2TP: Fix oops in transmit and receive paths Changes made on 18-sep to fix skb handling in the pppol2tp driver broke the transmit and receive paths. Users are only running into this now because distros are now using 2.6.23 and I must have messed up when I tested the change. For receive, we now do our own calculation of how much to pull from the skb (variable length L2TP header) rather than using skb_transport_offset(). Also, if the skb isn't a data packet, it must be passed back to UDP with skb->data pointing to the UDP header. For transmit, make sure skb->sk is set up because ip_queue_xmit() needs it. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 6a9fb9479f2672fa392711735de9e642395c9a14 Author: Pavel Emelyanov Date: Mon Nov 5 21:32:31 2007 -0800 [IPV4]: Clean the ip_sockglue.c from some ugly ifdefs The #idfed CONFIG_IP_MROUTE is sometimes places inside the if-s, which looks completely bad. Similar ifdefs inside the functions looks a bit better, but they are also not recommended to be used. Provide an ifdef-ed ip_mroute_opt() helper to cleanup the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4e058063f49f53f6d75f707e36c82edee6d2e919 Author: Alexey Dobriyan Date: Mon Nov 5 21:30:11 2007 -0800 [DECNET]: "addr" module param can't be __initdata sysfs keeps references to module parameters via /sys/module/*/parameters, so marking them as __initdata can't work. Steps to reproduce: modprobe decnet cat /sys/module/decnet/parameters/addr BUG: unable to handle kernel paging request at virtual address f88cd410 printing eip: c043dfd1 *pdpt = 0000000000004001 *pde = 0000000004408067 *pte = 0000000000000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: decnet sunrpc af_packet ipv6 binfmt_misc dm_mirror dm_multipath dm_mod sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos serio_raw rtc_core rtc_lib button amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2099, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #6) EIP: 0060:[] EFLAGS: 00210286 CPU: 1 EIP is at param_get_int+0x6/0x20 EAX: c5c87000 EBX: 00000000 ECX: 000080d0 EDX: f88cd410 ESI: f8a108f8 EDI: c5c87000 EBP: 00000000 ESP: c5c97f00 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2099, ti=c5c97000 task=c641ee10 task.ti=c5c97000) Stack: 00000000 f8a108f8 c5c87000 c043db6b f8a108f1 00000124 c043de1a c043db2f f88cd410 ffffffff c5c87000 f8a16bc8 f8a16bc8 c043dd69 c043dd54 c5dd5078 c043dbc8 c5cc7580 c06ee64c c5d679f8 c04c431f c641f480 c641f484 00001000 Call Trace: [] param_array_get+0x3c/0x62 [] param_array_set+0x0/0xdf [] param_array_get+0x0/0x62 [] param_attr_show+0x15/0x2d [] param_attr_show+0x0/0x2d [] module_attr_show+0x1a/0x1e [] sysfs_read_file+0x7c/0xd9 [] sysfs_read_file+0x0/0xd9 [] vfs_read+0x88/0x134 [] do_page_fault+0x0/0x7d5 [] sys_read+0x41/0x67 [] sysenter_past_esp+0x6b/0xc1 ======================= Code: 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 27 dd 6c c0 89 04 24 89 54 24 08 e8 ea 01 0c 00 83 c4 0c c3 83 ec 0c 8b 52 10 <8b> 12 c7 44 24 04 58 8c 6a c0 89 04 24 89 54 24 08 e8 ca 01 0c EIP: [] param_get_int+0x6/0x20 SS:ESP 0068:c5c97f00 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7a0ff716c2282f4b8d89c65850a4f17399628154 Author: Mitsuru Chinen Date: Mon Nov 5 21:29:17 2007 -0800 [IPv6] SNMP: Restore Udp6InErrors incrementation As the checksum verification is postponed till user calls recv or poll, the inrementation of Udp6InErrors counter should be also postponed. Currently, it is postponed in non-blocking operation case. However it should be postponed in all case like the IPv4 code. Signed-off-by: Mitsuru Chinen Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 3f192b5c584b8ecddc6069717aaf36d8fa244713 Author: Alexey Dobriyan Date: Mon Nov 5 21:28:13 2007 -0800 [NET]: Remove /proc/net/stat/*_arp_cache upon module removal neigh_table_init_no_netlink() creates them, but they aren't removed anywhere. Steps to reproduce: modprobe clip rmmod clip cat /proc/net/stat/clip_arp_cache BUG: unable to handle kernel paging request at virtual address f89d7758 printing eip: c05a99da *pdpt = 0000000000004001 *pde = 0000000004408067 *pte = 0000000000000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: atm af_packet ipv6 binfmt_misc sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos rtc_core rtc_lib serio_raw button k8temp hwmon amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2082, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #4) EIP: 0060:[] EFLAGS: 00210256 CPU: 0 EIP is at neigh_stat_seq_next+0x26/0x3f EAX: 00000001 EBX: f89d7600 ECX: c587bf40 EDX: 00000000 ESI: 00000000 EDI: 00000001 EBP: 00000400 ESP: c587bf1c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2082, ti=c587b000 task=c5984e10 task.ti=c587b000) Stack: c06228cc c5313790 c049e5c0 0804f000 c45a7b00 c53137b0 00000000 00000000 00000082 00000001 00000000 00000000 00000000 fffffffb c58d6780 c049e437 c45a7b00 c04b1f93 c587bfa0 00000400 0804f000 00000400 0804f000 c04b1f2f Call Trace: [] seq_read+0x189/0x281 [] seq_read+0x0/0x281 [] proc_reg_read+0x64/0x77 [] proc_reg_read+0x0/0x77 [] vfs_read+0x80/0xd1 [] sys_read+0x41/0x67 [] sysenter_past_esp+0x6b/0xc1 ======================= Code: e9 ec 8d 05 00 56 8b 11 53 8b 40 70 8b 58 3c eb 29 0f a3 15 80 91 7b c0 19 c0 85 c0 8d 42 01 74 17 89 c6 c1 fe 1f 89 01 89 71 04 <8b> 83 58 01 00 00 f7 d0 8b 04 90 eb 09 89 c2 83 fa 01 7e d2 31 EIP: [] neigh_stat_seq_next+0x26/0x3f SS:ESP 0068:c587bf1c Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bf138862b162b6eaf3d7336f759f6e6485e481df Author: Pavel Emelyanov Date: Mon Nov 5 21:04:31 2007 -0800 [IPV6]: Consolidate the ip cork destruction in ip6_output.c The ip6_push_pending_frames and ip6_flush_pending_frames do the same things to flush the sock's cork. Move this into a separate function and save ~100 bytes from the .text Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 429f08e950a88cd826b203ea898c2f2d0f7db9de Author: Pavel Emelyanov Date: Mon Nov 5 21:03:24 2007 -0800 [IPV4]: Consolidate the ip cork destruction in ip_output.c The ip_push_pending_frames and ip_flush_pending_frames do the same things to flush the sock's cork. Move this into a separate function and save ~80 bytes from the .text Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e011ff48abc1b0ee97cde26b7700d2cca689e7c3 Author: Bart De Schuymer Date: Mon Nov 5 20:59:47 2007 -0800 [NETFILTER]: ebt_arp: fix --arp-gratuitous matching dependence on --arp-ip-{src,dst} Fix --arp-gratuitous matching dependence on --arp-ip-{src,dst} Signed-off-by: Bart De Schuymer Signed-off-by: Lutz Preßler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55d84acd366f08e11ff00139f32fe4394fb0016a Author: Alexey Dobriyan Date: Mon Nov 5 20:44:06 2007 -0800 [NETFILTER]: nf_sockopts list head cleanup Code is using knowledge that nf_sockopt_ops::list list_head is first field in structure by using casts. Switch to list_for_each_entry() itetators while I am at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d1332e0ab84479d941de5cf4a69c71dfd385a25e Author: Patrick McHardy Date: Mon Nov 5 20:43:30 2007 -0800 [NETFILTER]: remove unneeded rcu_dereference() calls As noticed by Paul McKenney, the rcu_dereference calls in the init path of NAT modules are unneeded, remove them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0795c65d9f8de2bf9a62ae1f56e928c6b5ed75ab Author: Jan Engelhardt Date: Mon Nov 5 20:42:54 2007 -0800 [NETFILTER]: Clean up Makefile Sort matches and targets in the NF makefiles. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b98e1747eecc19b872572c5fffedc1868531dac6 Author: Jan Engelhardt Date: Mon Nov 5 20:42:16 2007 -0800 [NETFILTER]: Sort matches/targets in Kbuild file Sort matches and targets in the Kbuild file. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba5dc2756cc305c055dbb253b8fcdc459f0f8e73 Author: Jan Engelhardt Date: Mon Nov 5 20:35:56 2007 -0800 [NETFILTER]: Copyright/Email update Transfer all my copyright over to our company. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7351a22a3ae005422488139365e9a80f560c80b9 Author: Alexey Dobriyan Date: Mon Nov 5 20:33:46 2007 -0800 [NETFILTER]: ip{,6}_queue: convert to seq_file interface I plan to kill ->get_info which means killing proc_net_create(). Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cbeb13447f015d90367c9f72fbf87227f3e186c8 Author: Paul Mundt Date: Wed Nov 7 20:19:30 2007 +0900 sh: Add a dummy vga.h. We have nothing to do here, but there are continually drivers that fail to build without it. Stub it in. Signed-off-by: Paul Mundt commit 0ac554b9be9fd340aa59e0d6a311986afcea40cf Author: Paul Mundt Date: Wed Nov 7 20:13:24 2007 +0900 rtc: rtc-sh: Zero out tm value for invalid rtc states. Follows the changes of some of the other RTC drivers. If the tm value is bogus, just zero it out. Adds some sanity for RTC_RD_TIME. Signed-off-by: Paul Mundt commit 6f78a19702574008bbd333237380fa85be1c9e5d Author: Robert P. J. Day Date: Wed Nov 7 02:24:33 2007 -0800 [SPARC64]: Use "is_power_of_2" macro for simplicity. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit b70c864d3ce706571d2f3cac1d35d4fba01d6072 Author: Oleg Nesterov Date: Wed Nov 7 09:46:13 2007 +0100 cfq: fix IOPRIO_CLASS_IDLE delays After the fresh boot: ionice -c3 -p $$ echo cfq >> /sys/block/XXX/queue/scheduler dd if=/dev/XXX of=/dev/null bs=512 count=1 Now dd hangs in D state and the queue is completely stalled for approximately INITIAL_JIFFIES + CFQ_IDLE_GRACE jiffies. This is because cfq_init_queue() forgets to initialize cfq_data->last_end_request. (I guess this patch is not complete, overflow is still possible) Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit 2389d1ef172fc9df01f58265a436919d233fbc27 Author: Oleg Nesterov Date: Mon Nov 5 08:58:05 2007 +0100 cfq: fix IOPRIO_CLASS_IDLE accounting Spotted by Nick , hopefully can explain the second trace in http://bugzilla.kernel.org/show_bug.cgi?id=9180. If ->async_idle_cfqq != NULL cfq_put_async_queues() puts it IOPRIO_BE_NR times in a loop. Fix this. Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit 29dd0dae507f73f305aaea765f975eafd1fa5493 Author: Paul Mundt Date: Wed Nov 7 14:58:09 2007 +0900 rtc: sh-rtc: Handle rtc_device_register() failure properly. Currently if rtc_device_register() fails we have an IS_ERR() on the wrong pointer, which causes this to always be skipped. Fix this up to actually check the right pointer. The return value was always correct, even though the check was wrong. Signed-off-by: Paul Mundt commit 9c88b6ba1c72a8bba30347b63f1531f2d9c2a309 Author: Nobuhiro Iwamatsu Date: Wed Nov 7 14:56:46 2007 +0900 sh: Fix heartbeart on Solution Engine series Access size to LED is not added on Solution Engine series. LED doesn't work. Fixed this problem. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 694caef5e201d43151cc3a31b447e75b2f531de4 Author: Nobuhiro Iwamatsu Date: Wed Nov 7 14:54:32 2007 +0900 sh: Remove SCI_NPORTS from sh-sci.h When SH7710 and SH7712 are used, SCI_NPORTS redefined. Remove it. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 9c969ffe1f1bb349e118a299f76f6bb0bbd6b05a Author: Lucas Woods Date: Mon Nov 5 20:22:27 2007 -0800 [SPARC]: Remove duplicate includes. Signed-off-by: Lucas Woods Signed-off-by: David S. Miller commit ac11584ccbd14aadcc6613598f3bac4589ea3a11 Author: Paul Mundt Date: Wed Nov 7 11:40:24 2007 +0900 sh: Fix up PAGE_KERNEL_PCC() for nommu. PAGE_KERNEL_PCC() takes two arguments, which weren't reflected in the nommu case. Fix it up. Signed-off-by: Paul Mundt commit c7a0e13d0a5316587da0b6d8b3291a473a7df453 Author: Paul Mundt Date: Wed Nov 7 11:39:35 2007 +0900 sh: hs7751rvoip: Kill off dead IPR IRQ mappings. This is dead code, and doesn't build anyways. Kill it off. Signed-off-by: Paul Mundt commit b7b23870040b78b3c7910597b02ef6c8a368fd19 Author: Paul Mundt Date: Wed Nov 7 11:38:37 2007 +0900 sh: hs7751rvoip: irq.c needs linux/interrupt.h. Signed-off-by: Paul Mundt commit af39c16bd843ee8bde495c8ccb95a5ca209f3051 Author: Paul Mundt Date: Mon Nov 5 16:20:42 2007 +0900 sh: Kill off __{copy,clear}_user_page(). Now that copy_to_user_page()/copy_from_user_page() are wired up, we can drop the old __copy_xxx() implementations. Now that the page colouring scheme has changed via kmap_coherent(), we can avoid the flush in these specific helpers. Signed-off-by: Paul Mundt commit ba1789efea81acc6633f427bfeb871fd608965b5 Author: Paul Mundt Date: Mon Nov 5 16:18:16 2007 +0900 sh: Optimized copy_{to,from}_user_page() for SH-4. This moves copy_{to,from}_user_page() out-of-line on SH-4 and converts for the kmap_coherent() API. Based on the MIPS implementation. Signed-off-by: Paul Mundt commit 7747b9a493a197cb4db44c98d25ce6d3d9f586d1 Author: Paul Mundt Date: Mon Nov 5 16:12:32 2007 +0900 sh: Wire up clear_user_highpage(). With the kmap_coherent() API in place, this is trivial to implement, and lets us avoid the cache flush in certain cases. Signed-off-by: Paul Mundt commit f96691872439ab2071171d4531c4a95b5d493ae5 Author: Paul Mundt Date: Wed Nov 7 11:05:32 2007 +0900 sh: Kill off the remaining ST40 cruft. The ST40 stuff in-tree hasn't built for some time, and hasn't been updated for over 3 years. ST maintains their own out-of-tree changes and rebases occasionally, and that's ultimately where all of the ST40 users go anyways. In order for the ST40 code to be brought up to date most of the stuff removed in this changeset would have to be rewritten anyways, so there's very little benefit in keeping the remnants around either. Signed-off-by: Paul Mundt commit 07782cec9b444746859855fc310f20f254e995a0 Author: Paul Mundt Date: Tue Nov 6 18:05:08 2007 +0900 superhyway: Handle device_register() retval properly. Signed-off-by: Paul Mundt commit 0acc729ea31cb166116e350eb61694559b1d29aa Author: Paul Mundt Date: Tue Nov 6 17:50:07 2007 +0900 sh: kgdb sysrq depends on magic sysrq. Signed-off-by: Paul Mundt commit 98366c20a275e957416e9516db5dcb7195b4e101 Author: Paul Mundt Date: Tue Nov 6 17:35:12 2007 +0900 sh: Add -Werror for clean directories. Follow the MIPS and sparc64 changes for -Werror instrumentation. Signed-off-by: Paul Mundt commit 808bde2537b6c683af25a2e911c1d88dc80a445e Author: Paul Mundt Date: Tue Nov 6 17:34:33 2007 +0900 sh: Fix up kgdb build with modular sh-sci. Signed-off-by: Paul Mundt commit 98c6942975dc73138df61070dd8cfbcbe67f3d96 Author: Paul Mundt Date: Tue Nov 6 17:15:57 2007 +0900 sh: Export __{s,u}divsi3_i4i on all CPUs. Currently these are only being exported for CONFIG_CPU_SH4. This invariably breaks when building for an SH-3 that includes multiple targets in multilib. Signed-off-by: Paul Mundt commit 96a8a0ba128fa9e40b9d2d1220f264947e9fbc06 Author: Paul Mundt Date: Tue Nov 6 16:59:10 2007 +0900 sh: Fix up kgdb-on-NMI branch target. This was all reworked some time ago, the old debug_enter was ripped out with everything going through a debug trap jump table instead. Kill off the debug_enter target and reference kgdb_handle_exception directly. Signed-off-by: Paul Mundt commit 0e3a9aab954910b1dcdf2133a46a58cc729ce3dc Author: Paul Mundt Date: Tue Nov 6 15:55:36 2007 +0900 sh: ubc wakeup for SH-4 only. SH-4A parts generally don't have any use for this, and it requires an alternate implementation anyways. Leave this as an SH-4 only option, as that's the only place this has been needed in the past. Signed-off-by: Paul Mundt commit f7b6130e736b031c8b42ded4027b4793a7b1ef79 Author: Nobuhiro Iwamatsu Date: Tue Nov 6 06:45:58 2007 +0900 sh: Fix compression method when making uImage. When uImage is made by using 'make uImage', zImage is used. If zImage is used, the compression method need not be set. However, it is set for "gzip" for a compression method. I corrected to set "none". Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit d177469905600e7fc093b683b00362493b2947b5 Author: Paul Mundt Date: Mon Nov 5 12:14:17 2007 +0900 sh: Kill off duplicate includes. Caught by the surprisingly not-entirely-useless 'includecheck'. Signed-off-by: Paul Mundt commit b5f2d739e1f1fcfd3b9277cd43afad024bd7eca9 Author: Mike Frysinger Date: Mon Nov 5 07:47:12 2007 +0900 sh: remove PTRACE_O_TRACESYSGOOD from asm/ptrace.h The common linux/ptrace.h already defines PTRACE_O_TRACESYSGOOD so there is no need to have arches do it. This also keeps glibc-2.7 from breaking since it has an enum for the PTRACE_O_* flags. Signed-off-by: Mike Frysinger Signed-off-by: Paul Mundt commit a8199071ca9129c02b25c649f62d499a26b0ff5b Author: Nobuhiro Iwamatsu Date: Mon Nov 5 07:44:41 2007 +0900 sh: Add SH7705 and other to the support of Solution Engine. This patch supports Hitachi Solution Engine (SuperH) of SH7705, SH7710, SH7712, SH7750S and SH7750R. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 7c45d1913f0a1d597eb4bc3b2c962bc2967da9ea Author: Stefan Richter Date: Wed Nov 7 01:11:56 2007 +0100 firewire: fw-sbp2: fix refcounting Since patch "fw-sbp2: use an own workqueue (fix system responsiveness)" increased parallelism between fw-sbp2 and fw-core, it was possible that fw-sbp2 didn't release the SCSI device when the FireWire device was disconnected. This happened if sbp2_update() ran during sbp2_login(), because a bus reset occurred during sbp2_login(). The sbp2_login() work would [try to] reschedule itself because it failed due to the bus reset, and it would _not_ drop its reference on the target. However, sbp2_update() would schedule sbp2_login() too before sbp2_login() rescheduled itself and hence sbp2_update() would take an additional reference. And then we would have one reference too many. The fix is to _always_ drop the reference when leaving the sbp2_login() work. If the sbp2_login() work reschedules itself, it takes a reference, but only if it wasn't already rescheduled by sbp2_update(). Ditto in the sbp2_reconnect() work. The resulting code is actually simpler than before: We _always_ take a reference when successfully scheduling work. And we _always_ drop a reference when leaving a workqueue job. No exceptions. Signed-off-by: Stefan Richter commit ddd6fc7923fbcfbb53f9431cbc981b1c12636e14 Author: Kenji Kaneshige Date: Wed Oct 31 20:06:13 2007 +0900 [IA64] Clean up /proc/interrupts output Clean up /proc/interrupts output on the system that has 10 or more CPUs. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 1f3b6045f783ee394076ad6dba2d72ecaaecd243 Author: Russ Anderson Date: Wed Oct 31 11:10:38 2007 -0500 [IA64] Disable/re-enable CPE interrupts on Altix When the CPE handler encounters too many CPEs (such as a solid single bit memory error), it sets up a polling timer and disables the CPE interrupt (to avoid excessive overhead logging the stream of single bit errors). disable_irq_nosync() calls chip->disable() to provide a chipset specifiec interface for disabling the interrupt. This patch adds the Altix specific support to disable and re-enable the CPE interrupt. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit adb34022eb7a11126fecef6b5abb4741a17360c6 Author: Russ Anderson Date: Thu Nov 1 16:00:04 2007 -0500 [IA64] Clean-up McKinley Errata message No need to print "McKinley Errata 9 workaround not needed; disabling it" on every non-McKinley Itanium, which at this point is almost all of them. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit c5d07d6ccc6710cad5815768c6d5e629c99b4dca Author: Peter Chubb Date: Wed Oct 31 11:45:50 2007 +1100 [IA64] Add gate.lds to list of files ignored by Git If you build the kernel `in-place' then do a git update, git complains about arch/ia64/kernel/gate.lds being modified and untracked. Add that (generated) file to a .gitignore file. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit e325a88f17196f18888f6e1426eb9fe3b4346d28 Author: Srinivas Eeda Date: Wed Oct 31 16:49:43 2007 -0700 ocfs2: fix rename vs unlink race If another node unlinks the destination while ocfs2_rename() is waiting on a cluster lock, ocfs2_rename() simply logs an error and continues. This causes a crash because the renaming node is now trying to delete a non-existent inode. The correct solution is to return -ENOENT. Signed-off-by: Srinivas Eeda Signed-off-by: Mark Fasheh commit bc7e97cbdd4bef162e5772c74ee2cc4487a2d997 Author: Jan Kara Date: Wed Oct 10 16:25:42 2007 +0200 [PATCH] Fix possibly too long write in o2hb_setup_one_bio() We should subtract start of our IO from PAGE_CACHE_SIZE to get the right length of the write we want to perform. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 4e9563fd55ff4479f2b118d0757d121dd0cfc39c Author: Mark Fasheh Date: Thu Nov 1 11:37:48 2007 -0700 ocfs2: fix write() performance regression On file systems which don't support sparse files, Ocfs2_map_page_blocks() was reading blocks on appending writes. This caused write performance to suffer dramatically. Fix this by detecting an appending write on a nonsparse fs and skipping the read. Signed-off-by: Mark Fasheh commit 9ea2d32f40434589ea0e136373f7d1545afb411f Author: Mark Fasheh Date: Thu Oct 18 14:14:45 2007 -0700 ocfs2: Commit journal on sync writes We're missing a meta data commit for extending sync writes. In thoery, write could return with the meta data required to read the data uncommitted to disk. Fix that by detecting an allocating write and forcing a journal commit in the sync case. Signed-off-by: Mark Fasheh commit 9f70968af3e6e21612e06e153aa71c62dee5a09b Author: Mark Fasheh Date: Thu Oct 18 12:36:10 2007 -0700 ocfs2: Re-order iput in ocfs2_drop_dentry_lock Do this to avoid a theoretical (I haven't seen this in practice) race where the downconvert thread might drop the dentry lock, allowing a remote unlink to proceed before dropping the inode locks. This could bounce access to the orphan dir between nodes. There doesn't seem to be a need to do the same in ocfs2_dentry_iput() as that's never called for the last ref drop from the downconvert thread. Signed-off-by: Mark Fasheh commit 019d1b2247c6898589560c6f3b3e7ec280b0010a Author: Mark Fasheh Date: Fri Oct 5 12:09:05 2007 -0700 ocfs2: Create locks at initially requested level If we have not yet created a cluster lock, ocfs2_cluster_lock() will first create it at NLMODE, and then convert the lock to either PRMODE or EXMODE (whichever is requested). Change ocfs2_cluster_lock() to just create the lock at the initially requested level. ocfs2_locking_ast() handles this case fine, so the only update required was in setup of locking state. This should reduce the number of network messages required for a new lock by one, providing an incremental performance enhancement. Signed-off-by: Mark Fasheh commit 3cf0c507dd28de0e1a4c24304d806e6b3976f0f5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Oct 27 00:20:36 2007 +0200 [PATCH] Fix priority mistakes in fs/ocfs2/{alloc.c, dlmglue.c} Fixes priority mistakes similar to '!x & y' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mark Fasheh commit 0af4bd38876416d945ad6a1338798696604952a1 Author: Adrian Bunk Date: Wed Oct 24 18:23:27 2007 +0200 [2.6 patch] make ocfs2_find_entry_el() static ocfs2_find_entry_el() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 4b9ddc7cf272a0af321c22ef9c00d76384402d48 Author: Tony Luck Date: Tue Nov 6 15:14:45 2007 -0800 [IA64] Fix section mismatch in contig.c version of per_cpu_init() There is a section mismatch when building CONFIG_FLATMEM=y kernels that also have CONFIG_HOTPLUG_CPU=y WARNING: vmlinux.o(.text+0x5a902): Section mismatch: reference to \ .init.text:__alloc_bootmem (between 'per_cpu_init' and 'count_pages') The issue occurs because per_cpu_init() in mm/contig.c is marked __cpuinit (which is #define'd to nothing on a hot plug cpu configuration) call __alloc_bootmem() (which is an __init function). The usage is actually safe because the __alloc_bootmem() is inside an "if (first_time)" test so that the call is only made while it is still legal to do so. But the warning is irritating. Move the allocation to find_memory(). Signed-off-by: Tony Luck commit 4b07ae9b9d7b05a63e3ece32a666041949b7f421 Author: Li Zefan Date: Tue Nov 6 13:40:39 2007 -0800 [IA64] Wrong args to memset in efi_gettimeofday() Not sizeof(ptr) ... we meant to say sizeof(*ptr). Also moved the memset to the error path (the normal path overwrites every field in the structure anyway) -Tony Signed-off-by: Li Zefan Signed-off-by: Tony Luck commit 8d0a6e4da5ecde2022025ee764e4f7e425a53770 Author: Lucas Woods Date: Tue Nov 6 07:13:28 2007 +1100 [IA64] Remove duplicate includes from ia32priv.h Don't need asm/processor.h twice Signed-off-by: Lucas Woods Signed-off-by: Tony Luck commit b17de3619553d004be3fe3c58bf6a63cbec3303b Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 6 22:13:53 2007 +0100 [IA64] fix number of bytes zeroed by sys_fw_init() in arch/ia64/hp/sim/boot/fw-emu.c The sizeof a pointer is constant, we want the sizeof what is pointed to. Zero out 'sizeof(*efi_systab)' bytes of the efi_system_table_t pointer 'efi_systab' instead. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Tony Luck commit e3ad42be1ee37ab277ef30555b772e0c803f3b69 Author: Tony Luck Date: Tue Nov 6 13:20:43 2007 -0800 [IA64] Fix perfmon sysctl directory modes New sanity checks in sysctl_check_table() complain about a couple of mode 0755 that should be 0555 in the perfmon code: sysctl table check failed: /kernel .1 Writable sysctl directory sysctl table check failed: /kernel/perfmon Writable sysctl directory Signed-off-by: Tony Luck commit 342fb3dda337f4b0c49e468cd930138c401ccce0 Author: David Brownell Date: Fri Oct 26 21:48:37 2007 +0100 [ARM] 4633/1: omap build fix when FB enabled This fixes a section error on OMAP when the framebuffer is enabled. Signed-off-by: David Brownell Acked-by: Tony Lindgren Signed-off-by: Russell King commit f33bac8dd4573428b94c67149c5607be489092d1 Author: Robert Schwebel Date: Mon Nov 5 17:59:25 2007 +0100 [ARM] 4642/2: netX: default config for netx based boards This patch updates the default config file for netx based boards. Signed-off-by: Robert Schwebel Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 93e29a2ecaa8372c5bb9b996b8b43e03a7c37f3c Author: Robert Schwebel Date: Mon Nov 5 17:55:24 2007 +0100 [ARM] 4641/2: netX: fix kobject_name type With commit 5984a2fc7e7c9ab118e78ae9799e98fc4ade40f9 kobject_name() is correctly being used to access the name field of kobj, but that function needs a pointer to a kobject, not the kobject itself. Signed-off-by: Robert Schwebel Signed-off-by: Russell King commit c617360afaeeef4bf3768dc0537edfc72ffb2763 Author: Russell King Date: Thu Nov 1 21:27:59 2007 +0000 [ARM] Fix iop3xx macro Macro arguments used in expressions should have parens. This avoids warnings such as: drivers/serial/8250.c:1951: warning: suggest parentheses around arithmetic in operand of | Acked-by: Dan Williams Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit c26056bc488567ff769d8623e169598e4fd5d21a Author: Paul Mundt Date: Mon Nov 5 12:18:17 2007 +0900 sh64: Kill off duplicate includes. Follow the sh change. Signed-off-by: Paul Mundt commit 97a4649d6ffce4a5d7f5ce018d87a6cefcb4ad03 Merge: f6ab0b9... 54866f0... Author: Paul Mackerras Date: Fri Nov 2 14:03:14 2007 +1100 Merge branch 'linux-2.6' into merge commit 29273158f82020241d9a6539d6cef9cf926654c9 Author: Steven A. Falco Date: Thu Nov 1 04:52:53 2007 +1100 [POWERPC] 4xx: Fix Walnut DTS interrupt property Re-order the EMAC interrupts in the walnut.dts file so that they are mapped correctly. Signed-off-by: Steve Falco Signed-off-by: Josh Boyer commit bd942ba3db60d3bd4e21febbe7c5e339d973d5a8 Author: Grant Likely Date: Wed Oct 31 17:41:20 2007 +1100 [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M mmu_mapin_ram() loops over total_lowmem to setup page tables. However, if total_lowmem is less that 16M, the subtraction rolls over and results in a number just under 4G (because total_lowmem is an unsigned value). This patch rejigs the loop from countup to countdown to eliminate the bug. Special thanks to Magnus Hjorth who wrote the original patch to fix this bug. This patch improves on his by making the loop code simpler (which also eliminates the possibility of another rollover at the high end) and also applies the change to arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit b98ac05d5e460301fbea24cceed0f2a601c82e22 Author: Benjamin Herrenschmidt Date: Wed Oct 31 16:42:19 2007 +1100 [POWERPC] 4xx: Deal with 44x virtually tagged icache The 44x family has an interesting "feature" which is a virtually tagged instruction cache (yuck !). So far, we haven't dealt with it properly, which means we've been mostly lucky or people didn't report the problems, unless people have been running custom patches in their distro... This is an attempt at fixing it properly. I chose to do it by setting a global flag whenever we change a PTE that was previously marked executable, and flush the entire instruction cache upon return to user space when that happens. This is a bit heavy handed, but it's hard to do more fine grained flushes as the icbi instruction, on those processor, for some very strange reasons (since the cache is virtually mapped) still requires a valid TLB entry for reading in the target address space, which isn't something I want to deal with. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit e701d269aa28996f3502780951fe1b12d5d66b49 Author: Benjamin Herrenschmidt Date: Tue Oct 30 09:46:06 2007 +1100 [POWERPC] 4xx: Fix 4xx flush_tlb_page() On 4xx CPUs, the current implementation of flush_tlb_page() uses a low level _tlbie() assembly function that only works for the current PID. Thus, invalidations caused by, for example, a COW fault triggered by get_user_pages() from a different context will not work properly, causing among other things, gdb breakpoints to fail. This patch adds a "pid" argument to _tlbie() on 4xx processors, and uses it to flush entries in the right context. FSL BookE also gets the argument but it seems they don't need it (their tlbivax form ignores the PID when invalidating according to the document I have). Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Josh Boyer commit 57d75561be5496289601b2c94787ec38c718fcae Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Oct 28 00:22:13 2007 +1000 [POWERPC] allocation fix in ppc/platforms/4xx/luan.c Don't allocate hose2 when when hose1 can't be allocated and free hose1 when hose2 can't be allocated. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Josh Boyer commit d1dfc35d3a62122b85ca975b80dcbf4a0da0bebc Author: Valentine Barshak Date: Fri Oct 26 04:16:40 2007 +1000 [POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue. PowerPC 440EP(x) 440GR(x) processors have the same PVR values, since they have identical cores. However, FPU is not supported on GR(x) and enabling APU instruction broadcast in the CCR0 register (to enable FPU) may cause unpredictable results. There's no safe way to detect FPU support at runtime. This patch provides a workarund for the issue. We use a POWER6 "logical PVR approach". First, we identify all EP(x) and GR(x) processors as GR(x) ones (which is safe). Then we check the device tree cpu path. If we have a EP(x) processor entry, we call identify_cpu again with PVR | 0x8. This bit is always 0 in the real PVR. This way we enable FPU only for 440EP(x). Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 1d6b698764084510fe6168bb5b650165dced03ae Author: Grant Likely Date: Tue Oct 23 14:27:46 2007 +1000 [POWERPC] Uartlite: speed up console output Change the wait_tx routine to call cpu_relax() instead of udelay() to reduce console output latency and test for the TXFULL bit instead of TXEMPTY. That way the FIFO doesn't need to by 100% flushed before writing the next character. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Josh Boyer commit 7ae0fa49c6502ca1ada0e043c5d25ee73c0a28c6 Author: Grant Likely Date: Tue Oct 23 14:27:41 2007 +1000 [POWERPC] Device tree bindings for Xilinx devices Signed-off-by: Grant Likely Acked-by: Stephen Neuendorffer Signed-off-by: Josh Boyer commit d47403733403bec7c050cce6f6ff56dfcf80b8b7 Author: Grant Likely Date: Tue Oct 23 14:27:36 2007 +1000 [POWERPC] bootwrapper: Bail from script if any command fails Add the 'set -e' command to the wrapper script so that if any command fails then the script will automatically exit Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Josh Boyer commit 7f66c1fd03b64db5ddb24cc2ae150c9aebe30cb4 Author: Grant Likely Date: Tue Oct 23 14:27:31 2007 +1000 [POWERPC] bootwrapper: Allow wrapper script to execute verbosely Allow wrapper script to print verbose progress when the V is set in the environment. Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Josh Boyer commit f6ab0b922c3423b88c0e6e3e2c5fc1e58d83055d Author: Benjamin Herrenschmidt Date: Mon Oct 29 12:05:18 2007 +1100 [POWERPC] powerpc: Fix demotion of segments to 4K pages When demoting a process to use 4K HW pages (instead of 64K), which happens under various circumstances such as doing cache inhibited mappings on machines that do not support 64K CI pages, the assembly hash code calls back into the C function flush_hash_page(). This function prototype was recently changed to accomodate for 1T segments but the assembly call site was not updated, causing applications that do demotion to hang. In addition, when updating the per-CPU PACA for the new sizes, we didn't properly update the slice "map", thus causing the SLB miss code to re-insert segments for the wrong size. This fixes both and adds a warning comment next to the C implementation to try to avoid problems next time someone changes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras