ChangeSet@1.2057, 2004-09-06 21:26:07-07:00, anton@samba.org [PATCH] ppc64: Fix POWER5/JS20 SMP init My recent change to dynamically allocate emergency stacks broke JS20 blades and POWER5. Since we use the emergency stacks in real mode during secondary CPU bringup they must be below the RMO. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.2056, 2004-09-06 21:07:52-07:00, torvalds@x86-64.osdl.org x86-64: tell sparse we're a 64-bit platform. Otherwise sparse will complain about constants that don't fit in "long" etc. ChangeSet@1.2036.3.2, 2004-09-06 21:34:58+10:00, airlied@starflyer.(none) drm: Sparc64 ffb compile fixes Fixup ffb driver and interfaces it uses, also avoid bus_to_virt on sparc, I'll look into using the proper APIs for the DRM soon. Signed-off-by: Dave Airlie ChangeSet@1.2036.3.1, 2004-09-06 20:26:50+10:00, airlied@starflyer.(none) drm: remove __HAVE_DMA/IRQ and mapping offset macros Remove __HAVE_DMA and __HAVE_IRQ and associated macros. Also remove GET_MAP related macros... Signed-off-by: Dave Airlie ChangeSet@1.2036.2.5, 2004-09-05 23:04:09-07:00, zwane@linuxpower.ca [PATCH] Correct ELF section used for out of line spinlocks Anton Blanchard noted that vmlinux.lds is using .lock.text but __lockfunc was using .spinlock.text. Make them consistent. Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2036.2.4, 2004-09-05 23:01:38-07:00, torvalds@ppc970.osdl.org Merge bk://are.twiddle.net/axp-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.10.56, 2004-09-05 18:05:06-07:00, rth@kanga.twiddle.home [ALPHA] Fix raising of ieee exceptions from userland software. ChangeSet@1.2036.2.3, 2004-09-06 09:49:04+10:00, hch@sgi.com [XFS] Fix use of AIO wait_on_sync_kiocb and a deadlock in O_SYNC inode semaphore handling. ChangeSet@1.2036.2.2, 2004-09-06 09:35:41+10:00, hch@sgi.com [XFS] Remove a readahead page allocation failure warning, this will happen under normal workloads and does not indicate a problem. ChangeSet@1.2036.2.1, 2004-09-06 09:19:02+10:00, tes@sgi.com [XFS] Fix up header length miscalculation affecting version 1 logs. SGI Modid: xfs-linux:xfs-kern:178055a Signed-off-by: Nathan Scott ChangeSet@1.2052, 2004-09-05 23:05:44+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2076/1: S3C2410 - s3c2440 support and machine updates Patch from Ben Dooks Include the central code for detecting the cpu in use, and initialising it's IO. Updated all mach-XXX.c files to use this new init. Added the first stage of the new serial port code by calling s3c2410_init_uarts() instead of just setting a variable. Updates mach-h1940.c to prefix with h1940_ instead of ipaq_ Small fixes for redundant code Signed-off-by: Ben Dooks ChangeSet@1.2051, 2004-09-05 20:42:25+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2039/1: 2033/6 resubmission Patch from Dave Jiang Rewrite if uncompress.h to use the proper machine_is_X function call. ChangeSet@1.2050, 2004-09-05 20:37:06+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2049/1: 2037/1 (2033/5) resubmission Patch from Dave Jiang arch/arm/mm Removed offending #ifdefs for MACH names. Grouped into different IOP families. ChangeSet@1.2049, 2004-09-05 20:32:12+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2048/1: Patch 2036/1 (2033/4) resubmission Patch from Dave Jiang arch/arm/mach-iop3xx update Removed busy while loop and replaced with mdelay() from patch 2036/1 ChangeSet@1.2048, 2004-09-05 20:23:19+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2035/1: 2033/3 - IOP3xx patch submission (3/6) Patch from Dave Jiang arch/arm/kernel changes ChangeSet@1.2047, 2004-09-05 20:19:16+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2034/1: 2033/2 - IOP3xx patch submission (2/6) Patch from Dave Jiang arch/arm/configs updates for defconfigs for all IOP platforms ChangeSet@1.2036.1.3, 2004-09-05 15:15:27-04:00, margitsw@t-online.de [PATCH] prism54 Bug - Fix frequency reporting * prism54_get_freq is incorrectly returning channel * and not frequency. Wireless tools detect this, but * other programs do not, leading to insane reported * values. (As Jean documents, drivers should really be * reporting the frequency). * An example is wavemon. ChangeSet@1.2046, 2004-09-05 20:14:41+01:00, dave.jiang@com.rmk.(none) [ARM PATCH] 2033/1: IOP3xx patch submission (1/6) Patch from Dave Jiang This patch depends on the applied patches of 1963/1 2017/1 This is the arch/arm/boot directory As to address RMK's previous questions in head-xscale.S, all that are workarounds for improper things coming from redboot. Currently the distribution redboot for IOP does not pass in correct MACH ID or setup the memory map correctly after exec (according to Deepak). So we have to fix it. I'm working on pushing the IOP redboot developer to fix those things at a later date. ChangeSet@1.2036.1.2, 2004-09-05 15:09:12-04:00, khc@pm.waw.pl [PATCH] fix for integer overflow in hd6457[02] driver code The attached patch fixes an integer overflow in drivers for N2, C101, PCI200SYN WAN cards (brv * port->settings.clock_rate overflowed at requested clock rate of 8*1024*1024 bps, problem noted by Nagaraj Kanniah). ChangeSet@1.2045, 2004-09-05 18:26:49+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2058/2: S3C2410 - Add PWM devices, update ID on existing devices Patch from Ben Dooks Add PWM timers 0 through 3 Update ID on single devices to -1 Signed-off-by: Ben Dooks ChangeSet@1.2036.1.1, 2004-09-05 10:20:12-07:00, drzeus-list@drzeus.cx [PATCH] x86-64: split timer resources This splits timer resource from 0x40-0x5f to 0x40-0x43, 0x50-053 for x86_64. A patch doing this for i386 was released earlier. Forgot that we have two x86 platforms. ChangeSet@1.2044, 2004-09-05 17:58:44+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2029/1: S3C2410 - nand controller register definitions Patch from Ben Dooks NAND flash controller register definitions ChangeSet@1.2043, 2004-09-05 17:54:24+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2028/1: S3C2410 - SDIO/MMC register definitions Patch from Ben Dooks Definitions for the SDIO/MMC controller on the S3C2410 ChangeSet@1.2042, 2004-09-05 16:43:40+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2074/1: S3C2410 - fix reboot by watchdog Patch from Ben Dooks Fix erroneously removed IO region which causes the reboot by watchdog to fail to reboot with an OOPS. Thanks to Herber Potzl for finding this. Signed-off-by: Ben Dooks ChangeSet@1.2041, 2004-09-05 16:39:32+01:00, elf@com.rmk.(none) [ARM PATCH] 2072/1: lh7a40x Timer device change Patch from Marc Singer This patch changes the system jiffies timer to use TIMER2 so that a given platform can use TIMER1 to drive the buzzer. Note that only TIMER1 can be used to drive a buzzer. Signed-off-by: Marc Singer ChangeSet@1.2040, 2004-09-05 16:35:02+01:00, bo.henriksen@com.rmk.(none) [ARM PATCH] 2065/1: LH7A40X UDC ARCH changes Patch from Bo Henriksen This patch is part of the UDC driver for the lh7a40x sdk. Please submit this patch for 2.6.9, otherwise the UDC driver will not work. ChangeSet@1.2039, 2004-09-05 16:30:43+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2063/1: BAST - CPLD register updates Patch from Ben Dooks Added CTRL2,CTLR3 and CTRL4 definitions to bast-cpld.h Signed-off-by: Ben Dooks ChangeSet@1.2038, 2004-09-05 16:26:20+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2062/2: Initial support for s3c2440 cpus Patch from Ben Dooks Resend of Patch 2062/1 with the commenbts from rmk applied, so that CPU_S3C2410 / CPU_S3C2440 are automatically selected without user intervention Signed-off-by: Ben Dooks ChangeSet@1.2037, 2004-09-05 16:21:35+01:00, david-b@net.rmk.(none) [ARM PATCH] 2060/1: make /proc/cpuinfo report missing EDSP and Java support Patch from David Brownell This makes /proc/cpuinfo more accurate on many ARM processors, so that for example ARMv5TEJ processors always show they have Thumb (T), EDSP (E), and Java (J) capability. ChangeSet@1.2036, 2004-09-04 20:42:57-07:00, viro@www.linux.org.uk [PATCH] quota minor endianness fixes missing le32_to_cpu() in printk Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2035, 2004-09-04 20:42:46-07:00, viro@www.linux.org.uk [PATCH] UDF endianness fixes Lots of crap. It looks like the thing had never been really tested on big-endian boxen... Aside of usual "forgot to convert" bugs there's a cute one - foo->le16field = cpu_to_le32(bar) does not work on big-endian... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2034, 2004-09-04 20:42:34-07:00, viro@www.linux.org.uk [PATCH] acorn partitions endianness fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2033, 2004-09-04 20:42:22-07:00, viro@www.linux.org.uk [PATCH] msdos and vfat endianness fixes Some callers of fat_date_unix2dos() (in msdos/namei.c and vfat/namei.c) forgot to convert returned host-endian date and time to little-endian. Since all callers want to get little-endian values, moved the conversion into function itself. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2032, 2004-09-04 20:42:10-07:00, viro@www.linux.org.uk [PATCH] ext2 endianness fixes Several places printk a little-endian number without any conversions. Ones in super.c are particulary unpleasant - there we are getting told that fs couldn't be mounted because of the following set of incompat features and it would be nice to have the printed number matching what one could find in headers... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2031, 2004-09-04 20:42:00-07:00, viro@www.linux.org.uk [PATCH] adfs endianness fixes Thus starts the series of endianness problems found by sparse tricks.. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.2019.1.3, 2004-09-05 10:55:41+10:00, airlied@starflyer.(none) remove DRIVER_FILE_FIELDS, replace with a private driver structure allocated in open helper and freed in free_filp_priv. Signed-off-by: Dave Airlie ChangeSet@1.2019.1.2, 2004-09-05 10:30:54+10:00, airlied@starflyer.(none) Drop __HAVE_CTX_BITMAP, __HAVE_SG, __HAVE_PCI_DMA, these are fairly straightforward removals.. Signed-off-by: Dave Airlie ChangeSet@1.2029, 2004-09-04 16:48:06-07:00, torvalds@ppc970.osdl.org ppc64: move C declaration in ptrace.h into "ifndef __ASSEMBLY__" The assembler gets quite confused otherwise. ChangeSet@1.2019.1.1, 2004-09-05 09:22:49+10:00, airlied@starflyer.(none) Remove __HAVE_AGP and __HAVE_MTRR, add driver features bitmask, Cleaned up a lot of #ifdef in functions using suggestions from Arjan. Signed-off-by: Dave Airlie ChangeSet@1.2028, 2004-09-04 16:19:46-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / other Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2027, 2004-09-04 16:19:34-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / sparc64 Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2026, 2004-09-04 16:19:22-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / ppc64 Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2025, 2004-09-04 16:19:10-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / ppc32 Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2024, 2004-09-04 16:18:59-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / x86_64 Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2023, 2004-09-04 16:18:47-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / i386 Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2022, 2004-09-04 16:18:35-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / arm Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2021, 2004-09-04 16:18:26-07:00, zwane@linuxpower.ca [PATCH] out-of-line locks / generic This patch achieves out of line spinlocks by creating kernel/spinlock.c and using the _raw_* inline locking functions. Now, as much as this is supposed to be arch agnostic, there was still a fair amount of rummaging about in archs, mostly for the cases where the arch already has out of line locks and i wanted to avoid the extra call, saving that extra call also makes lock profiling easier. PPC32/64 was an example of such an arch and i have added the necessary profile_pc() function as an example. Size differences are with CONFIG_PREEMPT enabled since we wanted to determine how much could be saved by moving that lot out of line too. ppc64 = 259897 bytes: text data bss dec hex filename 5489808 1962724 709064 8161596 7c893c vmlinux-after 5749577 1962852 709064 8421493 808075 vmlinux-before sparc64 = 193368 bytes: text data bss dec hex filename 3472037 633712 308920 4414669 435ccd vmlinux-after 3665285 633832 308920 4608037 465025 vmlinux-before i386 = 416075 bytes text data bss dec hex filename 5808371 867442 326864 7002677 6ada35 vmlinux-after 6221254 870634 326864 7418752 713380 vmlinux-before x86-64 = 282446 bytes text data bss dec hex filename 4598025 1450644 523632 6572301 64490d vmlinux-after 4881679 1449436 523632 6854747 68985b vmlinux-before It has been compile tested (UP, SMP, PREEMPT) on i386, x86-64, sparc, sparc64, ppc64, ppc32 and runtime tested on i386, x86-64 and sparc64. Signed-off-by: Zwane Mwaikambo Signed-off-by: Linus Torvalds ChangeSet@1.2020, 2004-09-04 15:31:30-07:00, Andries.Brouwer@cwi.nl [PATCH] fat: add static In the long sequence of static additions, here some fat ones. ChangeSet@1.2018, 2004-09-03 19:28:42-07:00, torvalds@ppc970.osdl.org Remove extra tests from get_user_cpu_mask(). They aren't internally consistent. ChangeSet@1.2016.1.5, 2004-09-03 22:16:14-04:00, manfred@colorfullife.com [PATCH] fix media detection for nForce 2 nics attached is a patch that polls the media setting for non GigE nForce nics: Without polling, media changes are not autodetected. This is fatal, because the nic initialization is asynchroneous, thus "modprobe;ifup" resulted in a dead network connection. The attached patch fixes that problem. It's a repost of a patch I sent around three weeks ago: you objected that I rely on the nic irq instead of a software timer. I've documented why this is ok. ChangeSet@1.2016.1.4, 2004-09-03 22:14:54-04:00, akpm@osdl.org [PATCH] airo build fix drivers/net/wireless/airo.c: In function `issuecommand': drivers/net/wireless/airo.c:3812: warning: implicit declaration of function `kernel_locked' *** Warning: "kernel_locked" [drivers/net/wireless/airo.ko] undefined! Signed-off-by: Andrew Morton ChangeSet@1.2016.1.3, 2004-09-03 22:13:22-04:00, davej@redhat.com [PATCH] wavelan uninitalised var. This seems a little odd, printing out the value of a variable we haven't read yet. Signed-off-by: Dave Jones ChangeSet@1.2016.1.2, 2004-09-03 22:13:11-04:00, davej@redhat.com [PATCH] 3c527 possible oops. If the alloc_skb() fails, we dereference it in the skb_reserve() call. Move the skb_reserve() call to after the NULL check. Also clean up some CodingStyle violations whilst in the vicinity. Signed-off-by: Dave Jones ChangeSet@1.2017, 2004-09-03 18:48:28-07:00, wli@holomorphy.com [PATCH] fix sched_domains hotplug bootstrap ordering vs. cpu_online_map issue cpu_online_map is not set up at the time of sched domain initialization when hotplug cpu paths are used for SMP booting. At this phase of bootstrapping, cpu_possible_map can be used by the various architectures using cpu hotplugging for SMP bootstrap, but the manipulations of cpu_online_map done on behalf of NUMA architectures, done indirectly via node_to_cpumask(), can't, because cpu_online_map starts depopulated and hasn't yet been populated. On true NUMA architectures this is a distinct cpumask_t from cpu_online_map and so the unpatched code works on NUMA; on non-NUMA architectures the definition of node_to_cpumask() this way breaks and would require an invasive sweeping of users of node_to_cpumask() to change it to e.g. cpu_possible_map, as cpu_possible_map is not suitable for use at runtime as a substitute for cpu_online_map. Signed-off-by: William Irwin Signed-off-by: Linus Torvalds ChangeSet@1.2014, 2004-09-03 10:44:40-07:00, ornati@fastwebnet.it [PATCH] tdfxfb linkage fix v2.0 (the previous one is broken) This patch _really_ fixes tdfxfb linkage ChangeSet@1.2013, 2004-09-03 10:42:09-07:00, davej@redhat.com [PATCH] Fix warning in pc300_tty driver. ..caused by my last patch to this file. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.2012, 2004-09-03 10:39:14-07:00, arjanv@redhat.com [PATCH] make hugetlb expansion allocation nowarn a user can do echo 32000 > /proc/sys/vm/nr_hugepapges; at which point most boxes will get spew about allocation failure. This of course isn't a real bug so the patch below quiets that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2011, 2004-09-03 10:39:02-07:00, janitor@sternwelten.at [PATCH] update parport MAINTAINERS entry Add correct email for parport entry in MAINTAINERS. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2010, 2004-09-03 10:38:50-07:00, janitor@sternwelten.at [PATCH] mtd/cfi_cmdset_0001: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2009, 2004-09-03 10:38:39-07:00, janitor@sternwelten.at [PATCH] message/i2o_core: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2008, 2004-09-03 10:38:28-07:00, janitor@sternwelten.at [PATCH] message/mptscsih: replace schedule_timeout() with msleep() Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2007, 2004-09-03 10:38:17-07:00, janitor@sternwelten.at [PATCH] radio/radio-sf16fmr2: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2006, 2004-09-03 10:38:06-07:00, janitor@sternwelten.at [PATCH] radio/radio-sf16fmi: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2005, 2004-09-03 10:37:54-07:00, janitor@sternwelten.at [PATCH] saa7146_i2c.c: use msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2004, 2004-09-03 10:37:42-07:00, janitor@sternwelten.at [PATCH] radio/radio-maxiradio: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2003, 2004-09-03 10:37:30-07:00, janitor@sternwelten.at [PATCH] radio/miropcm20-rds: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2002, 2004-09-03 10:37:18-07:00, janitor@sternwelten.at [PATCH] radio/radio-aimslab: replace while/schedule() with msleep() Uses msleep() instead of a while-loop and schedule(). Thus the CPU is given up for the time desired. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2001, 2004-09-03 10:37:07-07:00, janitor@sternwelten.at [PATCH] radio/radio-cadet: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2000, 2004-09-03 10:36:55-07:00, janitor@sternwelten.at [PATCH] radio/radio-maestro: replace schedule_timeout() with msleep() Replaced sleep_125ms() with msleep(125), udelay2() with udelay(2), udelay4() with udelay(4) and udelay16() with udelay(16) and removed the replaced functions' definitions. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1999, 2004-09-03 10:36:43-07:00, janitor@sternwelten.at [PATCH] mcd: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1998, 2004-09-03 10:36:31-07:00, janitor@sternwelten.at [PATCH] cdu31a: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997, 2004-09-03 10:36:19-07:00, juhl-lkml@dif.dk [PATCH] Sort the CREDITS file properly (and add Jesper) Many entries in the CREDITS file are not properly sorted in alphabetical order, despite the note in the file that it is supposed to be sorted like that. This patch attempts to sort the CREDITS file properly. No existing entries were changed, merely moved around in the file. There where a few tricky names that I was unsure how to sort (names with characters such as ü, ö, and people with many names where it was unclear to me what name to sort by etc), in those cases I've usually left the names where they were unless it was glaringly obvious they were in the wrong spot. I've also taken the liberty to add my own name to the file - I have contributed several tiny/small fixes/cleanups etc over the years. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1996, 2004-09-03 10:36:08-07:00, jaharkes@cs.cmu.edu [PATCH] coda: add sendfile wrapper Add a wrapper for sendfile support in Coda. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1995, 2004-09-03 10:35:56-07:00, jaharkes@cs.cmu.edu [PATCH] coda: fix ifdefs for CONFIG_CODA_FS_OLD_API Trivial fix to make the CODA_FS_OLD_API config option actually work as expected. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1994, 2004-09-03 10:35:44-07:00, janitor@sternwelten.at [PATCH] Add msleep_interruptible() function to kernel/timer.c Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1993, 2004-09-03 10:35:32-07:00, janitor@sternwelten.at [PATCH] synclink: replace jiffies_from_ms() with msecs_to_jiffies() Uses msecs_to_jiffies() instead of the custom jiffies_from_ms(). Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1992, 2004-09-03 10:35:20-07:00, janitor@sternwelten.at [PATCH] pcwd: replace schedule_timeout() with msleep() Replace set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(some_time); with msleep(jiffies_to_msecs(some_time)); Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1991, 2004-09-03 10:35:08-07:00, janitor@sternwelten.at [PATCH] nwflash: replace schedule_timeout() with msleep() Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1990, 2004-09-03 10:34:56-07:00, janitor@sternwelten.at [PATCH] isicom: replace schedule_timeout() with msleep() Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1989, 2004-09-03 10:34:44-07:00, janitor@sternwelten.at [PATCH] ec3104: replace schedule_timeout() with msleep() Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1988, 2004-09-03 10:34:32-07:00, janitor@sternwelten.at [PATCH] dsp56k: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1987, 2004-09-03 10:34:21-07:00, janitor@sternwelten.at [PATCH] ds1620: replace schedule_timeout() with msleep() Uses msleep() instead of schedule_timeout() to guarantee the task delays at least the desired time amount. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1986, 2004-09-03 10:34:09-07:00, janitor@sternwelten.at [PATCH] drivers/tc/zs.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1985, 2004-09-03 10:33:57-07:00, janitor@sternwelten.at [PATCH] include/linux/isicom.h MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1984, 2004-09-03 10:33:45-07:00, janitor@sternwelten.at [PATCH] drivers/char/synclinkmp.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1983, 2004-09-03 10:33:33-07:00, janitor@sternwelten.at [PATCH] drivers/char/synclink.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1982, 2004-09-03 10:33:22-07:00, janitor@sternwelten.at [PATCH] drivers/char/specialix.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1981, 2004-09-03 10:33:10-07:00, janitor@sternwelten.at [PATCH] drivers/char/serial167.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1980, 2004-09-03 10:32:58-07:00, janitor@sternwelten.at [PATCH] drivers/char/selection.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1979, 2004-09-03 10:32:47-07:00, janitor@sternwelten.at [PATCH] drivers/char/rocket_int.h MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1978, 2004-09-03 10:32:35-07:00, janitor@sternwelten.at [PATCH] drivers/char/rocket.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1977, 2004-09-03 10:32:23-07:00, janitor@sternwelten.at [PATCH] drivers/char/riscom8.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1976, 2004-09-03 10:32:12-07:00, janitor@sternwelten.at [PATCH] drivers/char/pcxx.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1975, 2004-09-03 10:32:00-07:00, janitor@sternwelten.at [PATCH] drivers/char/pcmcia/synclink_cs.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1974, 2004-09-03 10:31:48-07:00, janitor@sternwelten.at [PATCH] drivers/char/mxser.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1973, 2004-09-03 10:31:36-07:00, janitor@sternwelten.at [PATCH] drivers/char/isicom.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1972, 2004-09-03 10:31:24-07:00, janitor@sternwelten.at [PATCH] drivers/char/esp.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1971, 2004-09-03 10:31:13-07:00, janitor@sternwelten.at [PATCH] drivers/char/epca.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1970, 2004-09-03 10:31:01-07:00, janitor@sternwelten.at [PATCH] drivers/char/amiserial.c MIN/MAX removal Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1969, 2004-09-03 10:30:49-07:00, bjorn.helgaas@hp.com [PATCH] silence sn_console driver on non-SGI boxes Acked by Jesse. sn_console: don't print anything unless we're actually on an SGI box. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1968, 2004-09-03 10:30:37-07:00, bjorn.helgaas@hp.com [PATCH] announce hpet devices claimed I think the HPET driver should announce the hardware it claims. Here's a patch that prints this: hpet0: at MMIO 0xc0000ffffc002000, IRQs 74, 75, 76 hpet0: 4ns tick, 3 64-bit timers hpet1: at MMIO 0xc0000ffffc082000, IRQs 77, 78, 79 hpet1: 4ns tick, 3 64-bit timers This has been acked by Bob. I haven't heard from Venkatesh. Print basic information (MMIO address, IRQs used, tick rate, number of timers) when claiming an HPET device. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1967, 2004-09-03 10:30:25-07:00, lcapitulino@conectiva.com.br [PATCH] fix drivers/net/cs89x0.c warning. drivers/net/cs89x0.c: In function `net_close': drivers/net/cs89x0.c:1601: warning: unused variable `lp' 'lp'is only used when ALLOW_DMA is defined. Signed-off-by: Luiz Capitulino Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1966, 2004-09-03 10:30:15-07:00, hch@lst.de [PATCH] fix compile warning in rivafb on ppc riva_get_EDID_i2c is only used on !CONFIG_PPC_OF, so don't compile it on ppc either. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1965, 2004-09-03 10:30:03-07:00, hch@lst.de [PATCH] remove ptrinfo It's defined in slab.c but not used anywhere. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1964, 2004-09-03 10:29:51-07:00, hch@lst.de [PATCH] some missing statics in mm/ Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1963, 2004-09-03 10:29:39-07:00, hch@lst.de [PATCH] stop ->put_inode abuse in vxfs ->clear_inode is the right place to free private inode parts. No idea what I though when using ->put_inode and i_count check. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1962, 2004-09-03 10:29:27-07:00, hch@lst.de [PATCH] fix compile warnings in via-pmu.c for !CONFIG_PMAC_PBOOK There's some scoping problems so we get unused variables for that config. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1961, 2004-09-03 10:29:16-07:00, hch@lst.de [PATCH] fix compile warning in ppc64 pmac_feature.c dump_HT_speeds is only used by #if 0'ed code so if 0 it as well. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1960, 2004-09-03 10:29:04-07:00, wli@holomorphy.com [PATCH] make bad_page() print all of page->flags bad_page() only prints out 8 hexadecimal digits of page->flags regardless of sizeof(page_flags_t). This leads to confusing and/or incomplete bug reports. The following patch uses a field width argument to replace the hardcoded %08lx so that bad_page() may print the whole of page->flags. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1959, 2004-09-03 10:28:52-07:00, luca.risolia@studio.unibo.it [PATCH] Disable colour conversion in the CPiA Video Camera driver Since in-kernel colorspace conversion is not allowed, this patch disables it in the CPiA video camera driver by default. Users should fix the applications in case they don't work without conversion reenabled by setting the new 'colorspace_conv' module parameter to 1. This is a temporary solution, so within a few months deprecated code will be entirely removed. Signed-off-by: Luca Risolia Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1958, 2004-09-03 10:28:40-07:00, alan@redhat.com [PATCH] fix the barrier IDE detection logic This fixes the logic so we always check for the cache. It also defaults to safer behaviour for the non cache flush case now we have the right bits in the right places. I've also played a bit with timings - the worst case timings I can get for the flush are about 7 seconds (which I'd expect as the engineering worst cases will include retries) Probably what should happen is that the barrier logic is enabled providing the wcache is disabled. I've not meddled with this as I don't know what the intended semantics and rules are for disabling barrier on a live disk (eg when a user uses hdparm to turn on the write cache). In the current code as with Jens original that cannot occur. I've also fixed the new printk's as per a private request from Matt Domsch. Cc: Jens Axboe Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1957, 2004-09-03 10:28:28-07:00, alan@redhat.com [PATCH] Root reservations for strict overcommit This was on my TODO list for a while and it turns out someone already fixed the armwaving overcommit mode for the same problem. It is easy to get into a situation where you have no overcommit and nothing can be done because there is no memory to clean up the stable but non-useful state of the machine. The fix is trivial and duplicated from the armwaving overcommit code path. The last 3% of the memory can be claimed by root processes only. It isn't a cure but it does seem to solve the real world problems - at least providing you have enough memory for 3% to be useful 8). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1956, 2004-09-03 10:28:16-07:00, bunk@fs.tum.de [PATCH] pcxx.c build fix CC drivers/char/pcxx.o drivers/char/pcxx.c: In function `pcxe_cleanup': drivers/char/pcxx.c:209: warning: unused variable `e2' drivers/char/pcxx.c: At top level: drivers/char/pcxx.c:229: `pcxe_init' undeclared here (not in a function) drivers/char/pcxx.c:230: warning: type defaults to `int' in declaration of `module_cleanup' drivers/char/pcxx.c:230: warning: parameter names (without types) in function declaration drivers/char/pcxx.c:230: warning: data definition has no type or storage class drivers/char/pcxx.c:1016: redefinition of `__initcall_pcxe_init' drivers/char/pcxx.c:229: `__initcall_pcxe_init' previously defined here drivers/char/pcxx.c:1016: `pcxe_init' undeclared here (not in a function) drivers/char/pcxx.c:1017: `pcxe_exit' undeclared here (not in a function) drivers/char/pcxx.c: In function `pcxe_tiocmget': drivers/char/pcxx.c:2009: `mstat' undeclared (first use in this function) drivers/char/pcxx.c:2009: (Each undeclared identifier is reported only once drivers/char/pcxx.c:2009: for each function it appears in.) drivers/char/pcxx.c: In function `pcxe_tiocmset': drivers/char/pcxx.c:2072: warning: control reaches end of non-void function drivers/char/pcxx.c: At top level: drivers/char/pcxx.c:1044: warning: `pcxe_init' defined but not used Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1955, 2004-09-03 10:28:04-07:00, kraxel@bytesex.org [PATCH] v4l: saa7134 driver update This is a minor update for the saa7134 driver. Changes: - i2c cleanups (i2c_add_driver return value, add __init & __exit). - fix radio tuning (last update broke this ...). - adds support for new tv cards. - add config info for the tda9887 (thus this one depends on the tuner update patch mailed earlier). - add configuration help printk's for some cards, for stuff which can't be autodetected. - make automute switchable via v4l2 API, without driver reload. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1954, 2004-09-03 10:27:52-07:00, kraxel@bytesex.org [PATCH] v4l: bttv driver update. This patch is a minor update for the bttv driver. - add a few new tv cards. - add some infrastructure needed by the dvb drivers (for bt878-based dvb cards). - improve croma line selection for planar video formats, - some new debug printk's Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1953, 2004-09-03 10:27:40-07:00, kraxel@bytesex.org [PATCH] v4l: i2c tuner modules update This patch updates the tuner and tda9887 i2c modules which handle the tv card tuning. - some cleanups (don't ignore i2c_add_driver return value, add __init and __exit). - add support for new tuners. - allow to pass configuration info (tv card specific stuff) to the tda9887 module. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1952, 2004-09-03 10:27:28-07:00, kraxel@bytesex.org [PATCH] v4l: i2c cleanups This patch has some minor cleanups for the v4l i2c modules: Don't ignore the i2c_add_driver return value and mark the init+exit functions with __init + __exit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1951, 2004-09-03 10:27:16-07:00, hirofumi@mail.parknet.co.jp [PATCH] NLS: nls_cp932 fix Some unicode chars is missing to convert on nls_cp932. This patch fixes the following chars. U+00A2, U+00A3, U+00A7, U+00A8, U+00AC, U+00B0, U+00B1, U+00B4, U+00B6, U+00D7, U+00F7, U+FFE2 Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1950, 2004-09-03 10:27:04-07:00, hirofumi@mail.parknet.co.jp [PATCH] FAT: document fix/update Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1949, 2004-09-03 10:26:52-07:00, juhl-lkml@dif.dk [PATCH] x86_64: read_ldt() clear_user() return value checking Signed-off-by: Jesper Juhl Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1948, 2004-09-03 10:26:40-07:00, juhl-lkml@dif.dk [PATCH] read_ldt() neglects to check clear_user() return value akpm: It's a bit debatable. The user passed in a buffer of a particular size, and we successfully sopied the LDT info into it, but we got a fault when clearing out the rest of the user's buffer. Is that worth a -EFAULT? I suppose so... Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1947, 2004-09-03 10:26:28-07:00, cus@fazekas.hu [PATCH] urandom initialisation fix The urandom driver returns the same thing after every boot. The urandom pool is only cleared, and not initialized, and because there is nothing in the primary pool, the reseeding is not successful. The solution is also the same, initialize not just the primary and secondary, but also the urandom pool. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1946, 2004-09-03 10:26:16-07:00, roland@topspin.com [PATCH] fix proc_symlink() warning with CONFIG_PROC_FS=n The last parameter of proc_symlink is usually a "const char *", but the stub in for CONFIG_PROC_FS=n omits the const and makes its last parameter a "char *". This causes a warning about discarding qualifiers for any code that passes something const for that last parameter. This patch fixes that up and also, for neatness's sake, makes the stub for create_proc_read_entry() match the usual prototype more exactly (use read_proc_t rather than the underlying function pointer type). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1945, 2004-09-03 10:26:05-07:00, dsaxena@plexity.net [PATCH] Add IXDP2x01 board support to CS89x0 driver The following patch modifies the CS89x0 driver to work on Intel's IXDP2401 and IXDP2801 (Intel ARm/XScale based) platforms: - The main change requried is that the IXDP2x01 boards have the chip connected through a CPLD so all registers appear at dword-aligned addresses. A macro in the header adjusts the register offsets appropriately. - The boards do not have ISA, so we need to explicitly check for IXDP2X01 in Kconfig. - There is what I believe is a bug in the driver as it currently only asks for the signature if ioaddr & 1 is set but then reads and checks against the expected signature even when !(ioaddr & 1). This causes the driver to not load on the IXDP2x01 since our ioaddr does not have bit 1 set. - #ifdef out some bits of code that assume the chip is really sitting on an ISA bus. The main IXDP2x01 support will be coming in through rmk's tree at a later date when all the drivers are merged upstream. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1944, 2004-09-03 10:25:53-07:00, ak@muc.de [PATCH] Fix argument checking in sched_setaffinity This patch fixes the argument length checking in sched_setaffinity. Previously it would error out when the length passed was smaller than sizeof(cpumask_t). And any bits beyond cpumask_s would be silently ignored. First this assumes that the user application knows the size of cpumask_t, which should be kernel internal. When you increase cpumask_t old applications break and there is no good way for the application to find out the cpumask_t size the kernel uses. This patch changes it to do similar checking to the NUMA API calls: - Any length is ok as long as all online CPUs are covered (this could still cause application breakage with more CPUs, but there is no good way around it) - When the user passes more than cpumask_t bytes the excess bytes are checked to be zero. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1943, 2004-09-03 10:25:41-07:00, ak@muc.de [PATCH] Increase bus/apic limits on x86-64 This patch increases some hardcoded limits people have already run into or plan to go towards eventually. Increase max MP busses on x86-64. Needed for some machines. Suggested by Andrew Chen and James Cleverdon. MAX_IRQ_SOURCES kept at 256 for now, matching i386. Increase MAX_IO_APICS to 32 following i386. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1942, 2004-09-03 10:25:29-07:00, ak@muc.de [PATCH] Fix boot_cpu_data on x86-64 From: Andreas Gruenbacher Add brackets to boot_cpu_data to fix compilation of centrino cpufreq driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1941, 2004-09-03 10:25:17-07:00, ak@muc.de [PATCH] Add support for NUMA discovery on AMD dual core to x86-64 Following the CPUID extensions and APIC-ID setup presented by Richard Brunner at Kernel Summit. Without this the kernel's node discovery would assign the wrong nodes on dual core systems and cause performance degradation. Only handles power of two cored CPUs, others will be ignored. /proc/cpuinfo has a new field cpu cores: and also show the other core as HT sibling (this is needed to make old CPU based license managers to count one CPU package as only one physical CPU) FIXME this currently misses the disable code for SMT idle. That's because 2.6.9rc1-bk6 removed the arch hooks need for that. Needs to be readded later. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1940, 2004-09-03 10:25:05-07:00, hbabu@us.ibm.com [PATCH] ppc64: implement page_is_ram This patch contains - Removes __initdata from lmb definition (struct lmb lmb;) and modified the existing page_is_ram function. Also changed the current argument from physical address to pfn to make it compatible across architectures. Please review them and send me your comments/suggestions. If you are OK with any one patch, please include it in the mainline kernel. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1939, 2004-09-03 10:24:53-07:00, anton@samba.org [PATCH] ppc64: cleanup asm/processor.h Wrap a lot more of processor.h in #ifdef __KERNEL__ / __ASSEMBLY__. Remove now unised EXC_FRAME_SIZE. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1938, 2004-09-03 10:24:41-07:00, anton@samba.org [PATCH] ppc64: allocate NUMA node data node locally Instead of statically allocating the NUMA node structures, do it at runtime with node local memory where possible. With NR_CPUS=128 we had over 800kB of memory allocated before this patch, now we allocate only as many nodes as the machine requires. We have to do some fancy footwork in do_init_bootmem since we use both the LMB allocator and the bootmem allocator at the same time. The problem has always been there although I only recently found a test case that hit it. Wrap that logic in careful_allocation which uses the LMB allocator then falls back to the bootmem allocator if required. Now alloc_bootmem on a node with no memory doesnt panic, we dont need the hack in paging_init so remove it. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1937, 2004-09-03 10:24:30-07:00, anton@samba.org [PATCH] ppc64: quieten NUMA boot messages On some machines we would print hundreds of lines of NUMA debug output. The following patch cleans it up so we only print a summary of cpus and memory vs nodes: Node 0 CPUs: 0-1 Node 1 CPUs: 16-17 Node 2 CPUs: 32-33 Node 3 CPUs: 48-49 Node 0 Memory: 0x0-0x400000000 Node 1 Memory: 0x400000000-0x800000000 I lifted the code to do this out of xmon. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1936, 2004-09-03 10:24:18-07:00, anton@samba.org [PATCH] ppc64: update iSeries_defconfig Update iSeries_defconfig. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1935, 2004-09-03 10:24:06-07:00, anton@samba.org [PATCH] ppc64: update pSeries_defconfig Update pSeries_defconfig. This config should better cover POWER5 systems with SPLPAR spinlocks, IPR SCSI, NR_CPUS = 128, NUMA, HVCS, and irq stacks enabled, VSCSI and VETH as modules. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1934, 2004-09-03 10:23:54-07:00, anton@samba.org [PATCH] ppc64: dynamically allocate emergency stacks Now we set up cpu_possible_map early we can dynamically allocate the emergency stacks. Previously we would allocate NR_CPUS * PAGE_SIZE, potentially wasting quite a lot of memory. Clean a comment up in irqstack_early_init and use unsigned int for cpu ids while in the area. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1933, 2004-09-03 10:23:42-07:00, paulus@samba.org [PATCH] ppc64 another log buffer length fix This patch uses the firmware-defined error log buffer length for calls to the firmware routine 'check-exception'. It also simplifies code in rtasd.c that is attempting to obtain the error log length. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1932, 2004-09-03 10:23:30-07:00, olof@austin.ibm.com [PATCH] ppc64: Make use of batched IOMMU calls on pSeries LPARs Implement the HCALLs to do more than one TCE setup or invalidation at a time on pSeries LPAR. Previous implementation did one hypervisor call per setup or teardown, resulting in significant overhead. A simple test of "time dd if=/dev/sda of=/dev/null bs=128k" shows the amount of system time go down by about 5% by using the multi-tce calls. Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1931, 2004-09-03 10:23:19-07:00, olof@austin.ibm.com [PATCH] ppc64: Setup fw_features before init_early calls on pSeries To be able to use the cur_cpu_spec->firmware_features values in early setup, the function initializing them has to be moved up to before the early init calls. Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1930, 2004-09-03 10:23:07-07:00, apw@shadowen.org [PATCH] ppc64 topdown support: arch-specific get_unmapped_area() ppc64 has constraints on the mixing of small and large pages, such that they cannot be mixed in the same 256Mb segment. This patch provides an architecture specific arch_get_unmapped_area_topdown() which implements these contraints. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1929, 2004-09-03 10:22:55-07:00, apw@shadowen.org [PATCH] ppc64: topdown support Recent patches introduced a top down user process address space allocation policy; further patches enable this for ppc64. Although these work correctly for normal maps, the topdown algorithm does not take into account stringent mixing constraints for small and large pages on this architecture. These patches introduce a ppc64 specific arch_get_unused_area_topdown() variant. The first introduces infrastructure to allow replacement of the generic arch_get_unused_area_topdown() and the second utilises this infrastructure. In this patch I have followed the pattern set by the arch_get_unused_area() using HAVE_ARCH_UNMAPPED_AREA_TOPDOWN to be consistent. However, it would also be possible to simply have a ppc64_get_unused_area_topdown() in the arch/ppc64/mm/mmap.c or to use weak bindings. This patch: Allow an architecture to override the default definition of arch_get_unmapped_area_topdown(). Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1928, 2004-09-03 10:22:43-07:00, anton@samba.org [PATCH] ppc64: print backtrace in EEH code We should print a stack backtrace when we get EEH errors, it makes debugging the cause of the fail easier. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1927, 2004-09-03 10:22:31-07:00, paulus@samba.org [PATCH] ppc64: test for EEH error in PCI Config-Read path This patch adds explicit checking for EEH slot isolation events into the PCI config space read path. The change itself would have been minor, except that pci config reads don't have a pointer to a struct pci_dev. Thus, I had to restructure the eeh code to accomodate this, which seems to be a good thing anyway, making it a tad cleaner. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1926, 2004-09-03 10:22:19-07:00, anton@samba.org [PATCH] ppc64: enable DEBUG_SPINLOCK_SLEEP DEBUG_SPINLOCK_SLEEP is useful on ppc64, so allow it to be selected. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1925, 2004-09-03 10:22:09-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: pin the kernel stack's SLB entry This has been given basic testing on Power4 pSeries and iSeries machines. At present, the SLB miss handler has to check the SLB slot it is about to use to ensure that it does not contain the SLBE for the current kernel stack - throwing out the SLBE for the kernel stack can trigger the "megabug": we have no SLBE for the stack, but we don't fault immediately because we have an ERAT entry for it. The ERAT entry is then lost due to a tlbie on another CPU during the unrecoverable section of the exception return path. This patch implements a different approach - with this patch SLB slot 2 always (well, nearly always) contains an SLBE for the stack. This slot is never cast out by the normal SLB miss path. On context switch, an SLBE for the new stack is pinned into this slot, unless the new stack is the the bolted segment. For iSeries we need a special workaround because there is no way of ensuring the stack SLBE is preserved an a shared processor switch. So, we still need to handle taking an SLB miss on the stack, in which case we must make sure it is loaded into slot 2, rather than using the normal round-robin. This approach shaves a few ns off the slb miss time (on pSeries), but more importantly makes it easier to experiment with different SLB castout aporoaches without worrying about reinstating the megabug. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1924, 2004-09-03 10:21:57-07:00, benh@kernel.crashing.org [PATCH] ppc[64]: increase max auxv entries ... but a better solution should probably be found, that's saved_auxv in struct mm_struct is ... hrm... disgusting at least ;) So the problem is that we currently do unsigned long saved_auxv[40]; That is we assume that all archs will have an AUXV entry of no more than 2 unsigned longs and we'll have no more than 20 entries in the table. Unfortunately, this is wrong. PPC/PPC64 adds 5 platform entries. then we add 14 in the common code, and then we have if (k_platform) { NEW_AUX_ENT(AT_PLATFORM, (elf_addr_t)(unsigned long)u_platform); } if (bprm->interp_flags & BINPRM_FLAGS_EXECFD) { NEW_AUX_ENT(AT_EXECFD, (elf_addr_t) bprm->interp_data); } which may add a 20th entry... which means we are already out of room for the terminating AT_NULL entry... bad bad bad. Now I'm adding AT_SYSINFO_EHDR to ppc/ppc64 and it breaks all the time. The quick fix is to bump the number of entries in struct mm_struct to 42, though that's worth a big BOLD comment in binfmt_elf in case anybody adds a new entry in there. (Patch below). I wonder if we shouldn't add a ARCH_MAX_AUXV_ENTRIES macro to the asm-arch/elf.h though to get the max amount of entry the arch may add to the normal count, and have the mm struct array use that plus the number of "normal" entries... This patch increase the max amount of auxv entries in struct mm_struct to 42 so that ppc & ppc64 don't get a chance to blow the array up. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1923, 2004-09-03 10:21:45-07:00, akpm@osdl.org [PATCH] ipr.c build fix drivers/scsi/ipr.c: In function `ipr_worker_thread': drivers/scsi/ipr.c:1825: wrong type argument to unary exclamation mark drivers/scsi/ipr.c: In function `ipr_read_dump': drivers/scsi/ipr.c:2426: wrong type argument to unary exclamation mark Cc: James Bottomley Cc: Brian King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1922, 2004-09-03 10:21:33-07:00, johnstul@us.ibm.com [PATCH] fix target_cpus() for summit subarch I've been hunting down a bug affecting IBM x440/x445 systems where the floppy driver would get spurious interrupts and would not initialize properly. After digging James Cleverdon and Bill Irwin pointed out that target_cpus() is routing the interrupts to the clustered apic broadcast mask using destFixed deliver mode. This was causing multiple interrupts to show up, breaking the floppy init code. This fix simply changes the delivery mode to dest_LowestPrio and initially routes interrupts to the first cpu to resolve this issue. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1921, 2004-09-03 10:21:21-07:00, jd@rightthere.net [PATCH] ES7000: increase MAX_MP_BUSSES Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1920, 2004-09-03 10:21:10-07:00, olh@suse.de [PATCH] request_region for winbond and smsc parport drivers An attempt to fix the random poking in legacy io space... ask for permissions before poking at io ports. this affects detect_and_report_winbond() and detect_and_report_smsc(). Its unclear what port number is returned in show_parconfig_winbond(), so just request the region as well and free the probing region. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1919, 2004-09-03 10:20:58-07:00, akpm@osdl.org [PATCH] add_to_swap(): suppress oom message Page allocation failures are expected when add_to_swap() tries to allocate radix-tree nodes without PF_MEMALLOC. Kill the __alloc_pages() warnings. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1918, 2004-09-03 10:20:46-07:00, tiwai@suse.de [PATCH] sparc ALSA fix sound/core/pcm_native.c was assuming that all architectures implement io_remap_page_range() in the same way. They don't, so the sparc64 build broke. mmap callback is added to PCM ops. The driver can implement its own mmap method. Also, mmapping of the status and control records is available only on known coherent architectures now. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1917, 2004-09-03 10:20:35-07:00, akpm@osdl.org [PATCH] Fix shmem.c stubs Fix the build with CONFIG_SHMEM=n Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1916, 2004-09-03 10:20:23-07:00, akpm@osdl.org [PATCH] x86_64 waitid syscall number fix I mucked this up. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1911.3.2, 2004-09-03 09:25:58-07:00, dev@sw.ru [PATCH] Fix do_each_task_pid() loop with 'continue' inside Dmitry Torokhov triggered a problem in the new pidhash macros: These do_each_task_pid()/while_each_task_pid() do loop forever if you use a 'continue' inside them. The end of the loop has to be inside the "while()" statement, so as to not make "continue" jump over it. ChangeSet@1.1911.3.1, 2004-09-03 07:54:12-07:00, torvalds@ppc970.osdl.org Merge http://lia64.bkbits.net/linux-ia64-release-2.6.9 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.36.8, 2004-09-03 20:01:05+10:00, airlied@starflyer.(none) remove DRM_IOREMAP* and DRM_FIND_MAP macros replace them with inline fns Signed-off-by: Dave Airlie ChangeSet@1.1837.36.7, 2004-09-03 19:49:41+10:00, airlied@starflyer.(none) remove HAVE_DMA_WAITLIST as it was only used by gamma Signed-off-by: Dave Airlie ChangeSet@1.1837.36.6, 2004-09-03 19:43:02+10:00, airlied@starflyer.(none) remove __HAVE_DMA_SCHEDULE was only used by gamma. Signed-off-by: Dave Airlie ChangeSet@1.1837.36.5, 2004-09-03 19:37:35+10:00, airlied@starflyer.(none) Dump __HAVE_DMA_FREELIST is only used by gamma. Signed-off-by: Dave Airlie ChangeSet@1.1837.36.4, 2004-09-03 19:21:49+10:00, airlied@starflyer.(none) remove DRIVER_FOPS and related macros Signed-off-by: Dave Airlie ChangeSet@1.1837.36.3, 2004-09-03 19:06:05+10:00, airlied@starflyer.(none) Remove DRIVER_CTX_[CD]TOR, HAVE_KERNEL_CTX_SWITCH, DRIVER_BUF_PRIV_T, DRIVER_AGP_BUFFERS_MAP Signed-off-by: Dave Airlie ChangeSet@1.1911.1.2, 2004-09-03 00:08:40-07:00, kaber@trash.net [NETFILTER]: Fix deadlock condition in conntrack/nat-helpers There is a possible deadlock condition with conntrack/nat-helpers: CPU1: conntrack-helper:help: lock(private_lock) ip_conntrack_expect_related: write_lock(ip_conntrack_lock) CPU2: nat-core:do_bindings: read_lock(ip_conntrack_lock) nat-helper:help: lock(private_lock) The lock in the nat-helper is unneccessary because the expectation is never changed and is protected by ip_conntrack_lock. Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1911.1.1, 2004-09-02 23:58:05-07:00, kaber@trash.net [NETFILTER]: Fix confusing naming in NAT-helpers Signed-off-by: Patrick McHardy Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1913, 2004-09-02 23:39:07-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1911, 2004-09-02 19:05:39-07:00, akpm@osdl.org [PATCH] NFS: older gcc's don't like unsized arrays The NFS symlink code cleanup causes older gcc's to barf. Signed-off-by: Linus Torvalds ChangeSet@1.1910, 2004-09-02 18:53:29-07:00, trond.myklebust@fys.uio.no [PATCH] NFSv3: Fix up an unaligned access error in nfs3_proc_unlink_setup() Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds ChangeSet@1.1909, 2004-09-02 17:53:00-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: fix problem of ESTALE errors on NFSv2 symlinks NFSv2: Fix another bad filehandle cast. NFSv2: The symlink operation does not return a valid filehandle. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds ChangeSet@1.1908, 2004-09-02 17:52:49-07:00, trond.myklebust@fys.uio.no [PATCH] NFS: clean up the new symlink code - Now that the VFS no longer uses it, we don't need to cache the symlink string length. - Make ->readlink() take page offset+length arguments - Fix up page under/overflow checking on the readlink XDR code so that it matches read/write. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds ChangeSet@1.1907, 2004-09-02 17:00:19-07:00, torvalds@ppc970.osdl.org The coverity source checker is wrong. Revert some of the "leak fixes". Thanks to Davem for noticing. We probably should _not_ trust the coverity reports that much. Cset exclude: davej@redhat.com[torvalds]|ChangeSet|20040902213928|62770 Cset exclude: davej@redhat.com[torvalds]|ChangeSet|20040902213829|63705 ChangeSet@1.1837.3.8, 2004-09-03 05:48:35+00:00, aegl@agluck-lia64.sc.intel.com Merge agluck-lia64.sc.intel.com:/data/home/aegl/BK/work/stephane into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.9 ChangeSet@1.1837.3.7, 2004-09-03 05:46:43+00:00, aegl@agluck-lia64.sc.intel.com Merge agluck-lia64.sc.intel.com:/data/home/aegl/BK/work/sn2defconfig into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.9 ChangeSet@1.1837.3.5, 2004-09-03 05:42:46+00:00, aegl@agluck-lia64.sc.intel.com Merge agluck-lia64.sc.intel.com:/data/home/aegl/BK/work/jesse into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.9 ChangeSet@1.1803.127.2, 2004-09-03 05:34:20+00:00, ianw@gelato.unsw.edu.au [IA64] VIRTUAL_MEM_MAP can be set when DISCONTIGMEM isn't; handle it Patch developed by Ian Wienand under advice from Bill Irwin. Signed-off-by: William Irwin Signed-off-by: Tony Luck ChangeSet@1.1905, 2004-09-02 14:50:38-07:00, herbert@gondor.apana.org.au [IPV4/IPV6]: Use csum_sub() instead of csum_block_sub() w/zero 3rd arg. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1901.2.1, 2004-09-02 14:44:05-07:00, pjones@redhat.com [SPARC64]: Support 64-bit initrd addresses. Needs a SILO update too which is forthcoming. Signed-off-by: Peter Jones Signed-off-by: Ben Collins Signed-off-by: David S. Miller ChangeSet@1.1901.1.17, 2004-09-02 14:42:48-07:00, kksx@mail.ru [PATCH] fixed pidhashing patch This patch fixes strange and obscure pid implementation in current kernels: - it removes calling of put_task_struct() from detach_pid() under tasklist_lock. This allows to use blocking calls in security_task_free() hooks (in __put_task_struct()). - it saves some space = 5*5 ints = 100 bytes in task_struct - it's smaller and tidy, more straigthforward and doesn't use any knowledge about pids using and assignment. - it removes pid_links and pid_struct doesn't hold reference counters on task_struct. instead, new pid_structs and linked altogether and only one of them is inserted in hash_list. Signed-off-by: Kirill Korotaev (kksx@mail.ru) Signed-off-by: William Irwin Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.16, 2004-09-02 14:39:41-07:00, cw@f00f.org [PATCH] i386 reduce spurious interrupt noise i386 hardware can (and does) see spurious interrupts from time to tome. Ideally I would like the printk removed completely but this is probably good enough for now. Signed-off-by: Chris Wedgwood Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.15, 2004-09-02 14:39:28-07:00, davej@redhat.com [PATCH] Fix possible leak in af_ax25 Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.14, 2004-09-02 14:39:16-07:00, davej@redhat.com [PATCH] Check find_vma return code in make_pages_present() It can return NULL, so check for it. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.13, 2004-09-02 14:39:04-07:00, davej@redhat.com [PATCH] More PNP leaks. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.12, 2004-09-02 14:38:52-07:00, davej@redhat.com [PATCH] Fix leak in ISAPNP core This looks odd, but there doesn't seem to be an isapnp_free() or similar.. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.11, 2004-09-02 14:38:41-07:00, davej@redhat.com [PATCH] Fix leak in atmel wireless driver. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.10, 2004-09-02 14:38:29-07:00, davej@redhat.com [PATCH] Fix leak in aty fb code. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.9, 2004-09-02 14:38:17-07:00, davej@redhat.com [PATCH] Fix potential leaks in pc300_tty driver It appears that 'new' can be allocated, and next time around the loop, if something goes wrong, we lose the reference.. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.8, 2004-09-02 14:38:05-07:00, davej@redhat.com [PATCH] Fix leaks in ISOFS. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.7, 2004-09-02 14:37:53-07:00, davej@redhat.com [PATCH] Fix another PNP leak. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.6, 2004-09-02 14:37:41-07:00, davej@redhat.com [PATCH] Fix NULL dereference in OSS v_midi driver Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.5, 2004-09-02 14:37:29-07:00, davej@redhat.com [PATCH] Remove pointless check in zlib We dereference 'z' a few lines above this check. If it was possible to hit this condition, it wouldve triggered long ago, in the form of a crash. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.4, 2004-09-02 14:37:17-07:00, davej@redhat.com [PATCH] Clean up failure path in DAC960 1. If the ScatterGatherPool allocation fails, its pointless trying to allocate a RequestSensePool. 2. Free up the ScatterGatherPool if the RequestSensePool allocation fails. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.3, 2004-09-02 14:37:04-07:00, davej@redhat.com [PATCH] Remove pointless code from ALSA emu10k1 midi driver. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.2, 2004-09-02 14:36:53-07:00, davej@redhat.com [PATCH] Fix leak in PNP interface code. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1901.1.1, 2004-09-02 14:36:41-07:00, davej@redhat.com [PATCH] Fix NULL derefence in OSS MAUI driver. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1904, 2004-09-02 14:26:24-07:00, kaber@trash.net [IPV4/IPV6]: Fix suboptimal fragment sizing for last fragment Yoshifuji's recent fragment patch prevents unnecessary fragmentation when the data can be kept in a single packet, but only for the first packet. When fragmenting, all fragments are still truncated to multiples of 8 and we might end up creating an unnecessary fragment. This dump shows the problem (MTU 1499): 172.16.1.123.32771 > 172.16.195.3.4135: udp 2937 (frag 7066:1472@0+) 172.16.1.123 > 172.16.195.3: udp (frag 7066:1472@1472+) 172.16.1.123 > 172.16.195.3: udp (frag 7066:1@2944) This patch always builds mtu sized fragments and truncates the previous fragment to a multiple of 8 bytes when allocating a new one. With the patch the dump looks like this: 172.16.1.123.32772 > 172.16.195.3.4135: udp 2937 (frag 49641:1472@0+) 172.16.1.123 > 172.16.195.3: udp (frag 49641:1473@1472) Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1903, 2004-09-02 13:13:01-07:00, eric.lemoine@gmail.com [NET]: Allow get/set of dev->weight via netlink. Signed-off-by: David S. Miller ChangeSet@1.1902, 2004-09-02 13:05:19-07:00, laforge@netfilter.org [IPV4]: Use nf_reset() in parp_redo(). Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1901, 2004-09-02 11:38:10-07:00, davej@redhat.com [PATCH] Eicon ISDN: fix leak in eicon debug code. Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: Armin Schindler ChangeSet@1.1837.36.2, 2004-09-02 21:52:02+10:00, airlied@starflyer.(none) Initial DRM function table removes some if the DRIVER_ macros. Signed-off-by: Dave Airlie ChangeSet@1.1837.36.1, 2004-09-02 21:14:22+10:00, airlied@starflyer.(none) Mark gamma as broken Signed-off-by: Dave Airlie ChangeSet@1.1898, 2004-09-01 22:44:13-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Kill bogus spaces in Kconfig strings. Signed-off-by: David S. Miller ChangeSet@1.1897, 2004-09-01 22:35:47-07:00, hadi@cyberus.ca [PKT_SCHED]: Add gact generic actions. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller ChangeSet@1.1896, 2004-09-01 22:07:46-07:00, herbert@gondor.apana.org.au [IPV4/IPV6]: Fixup checksums properly when fragmenting. If we end up with a fraggap, when we copy the data over to the next frag being built we must compute a checksum for the bit we copy over for the new fragment and subtract that checksum from the place we are copying it from. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1895, 2004-09-01 22:03:37-07:00, davem@nuts.davemloft.net [NET]: Free neigh_parms using RCU to fix neigh_create/inetdev_destroy race. Signed-off-by: David S. Miller ChangeSet@1.1890.1.2, 2004-09-01 23:35:11-05:00, stevef@smfhome1.smfdom [CIFS] Fix CIFS symlink regression when long symlink paths Signed-of-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1894, 2004-09-01 18:15:25-07:00, laforge@netfilter.org [NETFILTER]: Sort Kconfig entries into reasonable order. Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1893, 2004-09-01 18:14:42-07:00, laforge@netfilter.org [NETFILTER]: Add some missing help entries. Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1892, 2004-09-01 18:13:30-07:00, kksx@maul.ru [IPV4]: Need to clear nf_debug parp_redo(). Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1863.1.11, 2004-09-01 17:58:44-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1863.1.10, 2004-09-01 17:54:36-07:00, janitor@sternwelten.at [SPARC64]: Use list_for_each in pci_sabre.c Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: David S. Miller ChangeSet@1.1863.1.9, 2004-09-01 17:53:26-07:00, davem@nuts.davemloft.net [SPARC64]: Initial KPROBES implementation. Signed-off-by: David S. Miller ChangeSet@1.1863.1.8, 2004-09-01 17:30:15-07:00, davem@nuts.davemloft.net [KPROBES]: Pass integer addresses, not pointers, to flush_icache_range(). Signed-off-by: David S. Miller ChangeSet@1.1890.2.1, 2004-09-01 16:24:37-07:00, torvalds@ppc970.osdl.org Use "ifdef" rather than "if" to test for __KERNEL__ Both work, but the latter can cause warnings in user space from compilers that don't like using undefined identifiers in preprocessor expressions (quite reasonable). Pointed out by Randy Dunlap. ChangeSet@1.1890.1.1, 2004-09-01 17:59:07-05:00, stevef@stevef95.austin.ibm.com [CIFS] fix recent cifs symlink change so as not call kfree on null path Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1863.1.7, 2004-09-01 15:38:09-07:00, davem@nuts.davemloft.net [SPARC64]: Add sparc64die_chain as on x86{,_64} ChangeSet@1.1863.1.6, 2004-09-01 15:23:48-07:00, davem@nuts.davemloft.net [SPARC64]: Kill unused 'flags' in pci_sabre.c Signed-off-by: David S. Miller ChangeSet@1.1891, 2004-09-01 15:21:09-07:00, bdschuym@pandora.be [BRIDGE]: Add ipv6 packet filtering. Signed-off-by: Bart De Schuymer Signed-off-by: David S. Miller ChangeSet@1.1863.1.5, 2004-09-01 15:20:12-07:00, davem@nuts.davemloft.net [SPARC64]: Zap pci_controller_lock. It is only taken during boot time bus probe, thus protects nothing at run time and causes bogus bug messages when PREEMPT is enabled. When we support PCI controller hot plug we will add a suitable locking mechanism. Signed-off-by: David S. Miller ChangeSet@1.1863.1.4, 2004-09-01 15:16:18-07:00, janitor@sternwelten.at [SPARC64]: Use list_for_each in pci_common.c Replace for/while loops with list_for_each*. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: David S. Miller ChangeSet@1.1863.1.3, 2004-09-01 14:40:21-07:00, davem@nuts.davemloft.net [SPARC64]: Fix set_utsname returning with uts semaphore held. Based upon a patch from Alexander Stohr. This thing was also reimplementing strnchr() as well. Signed-off-by: David S. Miller ChangeSet@1.1890, 2004-09-01 12:26:04-07:00, trini@kernel.crashing.org [PATCH] ppc32: fix the 'checkbin' target The checkbin target on PPC32 isn't quite right. First, one of the tests (to ensure that some instructions are known to gas) is never actually invoked because 'checkbin' doesn't know about stuff set in .config, so we always have the 'else' case run. This changes to always running the test and telling the user to upgrade to at least binutils 2.12.1. The next problem is that we were doing $(AS) -o /dev/null ... in both that test, as well as another. The problem here is that the checkbin target is run on the install targets, meaning that /dev/null will get unlinked when the test passes. To get around this we use .tmp_gas_check as the output file instead. Acked by Sam. Signed-off-by: Tom Rini Signed-off-by: Linus Torvalds ChangeSet@1.1889, 2004-09-01 12:18:31-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] nfs ->follow_link() switched to new scheme NFS takes some thought to switch to the new symlink scheme, because we can't rely on the pagecache lookup to find the symlink page when freeing it - the cache might have been invalidated in the meantime. So we hide the page information in the symlink data area itself, by stealing the last pointer in the page used for the cache. That way nfs_put_link() can just look up the page directly. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1888, 2004-08-31 21:46:37-07:00, viro@www.linux.org.uk [PATCH] misc cleanup in symlink-handling part of namei.c page_follow_link_light() should just call nd_set_link() - error handling will come for free. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1887, 2004-08-31 21:46:25-07:00, viro@www.linux.org.uk [PATCH] reduce stack use in altroot handling Massaged altroot handling to avoid on-stack struct nameidata instance (and got it faster, actually). We are in the middle of do_follow_link() recursion here, so the stack footprint is critical. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1886, 2004-08-31 21:46:13-07:00, viro@www.linux.org.uk [PATCH] cifs ->follow_link() switched to new scheme, cleaned up Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1885, 2004-08-31 21:46:01-07:00, viro@www.linux.org.uk [PATCH] ncpfs ->follow_link() switched to new scheme Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1884, 2004-08-31 21:45:50-07:00, viro@www.linux.org.uk [PATCH] sysfs ->follow_link() switched to new scheme Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1883, 2004-08-31 21:45:38-07:00, viro@www.linux.org.uk [PATCH] afs ->follow_link() fixes * fixed leaks on failure exits * got rid of useless struct nameidata instance Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1882, 2004-08-31 21:07:07-07:00, torvalds@ppc970.osdl.org Allow the compiler to notice "constant" header file. Both gcc and sparse will speed up tokenization by noticing when a header file is protected by the standard preprocessor #ifndef .. #endif exclusion. However, that requires that the headers actually _use_ that standard exclusion. Some did their own little broken dance. ChangeSet@1.1881, 2004-08-31 18:51:37-07:00, torvalds@ppc970.osdl.org Annotate sys_wait4() user pointers ChangeSet@1.1863.1.2, 2004-08-31 18:06:08-07:00, davem@nuts.davemloft.net [SPARC]: Add sys_waitid support. Signed-off-by: David S. Miller ChangeSet@1.1880, 2004-08-31 16:43:34-07:00, viro@www.linux.org.uk [PATCH] megaraid annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1879, 2004-08-31 16:43:22-07:00, viro@www.linux.org.uk [PATCH] eicon annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1878, 2004-08-31 16:43:12-07:00, viro@www.linux.org.uk [PATCH] more NULL noise removal Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1877, 2004-08-31 16:43:00-07:00, viro@www.linux.org.uk [PATCH] __setup fixes fd_mcs and NCR53c406a forget to parse string -> int array in their setup functions. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1876, 2004-08-31 16:42:48-07:00, viro@www.linux.org.uk [PATCH] sparc64 vga.h fix Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1875, 2004-08-31 16:42:36-07:00, viro@www.linux.org.uk [PATCH] mixart cleanups * check result of pci_set_dma_mask() instead of looking at pci_dma_supported() * size_t => %zd Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1874, 2004-08-31 16:42:24-07:00, viro@www.linux.org.uk [PATCH] netfilter warning (alpha) On alpha u64 is unsigned long; %llu is unsigned long long... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1873, 2004-08-31 16:42:13-07:00, viro@www.linux.org.uk [PATCH] alpha csum_partial_copy.c annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1872, 2004-08-31 16:42:01-07:00, viro@www.linux.org.uk [PATCH] acpiphp_ibm.c 64bit portability Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1871, 2004-08-31 16:41:49-07:00, viro@www.linux.org.uk [PATCH] acpi/processor.c 64bit portability wrong type of return value for ->write() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1870, 2004-08-31 16:41:37-07:00, viro@www.linux.org.uk [PATCH] missing include in pcm_native.c compile fix for alpha - io.h is needed there for io_remap_...() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1869, 2004-08-31 16:41:25-07:00, viro@www.linux.org.uk [PATCH] usx2y cleanups and fixes Sigh... a) mixing of userland and kernel pointers is bad b) so's not checking result of kmalloc() c) so's not checking result of copy_from_user() d) use of do { .... break; ... break; ... } while(0); is *highly* unidiomatic. Do not confuse kernel with IOCCC, please. And if you have religious aversion to multiple return statements in a function, at least learn the reasons why it is frowned upon in many situations. Hint: they all apply to use of break in that manner. e) 0 instead of NULL Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1868, 2004-08-31 16:41:13-07:00, viro@www.linux.org.uk [PATCH] alpha warning fixes pci_dma_sync_single_for_device() had wrong prototype [who TF had come up with that name, anyway?] ->cpu in thread_info was long; it should be unsigned int. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1867, 2004-08-31 16:41:01-07:00, viro@www.linux.org.uk [PATCH] missing include compiler.h in arm memory.h use of __deprecated requires compiler.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1866, 2004-08-31 16:40:49-07:00, viro@www.linux.org.uk [PATCH] mmc annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1865, 2004-08-31 16:40:37-07:00, viro@www.linux.org.uk [PATCH] missing includes from irq changes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.2.13, 2004-08-31 23:38:10+01:00, davej@redhat.com [CPUFREQ] Fix cosmetic issue in powernow-k8 error handling I tried to load the new SMP capable powernow k8 driver on a machine with an too old BIOS. I got a lot of cryptic "init not cpu 0" messages until the "MP systems not supported by PSB ..." message. This patch switches the order of the checks around to print the other message first. It will be still printed multiple times because the cpufreq setup will probe all CPUs, but that's probably ok. From: Andi Kleen Signed-off-by: Dave Jones ChangeSet@1.1837.2.12, 2004-08-31 23:37:03+01:00, davej@redhat.com [CPUFREQ] Remove duplicate information brought in with the new governor. The current CPU frequency is already exported one directory upwards, so there is no need to duplicate it in the ondemand governor. From: Dominik Brodowski Signed-off-by: Dave Jones ChangeSet@1.1837.2.11, 2004-08-31 23:23:28+01:00, davej@redhat.com [CPUFREQ] Fix up ARM drivers 'out of sync' problem. The SA1100 and SA1110 platforms can handle situations well where the CPU frequency is different to the value the cpufreq (and timing) code thinks it is, e.g. when resuming from sleep. So, remove the flags noting the opposite. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones ChangeSet@1.1863.1.1, 2004-08-31 14:49:34-07:00, davem@nuts.davemloft.net [SPARC64]: SA_SAMPLE_RANDOMNESS fix. Signed-off-by: David S. Miller ChangeSet@1.1864, 2004-08-31 13:35:33-07:00, torvalds@ppc970.osdl.org Revert "mark pcxx as broken" Not only did it mark the wrong driver, Christoph reports that somebody might have even made the driver compile these days.. Cset exclude: hch@lst.de[torvalds]|ChangeSet|20040831174055|41082 ChangeSet@1.1860.1.64, 2004-08-31 10:43:29-07:00, akpm@osdl.org [PATCH] isdn debug build fix On x86_64: drivers/isdn/hardware/eicon/debug.c: In function `DI_format': drivers/isdn/hardware/eicon/debug.c:599: incompatible types in assignment Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.63, 2004-08-31 10:43:11-07:00, schwidefsky@de.ibm.com [PATCH] s390: zfcp host adapater zfcp host adapater changes: - Add ability to enqueue other WKA ports besides the nameserver port. - Document and cleanup sg_list functions. - Add get_port_by_did/get_adapater_by_busid functions. - Improve documentation of some functions and structures. - Fix error handling for nameserver requests. - Correct size check in zfcp_sg_list_copy_to_user. - Correct parameter description for loglevel parameter. - Remove unsused code, types and definitions. - Add support for exchange_port_data command. - Add infrastructure to set timers for ELS and SCSI commands. - Avoid adapter shutdown after receiving FSF_SQ_ULP_PROGRAMMING_ERROR. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.62, 2004-08-31 10:42:58-07:00, schwidefsky@de.ibm.com [PATCH] s390: kernel stack options. This adds support for the new compiler options -mkernel-backchain, -mstack-size, -mstack-guard, -mwarn-dynamicstack and -mwarn-framesize. The option -mkernel-backchain enables the use of modified layout for the stack frames of kernel functions. This breaks the ABI, modules compiled with the option won't work on a kernel compiled with the option and vice versa. The positive effect of the option is a drastic reduction of kernel stack use. The trick is that the new frame layout allows to overlap the 96 (31 bit)/160 (64 bit) byte bias areas of the functions on the call chain. This lowers the minimal stack usage of a function from 96 bytes to 16 bytes (31 bit) and 160 bytes to 24 bytes (64 bit). The kernel stack use is decreased to a point where it is possible to use 4K (31 bit) / 8K (64 bit) stacks. The split into process stack and interrupt stack is already in place. The options -mstack-size and -mstack-guard are used to detect kernel stack overflows. The compiler adds code to the prolog of every function that causes an illegal operation if the kernel stack is about to overflow. The options -mwarn-dynamicstack and -mwarn-framesize cause the compiler to emit warnings if a function uses dynamic stack allocation or if the function frame size is bigger then a specified limit. To play safe all the new options are configurable. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.61, 2004-08-31 10:42:46-07:00, schwidefsky@de.ibm.com [PATCH] s390: core changes s390 core changes: - Fix a race condition between kernel thread creation and preemption. - Fix idal_is_needed for the border case 0x7ffff000. - Get rid of compiler warnings in compat_signal.c and profile.c. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.60, 2004-08-31 10:42:33-07:00, jacekpoplawski@wp.pl [PATCH] stv0299 device naming fix Name of device has been changed in 2.6.9-rc1 to "SkyStar2", but module stv0299 still compares name with "Technisat SkyStar2 driver", strings are different, and result is that stv0299 detects invalid tuner type. Cc: Johannes Stezenbach Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.59, 2004-08-31 10:42:19-07:00, lcapitulino@conectiva.com.br [PATCH] kernel/fork.c add missing unlikely(). Signed-off-by: Luiz Capitulino Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.58, 2004-08-31 10:42:07-07:00, kraxel@bytesex.org [PATCH] v4l/bttv: add sanity check (bug #3309) Missing sanity check, overlay is supported for packed pixel formats only. Patch below. It's not API related btw, the bug can be triggered using the v4l2 API as well. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.57, 2004-08-31 10:41:55-07:00, adaplas@hotpop.com [PATCH] fbdev: fix copy_to/from_user in fbmem.c:fb_read/write This patch fixes a problem reported by David S. Miller "I just noticed that fb_{read,write}() uses copy_*_user() with the kernel buffer being the frame buffer. It needs to use the proper device address accessor functions." The patch will do an intermediate copy of the contents to a page-sized, kmalloc'ed buffer. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.56, 2004-08-31 10:41:42-07:00, adaplas@hotpop.com [PATCH] fbdev: fix kernel panic from FBIO_CURSOR ioctl 1. This fixes a kernel oops when issuing an FBIO_CURSOR ioctl if struct fb_cursor_user is filled with zero/NULLs. Reported by Yuval Kogman . 2. This also fixes the cursor corruption in soft_cursor when sprite.scan_align != 1. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.55, 2004-08-31 10:41:30-07:00, vegarwa@online.no [PATCH] BeFS: load default nls if none is specified in mount options Makes the BeOS File Systen driver load the default nls if none is specified in the "iocharset" mount option. Signed-off-by: Vegard Wærp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.54, 2004-08-31 10:41:18-07:00, hch@lst.de [PATCH] fix devfs name for microcode driver Seem like devfsd expects it in /dev/cpu/microcode and Debian users do as well. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.53, 2004-08-31 10:41:06-07:00, wli@holomorphy.com [PATCH] make topology.h macros safer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.52, 2004-08-31 10:40:55-07:00, hch@lst.de [PATCH] mark pcxx as broken It's already marked BROKEN_ON_SMP, but even a UP compile yields tons of errors. While those aren't deeply complicated to fix having them for over a year now is a pretty good indicator no one cares. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.51, 2004-08-31 10:40:42-07:00, hch@lst.de [PATCH] hfs/hfsplus is missing .sendfile There seem to be some crazy mac users that want to use the loop driver on hfsplus. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.50, 2004-08-31 10:40:31-07:00, rbultje@ronald.bitfreak.net [PATCH] zr36067 driver - correct subfrequency carrier attached patch changes the subfrequency carrier value in the adv7175 video output driver which is part of the zr36067 driver package. The practical consequence is that the picture will be more stable on non-passthrough video mode in NTSC. It does not affect PAL/SECAM. Patch originally submitted by Douglas Fraser (8/21). Signed-off-by: Ronald Bultje Signed-off-by: Douglas Fraser Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.49, 2004-08-31 10:40:19-07:00, rbultje@ronald.bitfreak.net [PATCH] zr36067 driver - use msleep() instead of schedule_timeout() attached patch makes the zr36067 driver use msleep() instead of schedule_timeout() with uninterruptible state. Patch originally submitted by Nishanth Aravamudan (7/26). Signed-off-by: Ronald Bultje Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.48, 2004-08-31 10:40:07-07:00, rbultje@ronald.bitfreak.net [PATCH] zr36067 driver - correct i2c-algo-bit dependency in Kconfig attached patch correctly makes the zr36067 driver depend on i2c-ago-bit in the kernel config. Bug reported and patch sent to me by Adrian Bunk (6/21). It wasn't signed off. Signed-off-by: Ronald Bultje Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.47, 2004-08-31 10:39:56-07:00, bgerst@quark.didntduck.org [PATCH] Fix hardcoded value in vsyscall.lds The last attempt to clean this up still left a hardcoded constant (the offset from __FIXADDR_TOP). This patch moves VSYSCALL_BASE to asm-offsets.c. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.46, 2004-08-31 10:39:45-07:00, joshk@triplehelix.org [PATCH] export more symbols on sparc32 Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.45, 2004-08-31 10:39:32-07:00, akpm@osdl.org [PATCH] remove ext2_panic() prototype Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.44, 2004-08-31 10:39:20-07:00, rsa@us.ibm.com [PATCH] interrupt driven hvc_console as vio device This is an hvc_console patch which provides driver and ppc64 architecture fixes to enable the hvc_console driver to register itself as a vio device with the vio bus, provide hotplug add/remove for vty adapters, and act as an interrupt driven driver on Power-5 hardware or remain as a polling driver on Power-4 hardware. arch/ppc64/kernel/hvconsole.c ============================= - Changed hvc_get_chars() and hvc_put_chars() api to take vtermno rather than index number. - Added hvc_find_vtys() function which walks the bus looking for vterm/vty devices to callback to the hvc_console driver. This provides console output functionality prior to early console init (pre mem init and pre device probe). include/asm-ppc64/hvconsole.h ============================= - Changed hvc_get_chars() and hvc_put_chars() api to take vtermno rather than index number. - Added hvc_find_vtys() function. - Added hvc_instantiate() function which is implemented by a console driver wanting to receive a callback of and early console init. drivers/char/hvc_console.c ========================== - Switch khvcd from kernel_threads to kthreads which got rid of deprecated daemonize(). - Added module exit clause to be thorough (not terribly necessary with a console driver of course) - Added early discovery of vterm/vty adapters by doing a bus walk on early console init which results in hvc_instantiate() callback and addition of the vtermno into a static array of vtermnos supported as console adapters (meaning the console api's work against these vtermnos prior to full console initialization). - This driver is now registered as a vio driver which means that vty adapters are now managed via probe/remove. This means hvc_console supports hotplug vty adapters. - Driver now requests more device nodes than what was found on the initial bus walk when registered as a tty driver to make room for hotplug vty adapters. These secondary vty adapters provide a tty tunnel between partitions. - Removed static hvc_struct array and replaced with a linux list that has elements (hvc_struct instances) added/removed on probe/remove AFTER early console init. This is important because kmalloc can't be done at early console init. - Driver now either runs in interrupt driven mode or in polling mode on older hardware. The khvcd is smart enough to not 'schedule()' when there are no interrupts. - kobjects are now used for ref counting on the hvc_struct instances. - This driver puts the tty layer to sleep on hvc_close() if there are pending data writes being blocked by firmware. - Removed useless spinlocks in hvc_chars_in_buffer() and hvc_write_room. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Ryan S. Arnold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.43, 2004-08-31 10:39:09-07:00, paulkf@microgate.com [PATCH] synclinkmp transmit eom fix Bug Fixes: * Fix transmit end of message (EOM) processing to work correctly with hardware auto CTS feature * Fix oops in error path if hardware diags fail during device initialization Cosmetic change: * Use existing macros for address space size instead of hardcoded values Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.42, 2004-08-31 10:38:57-07:00, dhowells@redhat.com [PATCH] Fix a NULL pointer bug in do_generic_file_read() The attached patch fixes a bug introduced into do_generic_mapping_read() by which a file pointer becomes required. I'd arranged things so that the file pointer was optional so that I could call the function directly on an inode. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.41, 2004-08-31 10:38:44-07:00, hpa@zytor.com [PATCH] Make i386 signal delivery work with -mregparm This patch allows i386 signal delivery to work correctly when userspace is compiled with -mregparm. This is somewhat hacky: it passes the arguments *both* on the stack and in registers, but it works because there are only one or three (depending on SA_SIGINFO) official arguments. If you're relying on the unofficial arguments then you're doing something nonportable anyway and can put in the __attribute__((cdecl,regparm(0))) in the correct place. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.40, 2004-08-31 10:38:32-07:00, jmoyer@redhat.com [PATCH] netpoll: fix up trapped logic This patch contains the updates necessary to fix the hangs in netconsole. This includes the changing of trapped to an atomic_t, and the addition of a netpoll_poll_lock. It also turns dev->netpoll_rx into a bitfield which is used to keep from running the networking code from the netpoll_poll call path. Signed-off-by: Jeff Moyer Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.39, 2004-08-31 10:38:19-07:00, jmoyer@redhat.com [PATCH] netpoll: increase NAPI budget I've upped the poll budget to 16 and added a comment explaining why. I definitely ran into this problem when testing netdump. Signed-off-by: Jeff Moyer Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.38, 2004-08-31 10:38:07-07:00, jmoyer@redhat.com [PATCH] netpoll: kill CONFIG_NETPOLL_RX This patch removes CONFIG_NETPOLL_RX, as discussed. Signed-off-by: Jeff Moyer Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.37, 2004-08-31 10:37:55-07:00, mpm@selenic.com [PATCH] netpoll: revert queue stopped change Here's the first of the broken out patch set. This puts the check for netif_queue_stopped back into netpoll_send_skb. Network drivers are not designed to have their hard_start_xmit routines called when the queue is stopped. Signed-off-by: Jeff Moyer Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.36, 2004-08-31 10:37:42-07:00, mpm@selenic.com [PATCH] netpoll: fix unaligned accesses Avoid some alignment traps. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.35, 2004-08-31 10:37:30-07:00, ornati@fastwebnet.it [PATCH] tdfx linkage fix drivers/built-in.o(.data+0x40a68): undefined reference to `cfb_fillrect' drivers/built-in.o(.data+0x40a6c): undefined reference to `cfb_copyarea' 3dfx framebuffer driver depends on "cfb_fillrect.c" and "cfb_copyarea.c" if it's compiled without CONFIG_FB_3DFX_ACCEL turned on... Signed-off-by: Paolo Ornati Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.34, 2004-08-31 10:37:17-07:00, apw@shadowen.org [PATCH] use page_to_nid There are a couple of places where we seem to go round the houses to get the numa node id from a page. We have a macro for this so it seems sensible to use that. Both lookup_node and enqueue_huge_page use page_zone() to locate the zone, that to locate node pgdat_t and that to get the node_id. Its more efficient to use page_to_nid() which gets the nid from the page flags, especially if we are not using the zone for anything else it. Change these to use page_to_nid(). Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.33, 2004-08-31 10:37:03-07:00, apw@shadowen.org [PATCH] i386 bootmem restrictions (Comment changes only) The bootmem allocator is initialised before the kernel virtual address space has been fully established. As a result, any allocations which are made before paging_init() has completed may point to invalid kernel addresses. This patch notes this limitation and indicates where the allocator is fully available. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.32, 2004-08-31 10:36:51-07:00, rusty@rustcorp.com.au [PATCH] Don't OOPS on stripped modules Don't want to go overboard with the checks, but this is simple and reasonable. Signed-off-by: Rusty Russell (modified) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.31, 2004-08-31 10:36:39-07:00, okir@suse.de [PATCH] Prevent memory leak in devpts There is a dentry refcount leak in devpts_get_tty. struct tty_struct *devpts_get_tty(int number) { struct dentry *dentry = get_node(number); struct tty_struct *tty; tty = (IS_ERR(dentry) || !dentry->d_inode) ? NULL : dentry->d_inode->u.generic_ip; up(&devpts_root->d_inode->i_sem); return tty; } The get_node function does a lookup on /dev/pts/ and returns the dentry, taking a reference. We should dput the dentry after extracting the tty pointer. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.30, 2004-08-31 10:36:26-07:00, jdow@earthlink.net [PATCH] Amiga partition reading fix I have a large archive of files stored on Amiga volumes. Many of these volumes are on Fujitsu magneto-optical disks with 2k sector size. The existing partitioning code cannot properly read them since it appears the OS automatically deblocks the large sectors into logical 512 byte sectors, something AmigaDOS never did. I arranged the partitioning code to handle this situation. Second I have some rather strange test case disks, including my largest storage partition, that have somewhat unusual partition values. As such I needed additional information in addition to the first and last block number information. AmigaDOS reserves N blocks, with N greater than or equal to 1 and less than the size of the partition, for some boot time information and signatures. I have some partitions that use other than the usual value of 2. There is one more "fix" that could be put in if someone needs it. Another value in the "Rigid Disk Blocks" description of a partition is a "PreAlloc" value. It defines a number of blocks at the end of the disk that are not considered to be a real part of the partition. This was "important" in the days of 20 meg and 40 meg hard disks. It is hardly important and not used on modern drives without special user intervention. This partitioning information is known correct. I wrote the low level portion of the hard disk partitioning code for AmigaDOS 3.5 and 3.9. I am also responsible for one of the more frequently used partitioning tools, RDPrepX, before that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.29, 2004-08-31 10:36:14-07:00, nickpiggin@yahoo.com.au [PATCH] use hlist for pid hash: cache friendliness Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.28, 2004-08-31 10:36:01-07:00, nickpiggin@yahoo.com.au [PATCH] use hlist for pid hash Use hlists for the PID hashes. This halves the memory footprint of these hashes. No benchmarks, but I think this is a worthy improvement because the hashes are something that would be likely to have significant portions loaded into the cache of every CPU on some workloads. This comes at the "expense" of 1. reintroducing the memory prefetch into the hash traversal loop; 2. adding new pids to the head of the list instead of the tail. I suspect that if this was a big problem then the hash isn't sized well or could benefit from moving hot entries to the head. Also, account for all the pid hashes when reporting hash memory usage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.27, 2004-08-31 10:35:49-07:00, nickpiggin@yahoo.com.au [PATCH] fix PID hash sizing A 4GB, 4-way Opteron would create the smallest size table (16 entries) because pidhash_init is called before mem_init which is where x86-64 sets up max_pfn. nr_kernel_pages is setup by paging_init, called from setup_arch, which is also where i386 sets up max_pfn. So export nr_kernel_pages, nr_all_pages. Use nr_kernel_pages when sizing the PID hash. This fixes the problem. This also makes the pid hash dependant on the size of ZONE_NORMAL instead of total size of memory. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.26, 2004-08-31 10:35:38-07:00, roland@redhat.com [PATCH] fix rusage semantics This patch changes the rusage bookkeeping and the semantics of the getrusage and times calls in a couple of ways. The first change is in the c* fields counting dead child processes. POSIX requires that children that have died be counted in these fields when they are reaped by a wait* call, and that if they are never reaped (e.g. because of ignoring SIGCHLD, or exitting yourself first) then they are never counted. These were counted in release_task for all threads. I've changed it so they are counted in wait_task_zombie, i.e. exactly when being reaped. POSIX also specifies for RUSAGE_CHILDREN that the report include the reaped child processes of the calling process, i.e. whole thread group in Linux, not just ones forked by the calling thread. POSIX specifies tms_c[us]time fields in the times call the same way. I've moved the c* fields that contain this information into signal_struct, where the single set of counters accumulates data from any thread in the group that calls wait*. Finally, POSIX specifies getrusage and times as returning cumulative totals for the whole process (aka thread group), not just the calling thread. I've added fields in signal_struct to accumulate the stats of detached threads as they die. The process stats are the sums of these records plus the stats of remaining each live/zombie thread. The times and getrusage calls, and the internal uses for filling in wait4 results and siginfo_t, now iterate over the threads in the thread group and sum up their stats along with the stats recorded for threads already dead and gone. I added a new value RUSAGE_GROUP (-3) for the getrusage system call rather than changing the behavior of the old RUSAGE_SELF (0). POSIX specifies RUSAGE_SELF to mean all threads, so the glibc getrusage call will just translate it to RUSAGE_GROUP for new kernels. I did this thinking that someone somewhere might want the old behavior with an old glibc and a new kernel (it is only different if they are using CLONE_THREAD anyway). However, I've changed the times system call to conform to POSIX as well and did not provide any backward compatibility there. In that case there is nothing easy like a parameter value to use, it would have to be a new system call number. That seems pretty pointless. Given that, I wonder if it is worth bothering to preserve the compatible RUSAGE_SELF behavior by introducing RUSAGE_GROUP instead of just changing RUSAGE_SELF's meaning. Comments? I've done some basic testing on x86 and x86-64, and all the numbers come out right after these fixes. (I have a test program that shows a few Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.25, 2004-08-31 10:35:25-07:00, roland@redhat.com [PATCH] waitid system call This patch adds a new system call `waitid'. This is a new POSIX call that subsumes the rest of the wait* family and can do some things the older calls cannot. A minor addition is the ability to select what kinds of status to check for with a mask of independent bits, so you can wait for just stops and not terminations, for example. A more significant improvement is the WNOWAIT flag, which allows for polling child status without reaping. This interface fills in a siginfo_t with the same details that a SIGCHLD for the status change has; some of that info (e.g. si_uid) is not available via wait4 or other calls. I've added a new system call that has the parameter conventions of the POSIX function because that seems like the cleanest thing. This patch includes the actual system call table additions for i386 and x86-64; other architectures will need to assign the system call number, and 64-bit ones may need to implement 32-bit compat support for it as I did for x86-64. The new features could instead be provided by some new kludge inventions in the wait4 system call interface (that's what BSD did). If kludges are preferable to adding a system call, I can work up something different. I added a struct rusage field si_rusage to siginfo_t in the SIGCHLD case (this does not affect the size or layout of the struct). This is not part of the POSIX interface, but it makes it so that `waitid' subsumes all the functionality of `wait4'. Future kernel ABIs (new arch's or whatnot) can have only the `waitid' system call and the rest of the wait* family including wait3 and wait4 can be implemented in user space using waitid. There is nothing in user space as yet that would make use of the new field. Most of the new functionality is implemented purely in the waitid system call itself. POSIX also provides for the WCONTINUED flag to report when a child process had been stopped by job control and then resumed with SIGCONT. Corresponding to this, a SIGCHLD is now generated when a child resumes (unless SA_NOCLDSTOP is set), with the value CLD_CONTINUED in siginfo_t.si_code. To implement this, some additional bookkeeping is required in the signal code handling job control stops. The motivation for this work is to make it possible to implement the POSIX semantics of the `waitid' function in glibc completely and correctly. If changing either the system call interface used to accomplish that, or any details of the kernel implementation work, would improve the chances of getting this incorporated, I am more than happy to work through any issues. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.24, 2004-08-31 10:35:11-07:00, anton@samba.org [PATCH] Using get_cycles for add_timer_randomness I tested how long it took to do a dd from /dev/random on ppc64 before and after this patch, while doing a ping flood from another machine. before: # /usr/bin/time dd if=/dev/random of=/dev/zero count=1k 0+51 records in Command terminated by signal 2 0.00user 0.00system 19:18.46elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k I gave up after 19 minutes. after: # /usr/bin/time dd if=/dev/random of=/dev/zero count=1k 0+1024 records in 0.00user 0.00system 0:33.38elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k Just over 33 seconds. Better. From: Arnd Bergmann I noticed that only i386 and x86-64 are currently using a high resolution timer source when adding randomness. Since many architectures have a working get_cycles() implementation, it seems rather straightforward to use that. Has this been discussed before, or can anyone comment on the implementation below? This patch attempts to take into account the size of cycles_t, which is either 32 or 64 bits wide but independent of the architecture's word size. The behavior should be nearly identical to the old one on i386, x86-64 and all architectures without a time stamp counter, while finding more entropy on the other architectures. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.23, 2004-08-31 10:34:59-07:00, ak@suse.de [PATCH] x86_64: emulate NUMA on non-NUMA hardware Apply this handy patch and boot with numa=fake=4 (or how many nodes you want, 8 max right now). There is a minor issue with the hash function, which can make the last node be bigger than the others. Is probably fixable if it should be a problem. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.22, 2004-08-31 10:34:47-07:00, mpm@selenic.com [PATCH] tiny shmem/tmpfs replacement A patch to replace tmpfs/shmem with ramfs for systems without swap, incorporating the suggestions from Andi and Hugh. It uses ramfs instead. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.21, 2004-08-31 10:34:34-07:00, alan@redhat.com [PATCH] VLAN support for 3c59x/3c90x This adds VLAN support to the 3c59x/90x series hardware. Stefan de Konink ported this code from the 2.4 VLAN patches and tested it extensively. I cleaned up the ifdefs and fixed a problem with bracketing that made older cards fail. -- Developer's Certificate of Origin 1.0 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. I, Stefan de Konink, certify that: The contribution is based upon previous work that, again is based on GPL code and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license. I, Alan Cox, certify likewise. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.20, 2004-08-31 10:34:22-07:00, akpm@osdl.org [PATCH] truncate_inode_pages latency fix Fix scheduling latency issues with large truncates. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.19, 2004-08-31 10:34:10-07:00, oleg@tv-sign.ru [PATCH] hugetlbfs private mappings Hugetlbfs silently coerce private mappings of hugetlb files into shared ones. So private writable mapping has MAP_SHARED semantics. I think, such mappings should be disallowed. First, such behavior allows open hugetlbfs file O_RDONLY, and overwrite it via mmap(PROT_READ|PROT_WRITE, MAP_PRIVATE), so it is security bug. Second, private writable mmap() should fail just because kernel does not support this. I belisve, it is ok to allow private readonly hugetlb mappings, sys_mprotect() does not work with hugetlb vmas. There is another problem. Hugetlb mapping is always prefaulted, pages allocated at mmap() time. So even readonly mapping allows to enlarge the size of the hugetlbfs file, and steal huge pages without appropriative permissions. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.18, 2004-08-31 10:33:57-07:00, oleg@tv-sign.ru [PATCH] /dev/zero vs hugetlb mappings. Hugetlbfs mmap with MAP_PRIVATE becomes MAP_SHARED silently, but vma->vm_flags have no VM_SHARED bit. Reading from /dev/zero into hugetlb area will do: read_zero() read_zero_pagealigned() if (vma->vm_flags & VM_SHARED) break; // fallback to clear_user() zap_page_range(); zeromap_page_range(); It will hit BUG_ON() in unmap_hugepage_range() if region is not huge page aligned, or silently convert it into the private anonymous mapping. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.17, 2004-08-31 10:33:46-07:00, haveblue@us.ibm.com [PATCH] ppc64: add a pfn_to_kaddr() function This is a helper function that a few architectures already have. This just copies the i386 implementation to ppc64. Signed-off-by: Dave Hansen Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.16, 2004-08-31 10:33:34-07:00, paulus@samba.org [PATCH] ppc64: allocate irqstacks only for possible cpus With earlier setup of cpu_possible_map the number of irqstacks shrinks from NR_CPUS to the number of possible cpus. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.15, 2004-08-31 10:33:23-07:00, paulus@samba.org [PATCH] ppc64: set platform cpuids later in boot Move the initialization of the per-cpu paca->hw_cpu_id out of the Open Firmware client boot code and into a common location which is executed later. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.14, 2004-08-31 10:33:11-07:00, paulus@samba.org [PATCH] ppc64: rework PPC64 cpu map setup Move all cpu map initializations to one place (except for the online map -- cpus mark themselves online as they come up). This sets up cpu_possible_map early enough that we can use num_possible_cpus for allocating irqstacks instead of NR_CPUS. Hopefully this should also help set the stage for kexec. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.13, 2004-08-31 10:32:58-07:00, paulus@samba.org [PATCH] Update PPC MAINTAINERS & CREDITS David Engebretsen has moved on to other things and is no longer maintaining ppc64. This patch adds an entry in CREDITS to note his contribution in leading the team that did the PPC64 port originally and updates various PPC-related MAINTAINERS entries. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.12, 2004-08-31 10:32:46-07:00, tiwai@suse.de [PATCH] Fix the unnecessary entropy call in the irq handler Currently add_interrupt_randomness() is called at each interrupt when one of the handlers has SA_SAMPLE_RANDOM flag, regardless whether the interrupt is processed by that handler or not. This results in the higher latency and perfomance loss. The patch fixes this behavior to avoid the unnecessary call by checking the return value from each handler. Signed-off-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.11, 2004-08-31 10:32:33-07:00, prasanna@in.ibm.com [PATCH] Jumper Probes to provide function arguments A special kprobe type which can be placed on function entry points, and employs a simple mirroring principle to allow seamless access to the arguments of a function being probed. The probe handler routine should have the same prototype as the function being probed. Currently implemented for x86. The way it works is that when the probe is hit, the breakpoint handler simply irets to the probe handler's eip while retaining register and stack state corresponding to the function entry. After it is done, the probe handler calls jprobe_return() which traps again to restore processor state and switch back to the probed function. Linus noted correctly at KS that we need to be careful as gcc assumes that the callee owns arguments. We save and restore enough stack bytes to cover argument space. Sample Usage: static int jip_queue_xmit(struct sk_buff *skb, int ipfragok) { ... whatever ... jprobe_return(); return 0; } struct jprobe jp = { {.addr = (kprobe_opcode_t *) ip_queue_xmit}, .entry = (kprobe_opcode_t *) jip_queue_xmit }; register_jprobe(&jp); Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.10, 2004-08-31 10:32:21-07:00, prasanna@in.ibm.com [PATCH] kprobes base patch This patch helps developers to trap at almost any kernel code address, specifying a handler routine to be invoked when the breakpoint is hit. Useful for analysing the Linux kernel by collecting debugging information non-disruptively. Employs single-stepping out-of-line to avoid probe misses on SMP and may be especially useful in aiding debugging elusive races and problems on live systems. More elaborate dynamic tracing tools such as DProbes can be built over the kprobes interface. Helps developers to trap at almost any kernel code address, specifying a handler routine to be invoked when the breakpoint is hit. Useful for analysing the Linux kernel by collecting debugging information non-disruptively. Employs single-stepping out-of-line to avoid probe misses on SMP and may be especially useful in aiding debugging elusive races and problems on live systems. More elaborate dynamic tracing tools such as DProbes can be built over the kprobes interface. Sample usage: To place a probe on __blockdev_direct_IO: static int probe_handler(struct kprobe *p, struct pt_regs *) { ... whatever ... } struct kprobe kp = { .addr = __blockdev_direct_IO, .pre_handler = probe_handler }; register_kprobe(&kp); Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.9, 2004-08-31 10:32:08-07:00, prasanna@in.ibm.com [PATCH] i386 exceptions notifier for kprobes This patch provides notifiers for i386 architecture exceptions. This patch has been ported from x86_64 architecture as suggested by Andi Kleen. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.8, 2004-08-31 10:31:55-07:00, phil.el@wanadoo.fr [PATCH] Fix oops with nmi-watchdog=2 Contributions from Zarakin Intel removed two msrs: MSR_P4_IQ_ESCR_0|1 (0x3ba/0x3bb), P4 model >= 3. See Intel documentation Vol. 3 System Programming Guide Appendix B. nmi_watchdog=2 oopsed at boot time and oprofile at driver load. Avoid touching them when model >= 3. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.7, 2004-08-31 10:31:43-07:00, jason.davis@unisys.com [PATCH] platform update for ES7000 This update only applies to Unisys' ES7000 server machines. The patch adds a OEM id check to verify the current machine running is actually a Unisys type box before executing the Unisys OEM parser routine. It also increases the MAX_MP_BUSSES definition from 32 to 256. On the ES7000s, bus ID numbering can range from 0 to 255. Without the patch, the system panics if booted with acpi=off. This patch has been tested and verified on an authentic ES7000 machine. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.6, 2004-08-31 10:31:31-07:00, bjorn.helgaas@hp.com [PATCH] Make assign_irq_vector() non-__init Make assign_irq_vector() non-__init always (it's called from io_apic_set_pci_routing(), which is used in the pci_enable_device() path). Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.5, 2004-08-31 10:31:19-07:00, anton@samba.org [PATCH] prio-tree: remove function prototype inside function I had a problem when compiling a 2.6 kernel with gcc 3.5 CVS. The prototype for prio_tree_remove in mm/prio_tree.c is inside another function. gcc 3.5 gets upset and removes the function completely. Apparently this isnt valid C, so lets fix it up. Details can be found here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17205 Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1860.2.1, 2004-08-31 03:15:41-04:00, jgarzik@pobox.com [netdrvr 8139cp,r8169] fix dma_addr_t sizeof test ChangeSet@1.1860.1.4, 2004-08-30 17:15:58-07:00, davej@redhat.com [PATCH] Fix up Centaur CPU feature enabling. Nehemiah wasn't having the CX8 bit enabled before. In fixing it up, I rewrote the code to be a little clearer. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds ChangeSet@1.1860.1.3, 2004-08-30 17:14:53-07:00, rth@twiddle.net [PATCH] Alpha: generic dma mapping From: Ivan Kokshaysky - big functions moved out of line; - handle dev == NULL case, which apparently means the isa device. As before, this is needed for Jensen. This also makes the isa sound drivers working again with recent kernels. ChangeSet@1.1862, 2004-08-30 22:07:08-07:00, davem@nuts.davemloft.net [IPV4]: Push ip_append_data() frag bug fix into ip_append_page() Based upon implementation suggestions from Yoshifuji Hideaki. Signed-off-by: David S. Miller ChangeSet@1.1837.1.87, 2004-08-30 16:39:38-07:00, shemminger@osdl.org [PKT_SCHED]: Distribution table fixes for netem. Fix some issues with netem. * fix memory link in q_destroy where distribution table not freed * fix math error in tabledist that made it work for only small values * change API for distribution table so scaling factor is constant and table size is determined by looking at the rtnetlink payload size. this is faster and simpler. Since haven't actually released the tools to load the table yet, this is the chance to get it right ;-) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.1.86, 2004-08-30 16:37:48-07:00, shemminger@osdl.org [NET]: net_random_init needs to get seed later in boot process Argh.. random_init isn't called until the device's are initialized. Rather than mess with random.c initialization, how about this; it resets the net_random state late in initialization when get_random_bytes is ready. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.35.3, 2004-08-31 00:21:36+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2061/1: S3C2410 - Drive strength control for s3c2440 Patch from Ben Dooks Register definitions, and support for modifying the Drive Strength Control registers on the S3C2440 Signed-off-by: Ben Dooks ChangeSet@1.1837.35.2, 2004-08-31 00:16:46+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2056/1: S3C2410 - check for IRQ pending in gettimeoffset() Patch from Ben Dooks Ensure we check for IRQ pending for the gettimeoffset() function ChangeSet@1.1837.35.1, 2004-08-31 00:11:38+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2055/1: S3C2410 - add timer0 deadzone definition Patch from Ben Dooks Add the definition of timer 0's dead-zone capability ChangeSet@1.1803.106.13, 2004-08-30 15:46:34-07:00, davem@nuts.davemloft.net [TG3]: Update driver version and reldate. ChangeSet@1.1803.106.12, 2004-08-30 15:46:01-07:00, davem@nuts.davemloft.net [TG3]: Fix clock control programming on 5705/5750. Need to clear one bit at a time, so if we are clearing both 625_CORE_CLOCK and ALTCLOCK we first clear the latter then the final write will clear the former. Signed-off-by: David S. Miller ChangeSet@1.1803.106.11, 2004-08-30 15:43:38-07:00, davem@nuts.davemloft.net [TG3]: Add capacitive coupling support. Signed-off-by: David S. Miller ChangeSet@1.1803.106.10, 2004-08-30 15:43:00-07:00, mchan@broadcom.com [TG3]: Check MAC_STATUS_SIGNAL_DET in serdes polling. Otherwise we do not handle properly the case where the switch/hub does not support auto- negotiation. This is what was breaking 5704 hw fiber autoneg. Signed-off-by: David S. Miller ChangeSet@1.1803.106.9, 2004-08-30 15:42:09-07:00, davem@nuts.davemloft.net [TG3]: Add 5750 A3 workaround. Signed-off-by: David S. Miller ChangeSet@1.1803.132.2, 2004-08-30 22:20:37+00:00, eranian@hpl.hp.com [IA64] perfmon.c: cleanup system-wide context when closed from another cpu - fix pfm_stop() and pfm_flush_pmds() to correctly cleanup in case of a system-wide context which is closed while running from another processor. This was leading to an assertion failure in pfm_loads_regs() for the next user of the PMU on the monitored CPU. signed-off-by: stephane eranian Signed-off-by: Tony Luck ChangeSet@1.1803.132.1, 2004-08-30 22:15:50+00:00, eranian@hpl.hp.com [IA64] palinfo.c: typo s/BEER/BERR/ - fix a typo in the file /proc/pal/CPU*/processor_info w.r.t. to BERR promotion. Initially reported by Danny Kwong from HP. Signed-off-by: stephane eranian Signed-off-by: Tony Luck ChangeSet@1.1837.1.85, 2004-08-30 14:28:05-07:00, hadi@znyx.com [ETH]: Zap NET_CLS_ACT ifdef. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller ChangeSet@1.1803.131.1, 2004-08-30 20:49:38+00:00, jbarnes@sgi.com [IA64-SGI] sn2_defconfig: Enable preempt, CPU hotplug, ext2 and IDE. o enable preempt per Andrew's request for testing o enable CPU hotplug for testing o add EXT2 and IDE disk support to make simulation easy Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck ChangeSet@1.1837.32.3, 2004-08-30 14:43:27-04:00, bzolnier@elka.pw.edu.pl [PATCH] libata: ata_piix.c PIO fix [patch] libata: ata_piix.c PIO fix "[libata] transfer mode cleanup" introduced bug in ata_piix.c: previously PIO number (not mode) was passed to piix_set_piomode(). Fortunately this function is only used for (disabled) PATA support. I bet that this is the reason why MWDMA didn't work for PATA. Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.1859, 2004-08-30 10:17:55-07:00, akpm@osdl.org [PATCH] megaraid warning fix The ioctl32 conversion registration stubs are in ioctl32.h now. Signed-off-by: Andrew Morton ChangeSet@1.1837.34.2, 2004-08-29 23:49:23-07:00, torvalds@ppc970.osdl.org Merge http://oss.sgi.com:8090/xfs-linux-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.1.84, 2004-08-29 21:11:23-07:00, kaber@trash.net [NETFILTER]: Fix race when flushing fragment queue Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1837.1.83, 2004-08-29 21:10:27-07:00, kaber@trash.net [NETFILTER]: Flush fragment queue on conntrack unload Problem discovered, and original version of patch, by Olaf Kirch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1856, 2004-08-29 23:08:58-05:00, stevef@smfhome1.smfdom [CIFS] Fix incorrect byte count in unlock SMB ChangeSet@1.1837.34.1, 2004-08-29 15:05:32-07:00, torvalds@ppc970.osdl.org Undo UML mis-merge of jiffies initialization. Paolo Giarrusso points out that the UML merge incorrectly caused INITIAL_JIFFIES to be reset back to zero, instead of the debug value for getting an early jiffies wrap. Fix it back up. ChangeSet@1.1837.30.9, 2004-08-29 13:07:31+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: Rename UART_STARTECH to UART_CAP_EFR UART_STARTECH is really telling us that the UART has an EFR register, so call this flag UART_CAP_EFR. ChangeSet@1.1837.30.8, 2004-08-29 12:59:58+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: add UART_CAP_SLEEP capability. ChangeSet@1.1837.30.7, 2004-08-29 12:52:25+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: serial8250_set_sleep Add container function for UART sleep code. Currently only Startech and TI16750 uses this. ChangeSet@1.1837.30.6, 2004-08-29 11:52:58+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: combine UART_CLEAR_FIFO/UART_USE_FIFO into one flag. Combine UART_CLEAR_FIFO and UART_USE_FIFO into one capability - UART_CAP_FIFO. There is only one UART with an unused FIFO - ST16650. Since we check the fifo size before enabling, we maintain the existing behaviour. ChangeSet@1.1837.1.82, 2004-08-28 23:03:42-07:00, yoshfuji@linux-ipv6.org [IPV4/IPV6]: Fix fragment creation. We have two problem in ipv4 and ipv6 wrt. to fragmentation on output. Both of which result in fragmentation when it is really not needed. When fragmenting both ipv4 and ipv6 need to make the post IP-header portion of the packet have a length of modulo 8. This means that if the PMTU is not a multiple of 8 after the IP header size is subtracted, we will fragment for full sized frames for the modulo 8 bytes. Furthermore, IPV6 subtracts out space for the fragmentation header it must add, making unnecessary fragmentation even more likely. We still need to handle ip*_append_page() and that will happen in a followup fix. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller ChangeSet@1.1837.1.81, 2004-08-28 22:55:25-07:00, apm@brigitte.dna.fi [NETFILTER]: One missed case in arp_tables.c unaligned fixes. Signed-off-by: Antti P Miettinen Signed-off-by: David S. Miller ChangeSet@1.1837.1.80, 2004-08-28 22:50:23-07:00, hadi@znyx.com [PPP]: Fix assertion trigger with NET_CLS_ACT. Missing setting of skb->input_dev when changing skb->dev Signed-off-by: Jamal Hadi Salim Signed-off-by; David S. Miller ChangeSet@1.1837.1.79, 2004-08-28 22:04:26-07:00, armin@melware.de [PATCH] ISDN Eicon driver: maint/trace fix and update Fix of the debug/trace driver and removal of irq locks. - Only spinlocks[bh] are used now. - Removed obsolete direct debug /proc interface. - Update of internal trace features and its API. - Use common definition of MAX_DESCRIPTORS. ChangeSet@1.1837.33.1, 2004-08-28 21:56:42-07:00, torvalds@ppc970.osdl.org Merge bk://linux-voyager.bkbits.net/dma-declare-coherent-memory-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.30.5, 2004-08-29 00:48:16+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: tell transmit path the data transfer size. Some UARTs give us a transmit interrupt when the TX FIFO is less than half empty. This means we should not transfer a FIFO-full of data to the device. Introduce "tx_loadsz" to indicate the size of this transfer. ChangeSet@1.1837.30.4, 2004-08-29 00:29:43+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: Add serial8250_config structure definition. This structure replaces serial_uart_config to allow the 8250 driver to extend it without breaking all the other users. ChangeSet@1.1837.32.2, 2004-08-28 19:29:32-04:00, achew@nvidia.com [PATCH] sata_nv: fix CK804 support This patch fixes a problem introduced when CK804 support was added. mmio_base can only be set in the CK804 case, else libata will attempt to iounmap mmio_base, which isn't iomapped for the non-CK804 case. Still need the bar 5 address, so steal from host_set->ports[0]->ioaddr.scr_addr. Jeff, let me know if this is a bad thing to do. ChangeSet@1.1837.31.3, 2004-08-28 19:22:26-04:00, mporter@kernel.crashing.org [PATCH] ibm_emac driver updates Optimizes transmit windows for improved performance and to prevent TX underruns. Fixes driver registration error handling. Fixes ZMII and RGMII thinkos. Fixes for MDIO handling issues from Ralph Siemsen. Please apply. Signed-off-by: Matt Porter ChangeSet@1.1837.30.3, 2004-08-29 00:06:41+01:00, rmk@flint.arm.linux.org.uk [SERIAL] 8250: We can only use the FIFO if fifosize > 1. ChangeSet@1.1837.32.1, 2004-08-28 19:02:49-04:00, jeremy@sgi.com [PATCH] Fix DMA boundary overflow bug We seem to have found an overflow problem in libata-core.c. We were trying to DMA to the address range 0xffff8000-0xffffbfff. In the original version of the code, given that address and count (0xffff8000 and 0x4000), the variable "boundary" would be set to 0, causing len to be set to 0x8000 (which is greater than sg_len). Then at the bottom of the loop, sg_len would be set to 0xffffc000 (0x4000 - 0x8000), which would then cause the loop never to terminate (until much of memory was scribbled over or the kernel died). The code below should be functionally identical, but not be subject to the same overflow problem (boundary needs to be a u33). Signed-off-by: jeremy@sgi.com ===== drivers/scsi/libata-core.c 1.94 vs edited ===== ChangeSet@1.1837.31.2, 2004-08-28 18:55:46-04:00, tharbaugh@lnxi.com [netdrvr e1000] disable DITR, which apparently hurts performance ChangeSet@1.1837.31.1, 2004-08-28 18:50:25-04:00, akpm@osdl.org [PATCH] Problem with SiS900 - Unknown PHY From: Laurent Some time ago, I sent on this list a mail about my strange problem with my SiS900 network card (Subject was Sluggish performances with FreeBSD) To sum up, when my card is in 100Mb mode, I have poor throughput but in 10Mb, all seems normal. After some tests, it seems these results was due to a misdetection of the PHY device. mii-tool reports : product info: vendor 08:00:17, model 3 rev 0 and after some search on the web, I found it's a NS DP83847 which is very similar. Signed-off-by: Andrew Morton ChangeSet@1.1837.30.2, 2004-08-28 23:48:25+01:00, rmk@flint.arm.linux.org.uk [SERIAL] Move XR16C850 Tx/Rx trigger level setup to startup code ChangeSet@1.1837.30.1, 2004-08-28 23:34:57+01:00, rmk@flint.arm.linux.org.uk [SERIAL] Factor out "clear fifo" functionality. Move "clear fifo" into separate function dependent on UART_CLEAR_FIFO capability. We take note of the comment about Lucent Venus and always use the two-stage enable-then-clear as we do on startup. ChangeSet@1.1837.16.19, 2004-08-28 15:12:54-05:00, shaggy@austin.ibm.com JFS: fix memory leak in __invalidate_metapages Signed-off-by: Dave Kleikamp ChangeSet@1.1837.1.74, 2004-08-28 11:46:08-07:00, torvalds@ppc970.osdl.org Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.1.73, 2004-08-28 11:21:14-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: remove unused IDETAPE_DEBUG_LOG_VERBOSE code from ide-tape.c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.72, 2004-08-28 11:21:02-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: remove CONFIG_IDE_TASKFILE_IO code from pdc4030.c It seems that CONFIG_IDE_TASKFILE_IO code in pdc4030.c was never tested (i.e. writes don't work et all because of bogus rq->cmd check). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.71, 2004-08-28 11:20:50-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: small drivers/ide/legacy/Makefile cleanup Let's kill the obsolete CONFIG_BLK_DEV_HD98 entry. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.70, 2004-08-28 11:20:39-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: check the return value of pci_set_dma_mask() in cs5520.c From: Arjan van de Ven Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.69, 2004-08-28 11:20:27-07:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] ide: identify non decoded master/slave by serial and model From: Alan Cox Some interfaces (notably PCMCIA ones) don't decode the master/slave select so you get two copies of a device appearing and bad things happening if a user accidentally uses both. This checks for the model/serial matching but also knows about non ATA drives ide=noprobe and a Maxtor problem that was found in Andrew's testing of an earlier patch. Although M00000.. drives should be RMA'd to Maxtor (and with info on where they were obtained...) we don't want to break anyone who has them. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.68, 2004-08-28 11:20:15-07:00, bzolnier@elka.pw.edu.pl [PATCH] ide: fix bad disk geometry hang From: Alan Cox If you get invalid geometry (eg a failed drive) the box hangs on boot because we try and unregister the registered driver and end up in a locking mess. We change the behaviour to simply leave the device unattached which avoids the mess. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.67, 2004-08-28 11:20:03-07:00, bzolnier@elka.pw.edu.pl [PATCH] ide: quiten hwif spin up From: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.66, 2004-08-28 11:19:52-07:00, bzolnier@elka.pw.edu.pl [PATCH] ide: do hwif spin up for all platforms From: Alan Cox This was put in for PPC specifically and defined in the 2.4 tree to be paranoid about breaking stuff. The actual wait for hwif spin up is however perfectly correct for all drives. In the normal PC case the PC BIOS has done this but with other embedded boxes and with things like LinuxBIOS it may not have done. Thus it should always be done. Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.65, 2004-08-28 11:19:40-07:00, bzolnier@elka.pw.edu.pl [PATCH] ide: remove /proc/ide/hd?/settings:ide-scsi & HDIO_SET_IDE_SCSI ioctl As noticed by Alan Cox: "It doesn't work now so it clearly isnt being used 8). We hold the lock because its a proc function and we then replace the proc functions in the attach method -> deadlock. It is also incredibly hard to fix without a major rewrite." The same is true for HDIO_SET_IDE_SCSI ioctl. Both were broken 18 months ago in 2.5.63 as a side-effect of locking fixes. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1837.29.1, 2004-08-28 10:04:12-07:00, torvalds@ppc970.osdl.org Remove QIC-02 tape from Kconfig. Let's leave the code for a while yet, and see if somebody screams. But both Red Hat and SuSE claim it is unused, so it probably is. The driver hasn't gotten updated in years, and google doesn't seem to show any usage either. ChangeSet@1.1837.1.62, 2004-08-27 20:59:29-07:00, viro@www.linux.org.uk [PATCH] NULL noise removal in usb/gadget Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.61, 2004-08-27 20:59:17-07:00, viro@www.linux.org.uk [PATCH] ifdef fixes smc91x.c: missing ifdef CONFIG_ISA around ISA-only code. asm-arm/apm.h: ifdef CONFIG_APM breaks if APM is a module. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.60, 2004-08-27 20:59:05-07:00, viro@www.linux.org.uk [PATCH] misc alpha bits * long constant in a.out.h * missing cast to pointer in pgtable.h * removed useless __chk_user_ptr() in get_user() and put_user() - with fixed typeof handling in sparse we are getting the check from __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ anyway, so __chk_user_ptr() is redundant there. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.59, 2004-08-27 20:58:54-07:00, viro@www.linux.org.uk [PATCH] checksum.h annotations missing annotations in csum_partial_copy_from_user() on arm and ppc Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.58, 2004-08-27 20:58:42-07:00, viro@www.linux.org.uk [PATCH] misc sound/oss bits - a couple of PCI drivers made dependent on CONFIG_PCI - signed char fix in wavfront.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.57, 2004-08-27 19:29:11-07:00, torvalds@ppc970.osdl.org Fix "insert_resource()" nesting bug It used to create totally impossible resource trees in some circumstances where it was asked to insert a conflicting resource. We never noticed, because it wasn't used that much. Make it return the proper error instead. ChangeSet@1.1837.1.55, 2004-08-27 19:13:44-07:00, viro@www.linux.org.uk [PATCH] arm Kconfig fixes ARM dependency and makefile fixes (ACKed by rmk) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.54, 2004-08-27 19:13:32-07:00, viro@www.linux.org.uk [PATCH] 64bit portability fixes (pointer-to-int stuff) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.53, 2004-08-27 19:13:20-07:00, viro@www.linux.org.uk [PATCH] 64bit cleanup in bt878 and btaudio ~0x0UL passed in u32 argument will do what the authors wanted, but it's a hell of a silly way to spell ~0U on 32bit boxen and it generates warnings on 64bit boxen (we get correct value after truncation, but compiler doesn't know that ;-) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.52, 2004-08-27 19:13:07-07:00, viro@www.linux.org.uk [PATCH] wf_midi check_region() removal Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.51, 2004-08-27 19:12:55-07:00, viro@www.linux.org.uk [PATCH] mpu401 check_region() removal mpu401 ports are claimed by callers now probe_mpu401() gets pointer to resulting struct resource callers updated, a bunch of check_region() calls eliminated Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.50, 2004-08-27 19:12:44-07:00, viro@www.linux.org.uk [PATCH] cmpci cleanup cmpci probing partially cleaned up in preparation to mpu401 fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.49, 2004-08-27 19:12:31-07:00, viro@www.linux.org.uk [PATCH] maui cleanup, fixes and check_region() removal probing cleaned up leaks on failure exits fixed ports handling mostly cleaned up (will be completed later, when we do mpu401) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.48, 2004-08-27 19:12:19-07:00, viro@www.linux.org.uk [PATCH] ad1848 check_region() removal * ports for ad1848 are now claimed by callers * ad1848_detect() gets pointer to struct resource in question * ad1848_init() gets the same pointer and consumes it * ports for mss are now claimed by callers (both config and ad1848 ones) * probe_ms_sound() gets pointer to ad1848 ports * attach_ms_sound() gets the same pointer and consumes both regions. * callers updated. That had killed a *lot* of check_region() and closed corresponding races. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.47, 2004-08-27 19:12:07-07:00, viro@www.linux.org.uk [PATCH] opl3 cleanup and check_region() removal Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.46, 2004-08-27 19:11:55-07:00, viro@www.linux.org.uk [PATCH] sgalaxy cleanup and check_region() removal probing cleaned up, handling of ports mostly fixed. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.45, 2004-08-27 19:11:42-07:00, viro@www.linux.org.uk [PATCH] pss cleanup, fixes and check_region() removal probing cleaned up, handling of ports mostly fixed. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.44, 2004-08-27 19:11:31-07:00, viro@www.linux.org.uk [PATCH] mad16 cleanup, fixes and check_region() removal * probing cleaned up * register ports claimed * handling of other ports mostly fixed (will be completed later in series) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.43, 2004-08-27 19:11:19-07:00, viro@www.linux.org.uk [PATCH] trix cleanup and check_region() removal probing cleaned up, claiming of ports mostly fixed (will be finished in ad1848 patch later in series) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.42, 2004-08-27 19:11:07-07:00, viro@www.linux.org.uk [PATCH] sscape cleanup, fixes and check_region() removal * general cleanup of probing code * claim codec ports * sizeof(char *) had been used instead of intended sizeof(char[4]); it even worked on x86... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.41, 2004-08-27 19:10:54-07:00, viro@www.linux.org.uk [PATCH] soundblaster check_region() removal moved request_region() to callers of sb_dsp_...() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.1.40, 2004-08-27 19:10:42-07:00, viro@www.linux.org.uk [PATCH] casts are not lvalues Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.28.4, 2004-08-27 18:55:48-07:00, davem@nuts.davemloft.net [CREDITS]: Update my entry. ChangeSet@1.1837.28.3, 2004-08-27 18:48:38-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1837.28.2, 2004-08-27 18:33:58-07:00, davem@nuts.davemloft.net [AMD7930]: Fix kcalloc() args. ChangeSet@1.1837.27.7, 2004-08-27 17:13:59-07:00, kaber@trash.net [NETLINK]: Remove duplicate declarations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller ChangeSet@1.1837.27.6, 2004-08-27 17:11:21-07:00, pablo@eurodev.net [NETLINK]: Improve behavior. Move sk->sk_data_ready() callback to a workqueue when possible. Makes app less likely to stall in sendmsg(). Signed-off-by: Pablo Neira Signed-off-by: David S. Miller ChangeSet@1.1837.1.39, 2004-08-28 10:05:33+10:00, airlied@starflyer.(none) Add some missing NULL->0 and __user annotiations Signed-off-by: Dave Airlie ChangeSet@1.1837.27.4, 2004-08-27 16:43:45-07:00, yoshfuji@linux-ipv6.org [NETFILTER]: Remove unused file. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller ' ChangeSet@1.1837.27.3, 2004-08-27 16:38:24-07:00, shemminger@osdl.org [PKT_SCHED]: Update for netem scheduler. This is a third revision of the netem extensions which provides * packet duplication * correlated random number * loading distribution table The API is backwards compatible and now uses nested elements to allow for easier future changes. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.27.2, 2004-08-27 16:35:06-07:00, haveblue@us.ibm.com [AF_PACKET]: Use void * for virtual addresses. I've been auditing code, cleaning up warning where code passes unsigned long's to functions and macros that really take pointers. Here's some explanation as to why I think these types were coded up this way originally: http://marc.theaimsgroup.com/?l=linux-mm&m=109155379124628&w=2 The attached patch make packet_opt->pg_vec a pointer to an array of char*'s instead of a pointer to an array of unsigned ChangeSet@1.1837.26.3, 2004-08-27 16:19:23-07:00, davem@nuts.davemloft.net [MAINTAINERS]: Update my email contact info. ChangeSet@1.1837.26.2, 2004-08-27 16:12:23-07:00, davem@nuts.davemloft.net [SPARC64]: Fix delay with HZ==1000. When I moved sparc64 over to HZ==1000 this added some problems to the udelay() handling. Specifically, with slower cpus we could now get underflows to zero for things like udelay(1) due to the order of multiplies and shifts. Fix this, and move it out to arch/sparc64/lib/delay.c so it is easier to tinker with this in the future and also to optimize away one of the multiplies for the constant delay case just like other platforms do. Signed-off-by: David S. Miller ChangeSet@1.1837.27.1, 2004-08-27 15:58:01-07:00, apm@brigitte.dna.fi [NETFILTER]: Consistent IP address access in arp_tables.c Use memcpy just like net/ipv4/arp.c does since these u32 values can be arbitrarily aligned and this is not exactly a hot code path. Signed-off-by: Antti P Miettinen Signed-off-by: David S. Miller ChangeSet@1.1837.1.38, 2004-08-27 14:55:01-07:00, armin@melware.de [PATCH] 2.6 ISDN CAPI: low-level drivers skb free fix CAPI skb freeing fix. On sending, the hardware/low-level driver may free a skb on no error only. The application/core side must take care otherwise. Author: Carsten Paeth, Armin Schindler ChangeSet@1.1837.1.37, 2004-08-27 14:37:00-07:00, wli@holomorphy.com [PATCH] fix PA-RISC fork_idle() sweep Whether a brainfart or a mismerge, I inadvertently broke PA-RISC during the fork_by_hand()/init_idle() consolidation. The following patch repairs a compilebug/thinko pair, consisting of the use of an undeclared variable cpunum, and not attempting fork_idle() until after the check for IS_ERR(idle) reported by James Bottomley. Signed-off-by: William Irwin Signed-off-by: Linus Torvalds ChangeSet@1.1837.26.1, 2004-08-27 13:45:44-07:00, davem@nuts.davemloft.net [UACCESS]: Fix typo in generic __get_user_unaligned(). Signed-off-by: David S. Miller ChangeSet@1.1837.1.36, 2004-08-27 13:24:18-07:00, torvalds@ppc970.osdl.org Merge http://linux-sound.bkbits.net/linux-sound into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1803.130.1, 2004-08-27 19:04:09+00:00, eranian@hpl.hp.com [IA64] perfmon.c: file descriptor fixes - fix pfm_free_fd() to clear current->files->fd[fd] in case of error during PFM_CONTEXT_CREATE, i.e., undo the effect of fd_install(). This could cause kernel panic if the file descriptor gets used by error through perfmon. - fix pfm_context_create() to correctly propagate the return value of pfm_alloc_fd(). signed-off-by: stephane eranian Signed-off-by: Tony Luck ChangeSet@1.1837.25.70, 2004-08-27 11:27:02-07:00, airlied@linux.ie [PATCH] drm: optimise i8x0 accesses.. This optimises the drm code to not do put_user() on memory the kernel allocated and then mmap-installed to userspace, but instead makes it use the kernel virtual address directly instead. From: Arjan van de Ven Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.69, 2004-08-27 11:24:08-07:00, airlied@linux.ie [PATCH] drm: missing bus_address assignment Patch from Tom Arbuckle for missing bus_address Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.68, 2004-08-27 10:49:37-07:00, schwidefsky@de.ibm.com [PATCH] s390: force_sigsegv name clash. The recent signal fix broke s390 because of a name clash. Rename the s390 arch function to do_sigsegv. Signed-off-by: Martin Schwidefsky Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.67, 2004-08-27 10:45:56-07:00, bunk@fs.tum.de [PATCH] really uninline lmc_trace As part of some gcc 3.4 fixes, someone removed the inline from the prototype of lmc_trace in lmc_debug.c, but the useless inline at the actual function remained. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.66, 2004-08-27 10:45:44-07:00, rusty@rustcorp.com.au [PATCH] Use Name cramfs in Kconfig Message A senior kernel hacker couldn't find the cramfs option. No wonder, the message doesn't mention cramfs at all. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.65, 2004-08-27 10:45:32-07:00, akpm@osdl.org [PATCH] copy_to_user checking in select.c Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.64, 2004-08-27 10:45:21-07:00, akpm@osdl.org [PATCH] must_check copy_to_user() Add __must_check tags to the x86 copy_*_user() functions. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.63, 2004-08-27 10:45:07-07:00, akpm@osdl.org [PATCH] Fix x86_64 vs select.c namespace clash fs/select.c:122:1: warning: "__IN" redefined In file included from include/linux/timex.h:61, from include/linux/sched.h:11, from include/linux/module.h:10, from fs/select.c:17: include/asm/io.h:70:1: warning: this is the location of the previous definition fs/select.c:123:1: warning: "__OUT" redefined include/asm/io.h:60:1: warning: this is the location of the previous definition Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.62, 2004-08-27 10:44:56-07:00, bjorn.helgaas@hp.com [PATCH] Fix hp100.c for pci_enable_device() changes Don't look at pci_resource_start() before pci_enable_device(). Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.61, 2004-08-27 10:44:42-07:00, bjorn.helgaas@hp.com [PATCH] revert ioc3-eth.c pci_enable_device() changes Revert addition of pci_enable_device(). It wasn't appropriate to this device, apparently. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.60, 2004-08-27 10:44:30-07:00, rsa@us.ibm.com [PATCH] HVCS hotplug fixes Here is an HVCS (drivers/char/hvcs.c) patch which fixes the hvcs driver problems with hotplugged vty-server adapters. The current driver handles the adapter index assignment improperly so after a number of device removals and insertions the driver could no longer map a tty->index to a vty-server properly and tty_open() attempts would fail. This patch solves this problem by always assigning the lowest available index to the new adapters and returning an index to the list when the adapter is removed. changelog: drivers/char/hvcs.c =================== -Added hvcs_index_list to manage the lowest available index. -Added four helper functions to manage the list, which include the creation and destruction of the list, the get'ing of the lowest index, and the returning of an index. -Moved free_irq() outside of the hvcs_final_close() function in order to get it out of the spinlock. -Rearranged hvcs_close() to accomodate the previous change. -Removed local CLC_LENGTH define and used HVCS_CLC_LENGTH from arch/ppc64/hvcserver.h instead. -Cleaned up some printks and did some house keeping on the changelog. Documentation/powerpc/hvcs.txt ============================== -Added information on sysfs 'index' attribute added in previous hvcs patch. -Added Q & A section on how to find the proper dev node for a newly added adapter. I think this is the last of the HVCS patches for a while, as all of my oustanding issues have been dealt with. Signed-off-by: Ryan S. Arnold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.59, 2004-08-27 10:44:17-07:00, yanmin.zhang@intel.com [PATCH] interrupt is enabled before it should be when kernel is booted There is a minor problem in function start_kernel. start_kernel will enable interrupt after calling profile_init. However, before that, function time_init on IA64 platform could enable interrupt. See this call sequence: start_kernel ->time_init ->ia64_init_itm ->register_time_interpolator ->write_seqlock_irq. Signed-off-by: Zhang Yanmin Signed-off-by: Yao Jun Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.58, 2004-08-27 10:44:05-07:00, tcallawa@redhat.com [PATCH] Fix typo in bw2.c Patch to fix typo in bw2.c, added in 2.6.9-rc1. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.57, 2004-08-27 10:43:52-07:00, tcallawa@redhat.com [PATCH] Keep sparc32 config consistent This patch changes the name of the sparc32 Kconfig menu from "General Setup" to "General Machine Setup", to match the changes committed to most other arches in 2.6.9-rc1. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.56, 2004-08-27 10:43:38-07:00, hch@lst.de [PATCH] ftape support for x86_64 We have this patch that adds ftape support for x86_64 and cleans up the alpha support a little. The comments look like Vojtech did the x86_64 part and I guess the alpha bits are from Herbert Xu. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.55, 2004-08-27 10:43:26-07:00, wli@holomorphy.com [PATCH] WAITQUEUE_DEBUG cleanup While trying out compiling of reiser4 on sparc64, ppc64, alpha, and ia64, I discovered that WAITQUEUE_DEBUG is nowhere defined in 2.6.x, and various compiler versions spew copious warnings at #if on it. Convert __SEMAPHORE_INITIALIZER() to C99 initializers while in the area. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.54, 2004-08-27 10:43:14-07:00, arun.sharma@intel.com [PATCH] Fix copying of unaligned data across user/kernel boundary 32 bit compatibility code sometimes needs to copy unaligned data across kernel/user boundary and currently there is no architecture independent API to do it. (1) Introduce new APIs __{get,put}_user_unaligned. These APIs are necessary because the optimal way to copy unaligned data across kernel/user boundary is different on different architectures. Some architectures don't even care about alignment. On some __put_user is faster than __copy_to_user for small sizes. (2) Optimize __{get,put}_user_unaligned for ia64, x86-64, s390, ppc64. (3) Fix compat_filldir64() which is broken on big-endian machines Thanks to Arnd Bergmann for his help. Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.53, 2004-08-27 10:43:02-07:00, bjorn.helgaas@hp.com [PATCH] dvb pci_enable_device() fix Call pci_enable_device() before looking at pci_dev. Also, call pci_disable_device() when releasing the device. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.52, 2004-08-27 10:42:51-07:00, tim@physik3.uni-rostock.de [PATCH] make oom killer points unsigned long It seems a little unsafe to me to have oom killer badness points of type int, when all the underlying objects are unsigned long. I can't immediately think of a case where this matters much, but e.g. a long-running job or daemon on a 64 bit machine might lose it's bonus because of that. Signed-off-by: Tim Schmielau Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.51, 2004-08-27 10:42:39-07:00, Valdis.Kletnieks@vt.edu [PATCH] #ifdef cleanups in drivers/net Here's the last of them for 2.6.9-rc1 - two more #if/#ifdef cleanups. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.50, 2004-08-27 10:42:27-07:00, Valdis.Kletnieks@vt.edu [PATCH] #ifdef cleanup for PPC Another few #if/#ifdef cleanups, this time for the PPC architecture. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.49, 2004-08-27 10:42:14-07:00, Valdis.Kletnieks@vt.edu [PATCH] #ifdef cleanup for cris port Another small #if/#ifdef cleanup, to make things safer for compiling with -Wundef Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.48, 2004-08-27 10:42:02-07:00, Valdis.Kletnieks@vt.edu [PATCH] #ifdef cleanup for sh64 Another small cleanup patch for #if/#ifdef usage. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.47, 2004-08-27 10:41:50-07:00, Valdis.Kletnieks@vt.edu [PATCH] #ifdef fixes for drivers/isdn/hifax/* This patch changes a bunch of '#if CONFIG_PCI' to '#ifdef' instead, to make the kernel source cleaner for compiling with 'gcc -Wundef'. Signed-off-by: Karsten keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.46, 2004-08-27 10:41:38-07:00, thoss@de.ibm.com [PATCH] s390: qeth network driver qeth network driver change: - Make qeth devices which are present but not up addressable by snmp ioctls. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.45, 2004-08-27 10:41:26-07:00, peter.oberparleiter@de.ibm.com [PATCH] s390: sclp driver changes sclp driver changes: - Add reboot notifier to reset the sclp send/receive masks on shutdown. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.44, 2004-08-27 10:41:10-07:00, thoss@de.ibm.com [PATCH] s390: common i/o layer common i/o layer change: - Correct check in qdio_stop_polling to avoid loosing initiative on the qdio inbound queue. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.43, 2004-08-27 10:37:58-07:00, pavlic@de.ibm.com [PATCH] s390: lcs network driver lcs network driver changes: - Allocate the reply structure instead of taking it from the stack. - Use del_timer_sync instead of del_timer. - Clean up helper threads creation/shutdown. - Split lcs_register_mc_addresses to make it readable again. - Free multicast list entries when device is going down. - Retransmit multicast list in device recovery. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.42, 2004-08-27 10:37:46-07:00, thor@math.TU-Berlin.DE [PATCH] parport: NetMOS 9805 interface Add support for netmos devices to the parallel port driver. NetMOS 9805 support is already in the kernel, this patch adds the support for the missing 9735,9855,9755 and 9715 chips. And another remark: The 9735 and 9835 seem to be chips with serial *and* parallel interfaces, so I suppose they are already claimed somewhere in the serial driver. I don't know whether this causes any problems. I'm sorry that I can't test, I've only a 9805 here. Any idea how these "dual" chips have to be handled by the kernel? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.41, 2004-08-27 10:37:36-07:00, torben.mathiasen@hp.com [PATCH] LANANA: devices.txt update Patch brings devices.txt up-to-date with LANANA. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.40, 2004-08-27 10:37:24-07:00, torben.mathiasen@hp.com [PATCH] LANANA: maintainer update I took over LANANA maintainership from John Cagle. Patch updates MAINTAINERS accordingly. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.39, 2004-08-27 10:37:13-07:00, akpm@osdl.org [PATCH] sane mlock_limit As David M-T points out, the default per-user mlock limit should be at least a single page. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.38, 2004-08-27 10:37:01-07:00, wli@holomorphy.com [PATCH] Unaccount VM_DONTCOPY vmas properly Unaccount VM_DONTCOPY vmas properly; the child inherits the whole of the parent's virtual accounting from the memcpy() in copy_mm(), but the VM_DONTCOPY check here is where a decision is made for the child not to inherit the vmas corresponding to some accounted memory usages. Hence, unaccount them when skipping over them here. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.37, 2004-08-27 10:36:49-07:00, wli@holomorphy.com [PATCH] /proc/pid/statm accounting fixes Account reserved memory properly as per acahalan's speecified semantics. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.36, 2004-08-27 10:36:38-07:00, wli@holomorphy.com [PATCH] speed up /proc/pid/statm for !CONFIG_PROC_FS Remove the accounting overhead when CONFIG_PROC_FS is not defined. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.35, 2004-08-27 10:36:27-07:00, wli@holomorphy.com [PATCH] fix text reporting in O(1) proc_pid_statm() Some kind of brainfart happened here, though it's not visible on the default display from top(1) etc. This patch fixes up the gibberish I mistakenly put down for text with the proper text size, and subtracts it from data as per the O(vmas) code beforehand. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.34, 2004-08-27 10:36:15-07:00, wli@holomorphy.com [PATCH] O(1) proc_pid_statm() Merely removing down_read(&mm->mmap_sem) from task_vsize() is too half-assed to let stand. The following patch removes the vma iteration as well as the down_read(&mm->mmap_sem) from both task_mem() and task_statm() and callers for the CONFIG_MMU=y case in favor of accounting the various stats reported at the times of vma creation, destruction, and modification. Unlike the 2.4.x patches of the same name, this has no per-pte-modification overhead whatsoever. This patch quashes end user complaints of top(1) being slow as well as kernel hacker complaints of per-pte accounting overhead simultaneously. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.33, 2004-08-27 10:36:03-07:00, wli@holomorphy.com [PATCH] task_vsize() locking cleanup task_vsize() doesn't need mm->mmap_sem for the CONFIG_MMU case; the semaphore doesn't prevent mm->total_vm from going stale or getting inconsistent with other numbers regardless. Also, KSTK_EIP() and KSTK_ESP() don't want or need protection from mm->mmap_sem either. So this pushes mm->mmap_sem to task_vsize() in the CONFIG_MMU=n task_vsize(). Also, hoist the prototype of task_vsize() into proc_fs.h The net result of this is a small speedup of procps for CONFIG_MMU. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.32, 2004-08-27 10:35:51-07:00, haveblue@us.ibm.com [PATCH] include asm/page.h for virt_to_page() asm/page.h seems to be the accepted place to declare virt_to_page() on a vast majority of architectures. This patch makes sure that a few files which use that function also directly include the header. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.31, 2004-08-27 10:35:39-07:00, haveblue@us.ibm.com [PATCH] don't align virt_to_page() args __pa() is always be consistent inside of a single page. The next thing virt_to_page() does after that is shift down the address, killing the bits that __change_page_attr() just masked off. Remove the superfluous masking. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.30, 2004-08-27 10:35:26-07:00, haveblue@us.ibm.com [PATCH] vmalloc_fault() cleanup Store the physical pgd address in a different variable than the virtual address. There's no real reason to only use 1 variable here, other than saving a line of code. But, the types really are different and we might as well just spell that out explicitly. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.29, 2004-08-27 10:35:14-07:00, haveblue@us.ibm.com [PATCH] call virt_to_page() with void*, not UL I'm sure there's a good reason for these functions to take virtual addresses as unsigned longs, so suppress the warnings and cast them to the proper types before calling the virt/phys conversion functions A perfectly acceptable alternative would be to go and change free_pages() to stop taking unsigned longs for virtual addresses, but this has a much smaller impact. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.28, 2004-08-27 10:35:03-07:00, haveblue@us.ibm.com [PATCH] cast PAGE_OFFSET math to void* in early printk __pa() should take a void*. This adds the proper cast. Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.27, 2004-08-27 10:34:51-07:00, haveblue@us.ibm.com [PATCH] reduce casting in sysenter.c Ran across this because it's another place where an unsigned long is passed directly to __pa(). Making the "page" variable a void* seems a bit more natural than an unsigned long and reduces the net number of casts by 1. Without it, we probably need another (void *) cast in the __pa() call. For more explanation as to why this was probably done originally, see this post: http://marc.theaimsgroup.com/?l=linux-mm&m=109155379124628&w=2 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.26, 2004-08-27 10:34:40-07:00, drzeus-list@drzeus.cx [PATCH] Split timer resources The kernel currently allocates the range 0x40-0x5f for timer calls. This causes conflicts with other hardware using these ports (In my case a Winbond W83L519D SD/MMC card reader). This patch splits the resource into the ports actually needed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.25, 2004-08-27 10:34:28-07:00, levon@movementarian.org [PATCH] improve OProfile on many-way systems Anton prompted me to get this patch merged. It changes the core buffer sync algorithm of OProfile to avoid global locks wherever possible. Anton tested an earlier version of this patch with some success. I've lightly tested this applied against 2.6.8.1-mm3 on my two-way machine. The changes also have the happy side-effect of losing less samples after munmap operations, and removing the blind spot of tasks exiting inside the kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.24, 2004-08-27 10:34:16-07:00, akpm@osdl.org [PATCH] copy_mount_options size fix davem says that copy_mount_options is failing in obscure ways if the architecture's copy_from_user() doesn't return an exact count of the number of uncopied bytes. Fixing that up in each architecture is a pain - it involves falling back to byte-at-a-time copies. It's simple to open-code this in namespace.c. If we find other places in the kernel which care about this we can promote this to a global function. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.23, 2004-08-27 10:34:04-07:00, roland@redhat.com [PATCH] fix MT reparenting when thread group leader dies When the initial thread in a multi-threaded program dies (the thread group leader), its child processes are wrongly orphaned, and thereafter when other threads die their child processes are also orphaned even though live threads remain in the parent process that can call wait. I have a small (under 100 lines), POSIX-compliant test program that demonstrates this using -lpthread (NPTL) if anyone is interested in seeing it. The bug is that forget_original_parent moves children to the dead parent's group leader if it's alive, but if not it orphans them. I've changed it so it instead reparents children to any other live thread in the dead parent's group (not even preferring the group leader). Children go to init only if there are no live threads in the parent's group at all. These are the correct semantics for fork children of POSIX threads. The second part of the change is to do the CLONE_PARENT behavior always for CLONE_THREAD, i.e. make sure that each new thread's parent link points to the real parent of the process and never another thread in its own group. Without this, when the group leader dies leaving a sole live thread in the group, forget_original_parent will try to reparent that thread to itself because it's a child of the dying group leader. Rather handling this case specially to reparent to the group leader's parent instead, it's more efficient just to make sure that noone ever has a parent link to inside his own thread group. Now the reparenting work never needs to be done for threads created in the same group when their creator thread dies. The only change from losing the who-created-whom information is when you look at "PPid:" in /proc/PID/task/TID/status. For purposes of all direct system calls, it was already as if CLONE_THREAD threads had the parent of the group leader. (POSIX provides no way to keep track of which thread created which other thread with pthread_create.) Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.22, 2004-08-27 10:33:53-07:00, rusty@rustcorp.com.au [PATCH] mostly remove module_parm() MODULE_PARM() was marked obsolete. Remove it from everything except drivers/ and arch/. Naturally, such a widespread change may introduce bugs for some of the non-trivial cases, and where in doubt I used "0" as permissions arg (ie. won't appear in sysfs). Individual authors should think about whether that would be useful. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.21, 2004-08-27 10:33:41-07:00, jeffm@suse.com [PATCH] dnotify + autofs may create signal/restart syscall loop I saw a recent bug report that showed when a process set up a dnotify against the autofs root and then attempted an access(2) call inside the autofs namespace on a mount that would fail, it would create a signal/restart loop. The cause is that the autofs code checks to see if any signals are pending after it waits on a response from the autofs daemon. If it finds any, it assumes that autofs_wait was interrupted, and that it should return -ERESTARTNOINTR. The problem with this is that a signal_pending(current) check will return true if *any* signals were received, not just if a signal that interrupted the wait was received. autofs_wait explicitly blocks all signals except for SIGKILL, SIGQUIT, and SIGINT before calling interruptible_sleep_on. The effect is that if a dnotify is set against the autofs root, when the autofs daemon creates the directory, a dnotify event will be sent to the originating process. Since the code in autofs_root_lookup doesn't check to see what signals are actually pending, it bails early, telling the caller to try again. The loop goes on forever until interrupted via one of the actual interrupting signals. The following patch makes both autofs_root_lookup and autofs4_root_lookup verify that one of its defined "shutdown" signals are pending before bailing out early. Any other signal should be delivered later, as expected. It doesn't matter if the signal occured outside of the sleep in autofs_wait. The calling process will either go away or try again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.20, 2004-08-27 10:33:30-07:00, hugh@veritas.com [PATCH] tmpfs atomicity fix tmpfs must use __copy_from_user_inatomic now, to avoid might_sleep warning, when knowingly using __copy_from_user with an atomic kmap. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.19, 2004-08-27 10:33:18-07:00, mingo@redhat.com [PATCH] Add a few might_sleep() checks Add a whole bunch more might_sleep() checks. We also enable might_sleep() checking in copy_*_user(). This was non-trivial because of the "copy_*_user() in atomic regions" trick would generate false positives. Fix that up by adding a new __copy_*_user_inatomic(), which avoids the might_sleep() check. Only i386 is supported in this patch. With: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.18, 2004-08-27 10:33:05-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: clean up unused macro After the recent SLB and STAB cleanups, the ppc64 KERNEL_CONTEXT() macro is no longer used anywhere. This patch removes it. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.17, 2004-08-27 10:32:53-07:00, galak@somerset.sps.mot.com [PATCH] ppc32: refactor common Book-E exception handling macros Refefactor common Book-E exception handling macros into a single file to reduce code duplication. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.16, 2004-08-27 10:32:41-07:00, anton@samba.org [PATCH] reduce size of struct inode on 64bit Reduce the size of struct inode on 64bit architectures by reducing padding. This assumes spinlocks are 32bit or less which is the case on most architectures. This reduces inode structs by 24 bytes on ppc64, and on ext2 increases the number of inodes in a 4kB slab from 5 to 6. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.15, 2004-08-27 10:32:29-07:00, akpm@osdl.org [PATCH] [un]register_ioctl32_conversion() stubs The megaraid driver is calling these, but they don't exist if !CONFIG_COMPAT. Add the necessary stubs, and clean a few things up. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.14, 2004-08-27 10:32:18-07:00, wli@holomorphy.com [PATCH] ppc64: remove iseries profiling From: Anton Blanchard - Remove iseries specific profiling, there were no complaints when I suggested removal on the linuxppc64 list a few weeks ago. - Also remove another instance of that pesky abs() function. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.13, 2004-08-27 10:32:06-07:00, wli@holomorphy.com [PATCH] make prof_buffer atomic_t Convert prof_buffer to an array of atomic_t instead of sometimes atomic_t, sometimes unsigned int. Also, bootmem rounds up internally, so blow away some crap code there. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.12, 2004-08-27 10:31:54-07:00, wli@holomorphy.com [PATCH] make private profile state static Make the various bits of state no longer used anywhere else static to kernel/profile.c Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.11, 2004-08-27 10:31:44-07:00, wli@holomorphy.com [PATCH] move profile_operations proc_misc.c is a trainwreck. Move the file_operations for /proc/profile into kernel/profile.c and call the profiling setup via initcall. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.10, 2004-08-27 10:31:33-07:00, wli@holomorphy.com [PATCH] consolidate hit count increments in profile_tick() With prof_cpu_mask and profile_pc() in hand, the core is now able to perform all the profile accounting work on behalf of arches. Consolidate the profile accounting and convert all arches to call the core function. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.9, 2004-08-27 10:31:20-07:00, wli@holomorphy.com [PATCH] introduce profile_pc() The program counter calculation from pt_regs is the only portion of profile accounting that differs across various architectures. This is usually instruction_pointer(regs), but to handle the few arches where it isn't, introduce profile_pc(). Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.8, 2004-08-27 10:31:08-07:00, wli@holomorphy.com [PATCH] consolidate prof_cpu_mask Handling of prof_cpu_mask is grossly inconsistent. Some arches have it as a cpumask_t, others unsigned long, and even within arches it's treated inconsistently. This makes it cpumask_t across the board, and consolidates the handling in kernel/profile.c Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.7, 2004-08-27 10:30:55-07:00, arjanv@redhat.com [PATCH] schedule profileing From: William Lee Irwin III The patch (from Ingo) below is quite interesting, it allows the use of readprofile not for statistical tine sampling, but for seeing where calls to schedule() come from, so it can give some insight to the "where do my context switches come from" question. Boot with `profile=schedul2' to activate this feature. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.6, 2004-08-27 10:30:43-07:00, rusty@rustcorp.com.au [PATCH] Hotplug CPU vs TASK_ZOMBIEs: The Sequel to Hotplug CPU vs TASK_DEAD release_task can sleep. Sleeping allows a CPU to go down underneath you. release_task removes you from the tasklist, so you don't get migrated off the CPU: BUG() in sched.c. In last week's episode, our dashing hero (Ingo Molnar) solved this for self-reaping tasks by grabbing the hotplug cpu lock to prevent this. However, in an unexpected twist, the problem remains for tasks whose parents call release_task on them: the zombies are off the task list, and lurk on the dead CPU. Fortunately, the comedic sidekick (Rusty Russell) has an answer: let's make the hotplug callback walk the runqueue of the dead CPU as well, taking care of the zombies. 1) Restore exit.c to its former form. The comment is incorrect: sched.c checks PF_DEAD, not the state, to decide to do the final put_task_struct(), and it does it for all tasks, self-reaping or no. 2) Implement migrate_dead_tasks() in the sched.c hotplug CPU callback. 3) Rename migrate_all_tasks() to migrate_live_tasks(). Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.5, 2004-08-27 10:30:32-07:00, rusty@rustcorp.com.au [PATCH] Fix CPU Hotplug: neaten migrate_all_tasks. A followup patch wants to do forced migration, so separate that part of the code out of migrate_all_tasks(). Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.4, 2004-08-27 10:30:20-07:00, neilb@cse.unsw.edu.au [PATCH] md: fix problems with checksum handling in MD superblocks. md currently uses csum_partial to calculate checksums for superblocks. However this function is not consistent across all architectures. Some (i386) to a 32bit csum. Some (alpha) do a 16 bit csum. This makes it hard for userspace to keep up. So we provide a generic routine (that does exactly what the i386 csum_partial does) and: - When setting the csum, use csum_partial so that old kernels will still recognise the superblock - When checking the csum, allow either csum_partial or the new generic code to provide the right csum. This allows user-space to just use the common code and always work. Also modify the csum for version-1 superblock (which currently aren't being used) to always user a predictable checksum algorithm. Thanks to Mike Tran for noticing this. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.3, 2004-08-27 10:30:08-07:00, jbarnes@engr.sgi.com [PATCH] fix sysrq support in sn_console.c In porting the sn_console driver to the serial core, we lost sysrq support. This patch fixes it and removes a few unncessary #ifdefs. Can you please send it on to Linus asap? sysrq is a *really* nice thing to have. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.2, 2004-08-27 10:29:57-07:00, jbarnes@engr.sgi.com [PATCH] fix show_mem on discontig machines Dave Hansen recently did some bootmem and paging init cleanups, but I missed this little bit when I tested his original patches. We need to initialize pgdat->node_mem_map correctly since a) we're using vmem_map, and b) the core won't do it for us since we have a valid node_start_pfn I believe. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.25.1, 2004-08-27 10:29:45-07:00, neilb@cse.unsw.edu.au [PATCH] Use fixed size buffer instead of kmalloc for m_class in ip_map This avoids lots of bothersome memory management and is generally cleaner. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.24.1, 2004-08-28 01:35:09+09:00, kazunori@miyazawa.org [IPV6] XFRM: extract xfrm_lookup() from ip6_dst_lookup() to support source routing appropriately. This patch extracts xfrm_lookup() from ip6_dst_lookup() to support source routing appropriately. This is because xfrm_lookup() should be performed with the final destination while ip6_dst_lookup() is called with the next-hop. Signed-off-by: Kazunori Miyazawa Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1837.23.2, 2004-08-27 12:02:41-04:00, akpm@osdl.org [PATCH] ipr.c build fix Greg's tree changes the kref API. James's tree adds usage of the old API. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.23.1, 2004-08-27 11:36:48-04:00, jejb@mulgrave.(none) Merge mulgrave.(none):/home/jejb/BK/linux-2.5 into mulgrave.(none):/home/jejb/BK/scsi-misc-2.6 ChangeSet@1.1837.1.33, 2004-08-27 20:41:32+10:00, airlied@starflyer.(none) remove __NO_VERSION__ relic from the past... ChangeSet@1.1837.1.32, 2004-08-27 19:42:30+10:00, airlied@starflyer.(none) Add new i915 driver from Tungsten Graphics Inc. This driver covers the i830 chipsets also, a new X 2D + 3D driver are needed to use this but they have been integrated into at least the X.org tree at this point and I think the XFree86 tree. There are probably a few cleanups necessary for this driver. From: Keith Whitwell Signed-off-by: Dave Airlie ChangeSet@1.1837.17.13, 2004-08-27 17:26:27+10:00, nathans@sgi.com [XFS] Fix compiler warnings on IA64 builds in ioctl compat code. SGI Modid: xfs-linux:xfs-kern:177850a Signed-off-by: Nathan Scott ChangeSet@1.1837.17.12, 2004-08-27 17:21:43+10:00, hch@sgi.com [XFS] Fix O_SYNC flushing in XFS which regressed with concurrent O_SYNC write improvements recently. Signed-off-by: Nathan Scott ChangeSet@1.1837.17.11, 2004-08-27 17:18:20+10:00, hch@sgi.com [XFS] Rework parts of the write path so that when a direct write needs to fallback to buffered in the generic code, we are able to relock the XFS inode correctly. Signed-off-by: Nathan Scott ChangeSet@1.1837.17.10, 2004-08-27 16:31:33+10:00, hch@sgi.com [XFS] Export sync_page_range to fix O_SYNC in XFS. Signed-off-by: Nathan Scott ChangeSet@1.1837.17.9, 2004-08-27 15:58:55+10:00, nathans@sgi.com [XFS] Ensure maxagi not updated early during growfs, conflicts with concurrent inode allocations. Fix from ASANO Masahiro. SGI Modid: xfs-linux:xfs-kern:177699a Signed-off-by: Nathan Scott ChangeSet@1.1837.17.8, 2004-08-27 15:55:37+10:00, hch@sgi.com [XFS] Fix warnings in xfs_bmap.c SGI Modid: xfs-linux:xfs-kern:177663a Signed-off-by: Nathan Scott ChangeSet@1.1837.17.7, 2004-08-27 15:48:54+10:00, nathans@sgi.com [XFS] Support for default quota limits via the zero dquot (ala grace times). SGI Modid: xfs-linux:xfs-kern:177627a Signed-off-by: Nathan Scott ChangeSet@1.1837.17.6, 2004-08-27 15:45:09+10:00, roehrich@sgi.com [XFS] Change DMAPI dm_punch_hole to punch holes, rather than just truncate files. SGI Modid: xfs-linux:xfs-kern:177585a Signed-off-by: Nathan Scott ChangeSet@1.1850, 2004-08-26 23:51:23-05:00, stevef@smfhome.smfdom [CIFS] Update cifs change log ChangeSet@1.1849, 2004-08-26 23:47:07-05:00, stevef@smfhome.smfdom [CIFS] Various fixes to bugs pointed out by Stanford checker SWAT tool (mostly missing checks on small kmallocs and some out of order null pointer checks) Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1837.1.29, 2004-08-26 21:23:36-07:00, davem@nuts.davemloft.net [SPARC64]: Speed up ffb font rendering. Render left to right instead of top to bottom. This shaved a whole second off the: time cat MAINTAINERS benchmark. Signed-off-by: David S. Miller ChangeSet@1.1837.1.28, 2004-08-26 17:53:38-07:00, davem@nuts.davemloft.net [SPARC64]: Fix copyarea bug and set default flags in ffb driver. - copyarea checking of src/dst y being equal was buggy. - set optimal FBINFO flags for this device. Signed-off-by: David S. Miller ChangeSet@1.1837.1.27, 2004-08-26 17:51:19-07:00, davem@nuts.davemloft.net [SPARC64]: Sign extend correct args of sys_syslog(). ChangeSet@1.1837.17.4, 2004-08-26 16:59:41-07:00, torvalds@ppc970.osdl.org Merge http://lia64.bkbits.net/linux-ia64-release-2.6.9 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.20.1, 2004-08-26 16:29:22-07:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/usb-2.6 ChangeSet@1.1837.6.32, 2004-08-26 16:04:56-07:00, david-b@pacbell.net [PATCH] USB: gadgetfs minor updates Gadgetfs updates: - Resolve a problem that came from a change in the API to AIO: kiocb->private type and size changed, but the name remained the same ... so GCC wouldn't report pending memory-corruption. - Probe the controller at runtime, eliminatingting config-specific defines which need to be updated for each new controller. Rip out the old #defines. - Use newish APIs to let VBUS current be used to recharge batteries (or whatever). - Use no_llseek() ... endpoints are pure data streams. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.31, 2004-08-26 15:56:59-07:00, oliver@neukum.org [PATCH] USB: cdc acm patch Fix tty layer sleep/locking problem (again) ... when this is called through the network stack (PPP) sleeping isn't allowed. There's some bugtraq ID for this. From: Oliver Neukum Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.9.10, 2004-08-26 18:42:38-04:00, jejb@mulgrave.(none) fix dma mapping leak in fusion From: Moore, Eric Dean Remove the internal queueing so that commands aren't stored in the driver and thus it doesn't have to worry about whether the IOMMU resources are allocated or not. Signed-off-by: James Bottomley ChangeSet@1.1837.1.26, 2004-08-26 15:39:07-07:00, davem@nuts.davemloft.net [SUNSAB]: Remove CRTSCTS handling in set_termios. Higher layers call set_mctrl if necessary. Signed-off-by: David S. Miller ChangeSet@1.1837.9.9, 2004-08-26 18:22:07-04:00, jejb@mulgrave.(none) Update megaraid to version 2.20.3.1 From: Mukker, Atul i. Function reordering so that inline functions are defined before they are actually used. It is now mandatory for GCC 3.4.1 (current stable) Declare some heavy-weight functions to be non-inlined, megaraid_mbox_build_cmd, megaraid_mbox_runpendq, megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru, megaraid_busywait_mbox - Andrew Morton , 08.19.2004 linux-scsi mailing list "Something else to clean up after inclusion: every instance of an inline function is actually rendered as a full function call, because the function is always used before it is defined. Atul, please re-arrange the code to eliminate the need for most (all) of the function prototypes at the top of each file, and define (not just declare with a prototype) each inline function before its first use" - Matt Domsch , 07.27.2004 linux-scsi mailing list ii. Display elapsed time (countdown) while waiting for FW to boot. iii. Module compilation reorder in Makefile so that unresolved symbols do not occur when driver is compiled non-modular. Patrick J. LoPresti , 8.22.2004 linux-scsi mailing list Signed-off-by: James Bottomley ChangeSet@1.1847, 2004-08-26 16:57:58-05:00, stevef@stevef95.austin.ibm.com [CIFS] misc kmalloc and kernel_thread failure checks Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1837.1.25, 2004-08-26 14:37:42-07:00, davem@nuts.davemloft.net [SPARC64]: Fix some tabbing in xor.S ChangeSet@1.1837.19.1, 2004-08-26 22:35:02+01:00, rmk@flint.arm.linux.org.uk [ARM] signal handling fixes Patch from: Linus Torvalds Update ARM signal handling for Andrew's series of fixes. ChangeSet@1.1837.1.24, 2004-08-26 14:34:43-07:00, davem@nuts.davemloft.net [SPARC64]: Add .type and .size directives to some asm files. Signed-off-by: David S. Miller ChangeSet@1.1846, 2004-08-26 16:04:14-05:00, stevef@stevef95.austin.ibm.com [CIFS] cifs ipv6 part 3 Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1837.18.2, 2004-08-26 13:56:08-07:00, shemminger@osdl.org [TCP]: Automatically compute tcp_default_win_scale. This patch gets rid of the tcp_default_win_scale sysctl and instead computes the optimum maximum window scale. It just means one less thing to have to tune. I also moved the code out of the inline because it gets called three places and isn't in the critical path. As a side effect, it will cause a smaller window scale for many people since the default tcp_rmem fits in a win_scale of 2. This is allows for finer grain windows (good), but may mask some of the problems with bad implementations we have already seen (bad). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.18.1, 2004-08-26 13:54:11-07:00, okir@suse.de [NETFILTER]: Fix pointer deref'ing in ip6t_LOG.c Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller ChangeSet@1.1837.17.2, 2004-08-26 21:20:43+02:00, sam@mars.ravnborg.org kbuild: use *.lds infrastructure in arch/i386/kernel Rusty decided to preprocess a *.lds.S file in parallele with the new *.lds infrastructure being added to kbuild. Fix that up. Also added the file to targets so we do not see recompile each time the kernel is build. Signed-off-by: Sam Ravnborg ChangeSet@1.1837.17.1, 2004-08-26 21:13:39+02:00, sam@mars.ravnborg.org kbuild: Fix make O= A bug that slipped through when introducing Makefile.host. A good way to check if people actually uses make O= ;-) Signed-off-by: Sam Ravnborg ChangeSet@1.1837.16.16, 2004-08-26 08:25:47-07:00, benh@kernel.crashing.org [PATCH] ppc32: Improve workaround for 74xx CPUs with broken BTIC The previous workaround didn't enable the BTIC bit on CPUs where it is broken. However, it seems some firmwares will unconditionally set it, so this new patch will actually _clear_ it on CPUs where it is broken. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.15, 2004-08-26 08:25:36-07:00, benh@kernel.crashing.org [PATCH] ppc32: properly export some pcibios_* functions Recent yenta_socket (and maybe others) rely on some pcibios_* functions to be available to modules. This exports them. ChangeSet@1.1837.16.14, 2004-08-26 08:25:26-07:00, benh@kernel.crashing.org [PATCH] ppc32: PowerMac trackpad problems The trackpad on recent Apple laptops tend to emmit spurrious 'right clicks' apparently. This patch from Alex Clausen fixes it, please apply. The trackpad cannot normally emit a right click, so just filter those out. Signed-off-by: Alexander Clausen Signed-off-by: Michael Schmitz Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.13, 2004-08-26 08:14:42-07:00, viro@www.linux.org.uk [PATCH] preprocessor mess in msnd msnd #defined outb to outb_p, which wasn't a good idea on platforms that had outb_p #defined to outb ;-) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.12, 2004-08-26 08:14:30-07:00, viro@www.linux.org.uk [PATCH] check_region() removal in waveartist Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.11, 2004-08-26 08:14:18-07:00, viro@www.linux.org.uk [PATCH] more size_t portability fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.10, 2004-08-26 08:14:06-07:00, viro@www.linux.org.uk [PATCH] signed char fixes in qd65xx qd65xx assumed that char is always signed Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.9, 2004-08-26 08:13:55-07:00, viro@www.linux.org.uk [PATCH] any2_scsi() cleaned up Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.8, 2004-08-26 08:13:43-07:00, viro@www.linux.org.uk [PATCH] check_region() removal in fdomain.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.7, 2004-08-26 08:13:31-07:00, viro@www.linux.org.uk [PATCH] check_region() removal in tc/zs.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.6, 2004-08-26 08:13:20-07:00, viro@www.linux.org.uk [PATCH] bad names of local-in-macros in arm io.h "v" and "r" are not good names for variables local in macro... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.5, 2004-08-26 08:13:08-07:00, viro@www.linux.org.uk [PATCH] missing include of config.h in asm-alpha/page.h That was a nasty one - missing include of config.h in a file that has non-trivial ifdefs. With some configs it ended up with very odd conflicts (we get included early, take the wrong branch of ifdef, then get another file included, it pulls in config.h and picks the right branch of its ifdef; surprise, surprise, they conflict). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.4, 2004-08-26 08:12:57-07:00, viro@www.linux.org.uk [PATCH] missing export of memchr on arm arm forgot to export memchr(); everybody else does export it and it's used in modules. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.3, 2004-08-26 08:12:45-07:00, viro@www.linux.org.uk [PATCH] NULL noise removal Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.16.2, 2004-08-26 08:12:33-07:00, viro@www.linux.org.uk [PATCH] mpoa warning fix Forgot to switch return type from ssize_t to int when switching to seq_file Signed-off-by: Al Viro Signed-off-by: Linus Torvalds ChangeSet@1.1837.9.8, 2004-08-26 10:59:18-04:00, akpm@osdl.org [PATCH] sym_requeue_awaiting_cmds() warning fix drivers/scsi/sym53c8xx_2/sym_glue.c: In function `sym_requeue_awaiting_cmds': drivers/scsi/sym53c8xx_2/sym_glue.c:671: warning: 'cmd' is used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.9.7, 2004-08-26 10:56:26-04:00, hch@lst.de [PATCH] mesh is ppc32-only mesh is only present on older 32bit pmac boards and doesn't compile on ppc64. Signed-off-by: James Bottomley ChangeSet@1.1837.9.6, 2004-08-26 10:51:04-04:00, jejb@mulgrave.(none) BKL removal for EH thread startup From: Christoph Hellwig We don't need the BKL anymore for thread startup. Patch rejections fixed up and Signed-off-by: James Bottomley ChangeSet@1.1837.9.5, 2004-08-26 10:32:52-04:00, hch@lst.de [PATCH] update scsi_eh_get_sense commentary Signed-off-by: James Bottomley ChangeSet@1.1837.15.2, 2004-08-26 16:12:16+02:00, perex@suse.cz Merge suse.cz:/home/perex/bk/linux-sound/linux-2.5 into suse.cz:/home/perex/bk/linux-sound/linux-sound ChangeSet@1.1837.11.28, 2004-08-26 12:39:44+02:00, perex@suse.cz ALSA CVS update ATIIXP-modem driver Added workaround for buggy BIOS Force to set MODEM_PRESENT bit for some buggy BIOS which don't set this bit. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.27, 2004-08-26 12:38:23+02:00, perex@suse.cz ALSA CVS update ICE1724 driver Fixed the internal clock control. This fixes a bug that SPDIF-in mode can't be reset once after it's set. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.26, 2004-08-26 12:37:01+02:00, perex@suse.cz ALSA CVS update ICE1712 driver Pontis board: Misc fixes - buggy SPI communcation is fixed - fixed the return value of put callbacks of GPIO controls - corrected the initial register value of CS8416 Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.25, 2004-08-26 12:35:42+02:00, perex@suse.cz ALSA CVS update VIA82xx driver Disable legacy FM and SB to prevent lock-ups. Signed-off-by: Takashi Iwai ChangeSet@1.1837.1.22, 2004-08-25 23:53:13-07:00, davem@nuts.davemloft.net [SPARC64]: Fix direct f_pos fiddling in openpromfs. Signed-off-by: David S. Miller ChangeSet@1.1837.1.21, 2004-08-25 23:17:26-07:00, davem@nuts.davemloft.net [SPARC64]: Hack fix, force DTR/RTS on in sunsab console. ChangeSet@1.1837.1.20, 2004-08-25 22:52:34-07:00, davem@nuts.davemloft.net [SPARC64]: Use force_{sig,sigsegv}() in sparc signal handling. Signed-off-by: David S. Miller ChangeSet@1.1837.1.19, 2004-08-25 21:28:31-07:00, davem@nuts.davemloft.net [SPARC64]: Update defconfig. ChangeSet@1.1837.15.1, 2004-08-25 21:31:10-07:00, torvalds@ppc970.osdl.org Revert I2C keywest class fixup Benh says: "Please revert that for now, I need to figure out what they were exactly trying to do and will come up with something if it makes sense but the patch as-is doesn't" Cset exclude: khali@linux-fr.org|ChangeSet|20040825202122|07524 ChangeSet@1.1837.1.18, 2004-08-25 21:20:57-07:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6 into nuts.davemloft.net:/disk1/BK/sparc-2.6 ChangeSet@1.1837.6.30, 2004-08-26 00:15:24-07:00, greg@kroah.com USB: rip out the whole pwc driver as the author wishes to have done. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1843, 2004-08-25 22:24:28-05:00, stevef@smfhome1.smfdom [CIFS] cifs ipv6 support part 2 Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1837.1.16, 2004-08-25 20:20:04-07:00, laforge@netfilter.org [NETFILTER]: Fix ip_nat_find_helper() locking. Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.1837.10.55, 2004-08-25 18:06:16-07:00, davidm@napali.hpl.hp.com [PATCH] signal-race-fix: ia64 It looks fine to me, except that I decided to play chicken as far as the give_sigsegv update of sa_handler is concerned. Arun, I hope I got the ia32 emulation parts right, but you may want to double-check. The patch seems to work fine as far as I have tested. I'm seeing some oddity in context-switch overhead and pipe latency as reported by LMbench, but I suspect that's due to another change that happened somewhere between 2.6.5-rc1 and Linus' bk tree as of this morning. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.54, 2004-08-25 18:02:05-07:00, wli@holomorphy.com [PATCH] alpha signal race fixes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.53, 2004-08-25 18:01:53-07:00, paulus@samba.org [PATCH] ppc64: signal race fix Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.52, 2004-08-25 18:01:41-07:00, davem@redhat.com [PATCH] signal handling race fixes: sparc and sparc64 Ok, here are the sparc64 and sparc32 versions. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.51, 2004-08-25 18:01:29-07:00, ak@muc.de [PATCH] signal-race-fixes: x86-64 support Add the signal race changes to x86-64 to make it compile again. Didn't merge the more pointless changes from i386. Also remove the special SA_ONESHOT handling, doesn't seem to be needed anymore. From: Mikael Pettersson The signal-race-fixes patch in 2.6.8-rc2-mm1 appears to have broken x86-64's ia32 emulation. When forcing a SIGSEGV the old code updated "*ka", where ka was a pointer to current's k_sigaction for SIGSEGV. Now "ka_copy" points to a copy of that structure, so assigning "*ka_copy" doesn't do what we want. Instead do the assignment via current->... just like the normal signal delivery code does. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.50, 2004-08-25 18:01:20-07:00, mikpe@csd.uu.se [PATCH] ppc signal handling fixes 2.6.8-rc2-mm1 reintroduced the signal-race-fixes patch for i386, x86_64, s390, and ia64, breaking all other archs. The patch below updates ppc, following the pattern of i386. Compiled & runtime tested. No observable breakage. Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.49, 2004-08-25 18:01:08-07:00, schwidefsky@de.ibm.com [PATCH] signal-race fixes for s390 Update s30 for the signal race fix From: Mikael Pettersson The signal-race-fixes patch in 2.6.8-rc2-mm1 appears to be a bit broken on s390. When forcing a SIGSEGV the old code updated "*ka", where ka was a pointer to current's k_sigaction for SIGSEGV. Now "ka_copy" points to a copy of that structure, so assigning "*ka_copy" doesn't do what we want. Instead do the assignment via current->... just like i386 and x86_64 do. Furthermore, the SA_ONESHOT handling wasn't deleted. That is now handled by generic code in the kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.48, 2004-08-25 18:00:58-07:00, minyard@acm.org [PATCH] signal handling race fix The problem: In arch/i386/signal.c, in the do_signal() function, it calls get_signal_to_deliver() which returns the signal number to deliver (along with siginfo). get_signal_to_deliver() grabs and releases the lock, so the signal handler lock is not held in do_signal(). Then the do_signal() calls handle_signal(), which uses the signal number to extract the sa_handler, etc. Since no lock is held, it seems like another thread with the same signal handler set can come in and call sigaction(), it can change sa_handler between the call to get_signal_to_deliver() and fetching the value of sa_handler. If the sigaction() call set it to SIG_IGN, SIG_DFL, or some other fundamental change, that bad things can happen. The patch: You have to get the sigaction information that will be delivered while holding sighand->siglock in get_signal_to_deliver(). In 2.4, it can be fixed per-arch and requires no change to the arch-independent code because the arch fetches the signal with dequeue_signal() and does all the checking. The test app: The program below has three threads that share signal handlers. Thread 1 changes the signal handler for a signal from a handler to SIG_IGN and back. Thread 0 sends signals to thread 3, which just receives them. What I believe is happening is that thread 1 changes the signal handler in the process of thread 3 receiving the signal, between the time that thread 3 fetches the signal info using get_signal_to_deliver() and actually delivers the signal with handle_signal(). Although the program is obvously an extreme case, it seems like any time you set the handler value of a signal to SIG_IGN or SIG_DFL, you can have this happen. Changing signal attributes might also cause problems, although I am not so sure about that. (akpm: this test app segv'd on SMP within milliseconds for me) #include #include #include char stack1[16384]; char stack2[16384]; void sighnd(int sig) { } int child1(void *data) { struct sigaction act; sigemptyset(&act.sa_mask); act.sa_flags = 0; for (;;) { act.sa_handler = sighnd; sigaction(45, &act, NULL); act.sa_handler = SIG_IGN; sigaction(45, &act, NULL); } } int child2(void *data) { for (;;) { sleep(100); } } int main(int argc, char *argv[]) { int pid1, pid2; signal(45, SIG_IGN); pid2 = clone(child2, stack2 + sizeof(stack2) - 8, CLONE_SIGHAND | CLONE_VM, NULL); pid1 = clone(child1, stack1 + sizeof(stack2) - 8, CLONE_SIGHAND | CLONE_VM, NULL); for (;;) { kill(pid2, 45); } } Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.47, 2004-08-25 17:37:34-07:00, torvalds@ppc970.osdl.org Merge common signal handling fault handling in generic code. ChangeSet@1.1837.10.46, 2004-08-25 17:28:57-07:00, torvalds@ppc970.osdl.org vt: don't bother doing UTF translation in control states. And don't accept UTF translations as the start of a control state either. ChangeSet@1.1837.1.15, 2004-08-25 16:35:34-07:00, shemminger@osdl.org [BRIDGE]: Fix oops when mangling and brouting and tcpdumping packets The ebtables brouting chain, traversed through the call br_should_route_hook(), can alter a packet. The redirect target does this, f.e., to change the MAC destination. Bart discovered this and proposed a patch; this is a revised version. This version cleans up the handle_bridge code in net/core/dev.c as well as getting rid of extra rcu_read_lock and only does the br_port checking once. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.10.45, 2004-08-25 16:11:20-07:00, viro@www.linux.org.uk [PATCH] mda dependency MDA is ISA-only ;-) ChangeSet@1.1837.10.44, 2004-08-25 16:11:09-07:00, viro@www.linux.org.uk [PATCH] usb alignment fixes Several places did le16_to_cpup() on misaligned address, which blows on any little-endian platform that doesn't like misaligned reads. ChangeSet@1.1837.10.43, 2004-08-25 16:10:57-07:00, viro@www.linux.org.uk [PATCH] warning fix in usb/gadget/inode.c wrong type of return value. ChangeSet@1.1837.10.42, 2004-08-25 16:10:46-07:00, viro@www.linux.org.uk [PATCH] signed char bugs in ixj Fixed assumption that char is always unsigned ChangeSet@1.1837.10.41, 2004-08-25 16:10:34-07:00, viro@www.linux.org.uk [PATCH] killed check_region() in ixj Killed check_region(), fixed an old bug in ISA case (we checked the wrong region before claiming the right one - dumb typo back in 2.4.early) ChangeSet@1.1837.10.40, 2004-08-25 16:10:22-07:00, viro@www.linux.org.uk [PATCH] annotation of xfs sendfile ->sendfile() takes kernel pointer, not userland one. ChangeSet@1.1837.10.39, 2004-08-25 16:10:10-07:00, viro@www.linux.org.uk [PATCH] annotation of ki_buf ->ki_buf is always a userland pointer. ChangeSet@1.1837.10.38, 2004-08-25 16:09:58-07:00, viro@www.linux.org.uk [PATCH] removed bogus casts of SPIN_LOCK_UNLOCKED ChangeSet@1.1803.129.1, 2004-08-25 22:40:12+00:00, levon@movementarian.org [IA64] support for IA64 hardware performance counters via the perfmon interface This patch provides support for IA64 hardware performance counters via the perfmon interface. Please consider applying. Signed-off-by: John Levon Signed-off-by: Tony Luck ChangeSet@1.1837.10.34, 2004-08-25 22:38:53+01:00, rmk@flint.arm.linux.org.uk [ADFS] Fix sparse signed bitfield warning ChangeSet@1.1837.14.6, 2004-08-25 13:23:54-07:00, johnrose@austin.ibm.com [PATCH] PCI Hotplug: create pci_remove_bus() The following patch implements a pci_remove_bus() that can be used by hotplug drivers for the removal of root buses. It also defines a release function that frees the device struct for pci_bus->bridge when a root bus class device is unregistered. Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.14.5, 2004-08-25 13:23:15-07:00, romieu@fr.zoreil.com [PATCH] pci-driver: function documentation fix The returned value can not be null. Yet its description suggests differently. From: Francois Romieu Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.14.4, 2004-08-25 13:22:38-07:00, khali@linux-fr.org [PATCH] I2C: update kernel credits/maintainers Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.14.3, 2004-08-25 13:21:59-07:00, khali@linux-fr.org [PATCH] I2C: rename in0_ref to cpu0_vid This patch changes all the i2c chip drivers and documentation to use the name "cpu0_vid" instead of "in0_ref". The name "in0_ref" was an error in the first place as motherboard manufacturers may fail to follow the chip manufacturer's recommendation about which "in" channel to use for VCore monitoring. The new name leaves room for chips able to monitor more than 1 vid value, such as the LM93 and, to a lesser extent, the PC87360 family (all by National Semiconductor). These chips are typically designed for dual-CPU motherboards. This breaks the interface (obviously) so libsensors has been updated to support both names. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.14.2, 2004-08-25 13:21:22-07:00, khali@linux-fr.org [PATCH] I2C: keywest class This is needed for iBook2 owners to be able to use their ADM1030 hardware monitoring chip. Successfully tested by one user. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.14.1, 2004-08-25 12:45:48-07:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/driver-2.6 ChangeSet@1.1837.13.2, 2004-08-25 12:43:29-07:00, torvalds@ppc970.osdl.org Merge bk://linux-dj.bkbits.net/cpufreq into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1803.66.8, 2004-08-25 12:30:41-07:00, greg@kroah.com kobject: convert struct kobject use kref. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.10.33, 2004-08-25 20:13:02+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix some sparse complaints: Pointers are NULL not 0. Remove obviously unnecessary iBCS2 shm stuff... we're ARM after all. ChangeSet@1.1803.128.1, 2004-08-25 18:27:33+00:00, dcn@sgi.com [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions. Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and SAL_CALL_REENTRANT() that allow OEM written modules to make calls to ia64 OEM SAL functions. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck ChangeSet@1.1803.127.1, 2004-08-25 18:21:19+00:00, ianw@gelato.unsw.edu.au [IA64] Remove extraneous MMU_TRACE debugging macros Patch created by Ian Wienand. Signed-off-by: Tony Luck ChangeSet@1.1803.126.2, 2004-08-25 18:03:28+00:00, yanmin.zhang@intel.com [IA64] contig.c: Function find_bootmap_location has 2 bugs. Firstly, if it's done successfully, it should return -1 instead of 1 because its caller, efi_memmap_walk, will end when find_bootmap_location returns a value smaller than 0. Secondly, statement "free_start = PAGE_ALIGN(rsvd_region[i].end)" should been moved forward. free_start needs to be initialized for every loop iteration. Current implementation is buggy where initialization is skipped if range_end <= range_start. Skipping initializing will leads to overlapping bootmap with one of the rsvd_regions and subsequently kernel hang at boot time. Singed-off-by:(sic) Zhang Yanmin Signed-off-by: Yao Jun Signed-off-by: Tony Luck ChangeSet@1.1803.126.1, 2004-08-25 17:54:46+00:00, yanmin.zhang@intel.com [IA64] Fix boot problems when using "mem=" boot parameter. My tiger-4 machine has 16GB memory. Kernel 2.6.8 fails to boot on it when command line parameter mem=8G, and it also fails when mem being set to other value, such as 7G, 10G. Basically, in function efi_memmap_walk, md->num_pages might be decreased if mem_limit is set, and then at the next time when efi_memmap_walk is called, trim_top might trim the md again because of IA64_GRANULE_SIZE alignment, then another md which is beyond mem_limit at the beginning will be chosen, and its physical page number is larger than max_pfn. Then, a BUG check is triggered. Signed-off-by: Zhang Yanmin Signed-off-by: Yao Jun Signed-off-by: Tony Luck ChangeSet@1.1837.6.29, 2004-08-25 10:48:14-07:00, stern@rowland.harvard.edu [PATCH] USB: Add missing cleanup to usb_register_root_hub() This patch adds some simple cleanups that are missing for one of the error case in usb_register_root_hub(). I would be very surprised if this code ever gets executed, but we might as well be correct. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.28, 2004-08-25 10:47:42-07:00, stern@rowland.harvard.edu [PATCH] USB: Use 8-byte hub status URB buffer This patch changes the size of the buffer allocated for each hub's status URB from 3 bytes to 8. The purpose is to avoid "babble" errors with certain buggy hubs. Although I only know of one type of device which does this, the patch does solve its problem and it adds no overhead for anyone else since kmalloc doesn't dole out memory in chunks smaller than 8 bytes (32 actually, on a PC). This is a small thing, but it doesn't hurt and it will make life easier for a few people. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.13.1, 2004-08-25 10:46:37-07:00, icampbell@arcom.com [PATCH] MTD: Additional JEDEC device types Add support for a couple of BIOS ROM devices. The patch has been committed to the MTD CVS tree and adds entries to jedec_probe.c for AMD AM29F002T, Hyundai HY29F002T and Macronix MX29F002T parts. This version is slightly updated from the previous once since I accidentally added MANUFACTURER_MACRONIX when it already existed. I also moved the new definitions to go along with the alphabetical by manufacturer layout of the file. Signed-off-by: Ian Campbell Signed-off-by: Linus Torvalds ChangeSet@1.1803.97.19, 2004-08-25 17:45:09+00:00, jbarnes@sgi.com [IA64] generic_defconfig: Enable codepage/iocharset for VFAT filesystems. VFAT filesystems need to have codepages and iocharsets specified these days, so build some into the kernel to make it easier to mount /boot/efi on ia64 systems. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck ChangeSet@1.1803.97.18, 2004-08-25 17:39:35+00:00, jbarnes@sgi.com [IA64] Add include pagemap.h to tlb.h to fix warnings when CONFIG_SWAP=n. I noticed when building with CONFIG_SWAP=n that tlb.h gave a warning about some undefined symbols. This is because it was pulling them in through swap.h, but when CONFIG_SWAP=n, they're no longer pulled in. Adding pagemap.h to tlb.h fixes the problem. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck ChangeSet@1.1803.97.17, 2004-08-25 17:30:26+00:00, bjohnson@sgi.com [IA64-SGI] Add full PROM version banner to /proc/sgi_prominfo/nodeXX/version. Signed-off-by: Brian J. Johnson Signed-off-by: Tony Luck ChangeSet@1.1837.6.27, 2004-08-25 10:25:30-07:00, david-b@pacbell.net [PATCH] USB: ethernet gadget, minor fixes Minor tweaks to the ethernet gadget driver: - mention that it requires full-duplex hardware - correct the string description: they're always UTF-8 - fix minor C error: don't "&array" (Al Borchers) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.26, 2004-08-25 10:24:39-07:00, david-b@pacbell.net [PATCH] USB: add omap_udc driver This patch adds a UDC driver for OMAP, which should work on most OMAP processors. It's been tested most on OMAP 1611/5912. The driver supports all USB transfer types (including ISO), has limited DMA support, and seems to work with all gadget drivers, both to Linux hosts and to MS-Windows ones. One reason this UDC is particularly interesting is that recent OMAP processors all support "USB On-The-Go" (OTG) ... and this driver supports it on at least "H2-like" boards. Another reason is that the UDC is very flexible and fully featured; gadget drivers can allocate fifo space to endpoints in the way that's most convenient for the application. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.25, 2004-08-25 10:23:22-07:00, david-b@pacbell.net [PATCH] USB: add lh7a40x_udc driver This patch implements the USB client controller (UDC) driver from scratch on the LPD-LH7A40X development boards. Signed-off-by: Bo Henriksen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.10.32, 2004-08-25 17:43:04+01:00, tony@com.rmk.(none) [ARM PATCH] 2040/1: Increase ARM HARDIRQ_BITS to 9, version 2 Patch from Tony Lindgren This is an updated version of patch 2004/1 to optimize for immediate constant ChangeSet@1.1837.10.31, 2004-08-25 17:39:16+01:00, buytenh@org.rmk.(none) [ARM PATCH] 2047/1: disable NWFPE_XP on big endian Patch from Lennert Buytenhek Hi, gcc doesn't understand 80-bit floating point on the ARM currently, according to the kernel's Kconfig docs, but it would seem that the current extended double emulation code is broken for big endian platforms. So, this patch disables NWFPE_XP on big endian architectures, until someone comes round and fixes it. cheers, Lennert ChangeSet@1.1837.10.30, 2004-08-25 17:35:00+01:00, buytenh@org.rmk.(none) [ARM PATCH] 2046/1: fix nwfpe for double arithmetic on big-endian platforms Patch from Lennert Buytenhek Hi, I need the patch below (against 2.6.8-rc1-ds1) to make nwfpe properly emulate arithmetic with doubles on a big endian ARM platform. From reading the mailing list archives and from helpful comments I've received from people on this list, I gather that this has come up in the past, but it appears that Russell King was never really convinced as to why this patch is needed. I think I understand what's going on, and will try to explain. On little endian ARM, the double value 1.0 looks like this when stored in memory in FPA word ordering: bytes: 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 u32s: 0x3ff00000 0x00000000 u64: 0x000000003ff00000 On big endian, it looks like this: bytes: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 u32s: 0x3ff00000 0x00000000 u64: 0x3ff0000000000000 It appears to be this way because once upon a time, somebody decided that the sub-words of a double will use native endian word ordering within themselves, but the two separate words will always be stored with the most significant one first. God knows why they did it this way, but they did. Anyway. The key observation is that nwfpe internally stores double values in the type 'float64', which is basically just a typedef for unsigned long long. It never accesses 'float64's on the byte level by casting pointers around or anything like that, it just uses direct u64 arithmetic primitives (add, shift, or, and) for float64 manipulations and that's it. So. For little endian platforms, 1.0 looks like: 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 But since nwfpe treats it as a u64, it wants it to look like: 0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f So, that's why the current code swaps the words around when getting doubles from userspace and putting them back (see fpa11_cpdt.c, loadDouble and storeDouble.) On big endian, 1.0 looks like: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 Since nwfpe treats it as a u64, it wants it to look like: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 Hey! That's exactly the same. So in this case, it shouldn't be swapping the halves around. However, it currently does that swapping unconditionally, and that's why floating point emulation messes up. This is how I understand things -- hope it makes sense to other people too. cheers, Lennert ChangeSet@1.1837.9.4, 2004-08-25 12:22:18-04:00, jejb@mulgrave.(none) Add internal API to remove reliance on deprecated SCSI_IOCTL_TEST_UNIT_READY This was used by sd and sr Instead make them use scsi_test_unit_ready() which is exported now from scsi_lib.c Signed-off-by: James Bottomley ChangeSet@1.1837.10.29, 2004-08-25 17:18:55+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2044/1: S3C2410 - missing IRQ_TICK from RTC resources Patch from Ben Dooks Fixes missing IRQ_TICK from RTC resources ChangeSet@1.1837.10.28, 2004-08-25 17:14:27+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2043/1: S3C2410 update to registered devices Patch from Ben Dooks Updated all arch/arm/mach-s3c2410/mach-XXX.c files to register default set of devices Added new board struct to keep this sort of info, as it isn't possible to register platform_devices until after the init_io functions have been called. ChangeSet@1.1837.10.27, 2004-08-25 17:09:50+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2042/1: S3C2410 - Clock fixes, added watchdog clock Patch from Ben Dooks Added clock definition for watchdog, and fixed it so that clocks that cannot be enabled/disabled will be left alone. Fixed typo in naming of clocks when registering ChangeSet@1.1837.12.2, 2004-08-25 08:29:20-07:00, trini@kernel.crashing.org ppc32: Rework the hooks for serial in the bootwrapper. Signed-off-by: Hollis Blanchard Signed-off-by: Tom Rini ChangeSet@1.1837.12.1, 2004-08-25 07:50:30-07:00, trini@kernel.crashing.org ppc32: Fix compiling of SBC82xx. Noticed by David Woodhouse. Signed-off-by: Tom Rini ChangeSet@1.1837.10.26, 2004-08-25 14:29:22+01:00, rmk@flint.arm.linux.org.uk [ARM] Move DMA mask-based bounce detection to dmabounce code. ChangeSet@1.1837.11.24, 2004-08-25 15:21:32+02:00, perex@suse.cz ALSA CVS update ICE1712 driver Misc fixes for Aureon boards. - Fixed center/LFE volume controls. - Provide individual driver names for Aureon and Prodigy boards since they have different channel assignment from Revo, etc. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.23, 2004-08-25 15:20:48+02:00, perex@suse.cz ALSA CVS update Intel8x0 driver,Intel8x0-modem driver Fixed resume when interrupts are shared with another devices. Signed-off-by: Jozef Vesely Signed-off-by: Jaroslav Kysela ChangeSet@1.1837.11.22, 2004-08-25 15:20:03+02:00, perex@suse.cz ALSA CVS update Intel8x0 driver intel8x0: Fixed a long mdelay() A long mdelay() call in prepration of 4/6 channels on nForce is optimized and replaced with msleep(). Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.21, 2004-08-25 15:19:21+02:00, perex@suse.cz ALSA CVS update ALSA sequencer remove (now obsolete) support for _KERNEL_QUOTE events Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.20, 2004-08-25 15:18:37+02:00, perex@suse.cz ALSA CVS update RawMidi Midlevel fix handling of EFAULT errors in snd_rawmidi_read/write; fix hang when writing to /dev/midi* with O_SYNC Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.19, 2004-08-25 15:17:53+02:00, perex@suse.cz ALSA CVS update ATIIXP driver add IXP400 support Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.18, 2004-08-25 15:17:10+02:00, perex@suse.cz ALSA CVS update PPC beep support depends on INPUT Signed-off-by: Jaroslav Kysela ChangeSet@1.1837.11.17, 2004-08-25 15:16:27+02:00, perex@suse.cz ALSA CVS update MPU401 UART use acpi_register_gsi Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.16, 2004-08-25 15:15:41+02:00, perex@suse.cz ALSA CVS update AC97 Codec Core Added jack sense switches for AD1885 'Headphone Jack Sense' and 'Line Jack Sense' switches are added for AD1885. This will enable the h/w swich between the headphone and the internal speaker on some laptops. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.15, 2004-08-25 15:14:58+02:00, perex@suse.cz ALSA CVS update Maestro3 driver Fixed the typo in the last change for pci_set_master() call... Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.14, 2004-08-25 15:14:13+02:00, perex@suse.cz ALSA CVS update Maestro3 driver Call pci_set_master() in resume (to be sure) Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.13, 2004-08-25 15:13:29+02:00, perex@suse.cz ALSA CVS update ICE1712 driver Fixed the master volume control. The master volume control was inverted, fixed now. The volume range is narrowed to -64dB. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.12, 2004-08-25 15:12:45+02:00, perex@suse.cz ALSA CVS update VIA82xx driver Added the DXS entry for Uniwill/Targa Visionary XP-210. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.11, 2004-08-25 15:12:01+02:00, perex@suse.cz ALSA CVS update PPC AWACS driver awacs.c num_controls -> ARRAY_SIZE fix Signed-off-by: Joseph Fannin Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.10, 2004-08-25 15:11:18+02:00, perex@suse.cz ALSA CVS update ICE1712 driver Removed MPU401 detection from Aureon and Prodigy boards. The bogus mpu401 may cause hang-up on some apps. Now the detection bit in EEPROM image is removed. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.9, 2004-08-25 15:10:36+02:00, perex@suse.cz ALSA CVS update Intel8x0 driver Add to snd-intel8x0 AC97 quirk list Additions for Dell Precision 450, HP xw4200 and xw8200. Signed-off-by: John W. Linville Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.8, 2004-08-25 15:09:53+02:00, perex@suse.cz ALSA CVS update EMU10K1/EMU10K2 driver Fix Audigy + AC97 Master Volume This patch sets AC97 Master volume to 0 (0 dB). Previous value was 0x0202 (-3 dB) (this was my misstake). Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.7, 2004-08-25 15:09:08+02:00, perex@suse.cz ALSA CVS update ES1938 driver Added (experimental) PM support. Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.6, 2004-08-25 15:08:23+02:00, perex@suse.cz ALSA CVS update PPC PMAC driver,PPC Tumbler driver pmac mixer update from shadow register on resume and switching DRC on headphone plug The attached patch improved the pmac driver by implementing updating the mixer from the shadow register after a resume or headphone interrupt, as well as automatically selecting DRC on headphone plug. For normal line-out one does not want the DRC, but it should automatically be reenabled after the headphone is unplugged: Otherwise the power to the internal speakers is high enought to destroy them (happend once to my iBook - when it still had warrenty ... ;-) Signed-off-by: Rene Rebe Signed-off-by: Takashi Iwai ChangeSet@1.1837.11.5, 2004-08-25 15:07:38+02:00, perex@suse.cz ALSA CVS update ALSA<-OSS sequencer rewrote snd_seq_oss_read/snd_seq_oss_write to fix various buffer overflow/locking/nonstandard behaviour bugs Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.4, 2004-08-25 15:06:53+02:00, perex@suse.cz ALSA CVS update ALSA<-OSS sequencer don't copy uninitialized kernel stack data to userspace Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.3, 2004-08-25 15:06:08+02:00, perex@suse.cz ALSA CVS update ALSA<-OSS sequencer remove superfluous snd_seq_oss_readq_clear call Signed-off-by: Clemens Ladisch ChangeSet@1.1837.11.2, 2004-08-25 15:05:23+02:00, perex@suse.cz ALSA CVS update ALSA sequencer don't fake the sender address in messages forwarded by snd-seq-dummy to prevent confusing other clients (e.g. snd-seq-oss) Signed-off-by: Clemens Ladisch ChangeSet@1.1837.10.25, 2004-08-25 13:59:55+01:00, rmk@flint.arm.linux.org.uk [ARM] Correct dma_to_virt()/virt_to_dma() return types. ChangeSet@1.1837.11.1, 2004-08-25 08:59:52+02:00, perex@suse.cz Merge bk://linux-sound@linux-sound.bkbits.net/linux-sound into suse.cz:/home/perex/bk/linux-sound/linux-sound ChangeSet@1.1837.10.24, 2004-08-24 23:39:21-07:00, paulus@samba.org [PATCH] ppc64: better handling of H_ENTER failures This changes the hash insertion routines to return an error instead of calling panic() when HV refuses to insert a HPTE (the hypervisor call to set up a hashtable PTE is H_ENTER). The error is now propagated upstream, and either bad_page_fault() is called (kernel mode) or a SIGBUS signal is forced (user mode). Some other panic() cases are also turned into BUG_ON. Overall, this should provide us with better debugging data if the problem happens, and avoids errors from userland mapping /dev/mem and trying to use forbidden IOs (XFree ?) to bring the whole kernel down. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1837.10.23, 2004-08-24 23:35:36-07:00, torvalds@ppc970.osdl.org Use "insert_resource()" to add the PCI resources to the resource tree. In contrast to the old "request_resource()", this allows us to add a resource even when firmware (ACPI) has marked part of it as being in use. ChangeSet@1.1837.10.22, 2004-08-24 23:35:02-04:00, akpm@osdl.org [PATCH] via-rhine: small fixes From: Roger Luethi - remove Rhine model names (per Jeff's request) - remove redundant calls to clear MII cmd - fill some rhine_private fields earlier Signed-off-by: Roger Luethi Signed-off-by: Andrew Morton ChangeSet@1.1837.10.21, 2004-08-24 23:34:52-04:00, akpm@osdl.org [PATCH] via-rhine: de-isolate PHY From: Roger Luethi PHYs may come up isolated. Make sure we can send data to them. This code section needs a clean-up, but I prefer to merge this fix in isolation. Report and suggested fix by Tam, Ming Dat (Tommy). Signed-off-by: Roger Luethi Signed-off-by: Andrew Morton ChangeSet@1.1837.10.20, 2004-08-24 23:34:42-04:00, akpm@osdl.org [PATCH] via-rhine: suspend/resume support From: Roger Luethi From: Arkadiusz Miskiewicz Signed-off-by: Arkadiusz Miskiewicz Signed-off-by: Roger Luethi Signed-off-by: Andrew Morton ChangeSet@1.1837.10.19, 2004-08-24 23:34:32-04:00, akpm@osdl.org [PATCH] netdrv gianfar: fix printk output From: Kumar Gala Fix usage of printk on the output of mac address. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton ChangeSet@1.1837.10.18, 2004-08-24 23:34:20-04:00, akpm@osdl.org [PATCH] Typo in drivers/net/dl2k.h From: Alexander Shatohin Signed-off-by: Andrew Morton ChangeSet@1.1837.10.17, 2004-08-24 23:34:10-04:00, akpm@osdl.org [PATCH] 8139too: be sure to progress during rtl8139_rx() From: Francois Romieu If the Rx buffer gets corrupted or the FIFO hangs in new interesting ways, this code prevents the driver from looping in ksoftirqd context without making any progress. Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton ChangeSet@1.1837.10.16, 2004-08-24 23:34:00-04:00, akpm@osdl.org [PATCH] 8139too: Rx fifo/overflow recovery From: Francois Romieu This patch allows to update the interrupt status register after an Rx overflow or a Rx fifo error even when the Rx buffer contains no packet. The update must be kept in the packet processing loop to prevent an Rx error storm. As an interesting behavior, the status of the interrupt status register must not be read early. Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton ChangeSet@1.1837.10.15, 2004-08-24 23:33:49-04:00, akpm@osdl.org [PATCH] via-velocity: wrong module name in Kconfig documentation From: Francois Romieu Copy/paste abuse. Signed-off-by: Andrew Morton ChangeSet@1.1837.10.14, 2004-08-24 23:33:39-04:00, akpm@osdl.org [PATCH] drivers/net/wan/cycx_x25.c:189: warning: conflicting types for built-in function 'log2' From: Jesper Juhl To silence the warning in $subject, rename log2 to cycx_log2 in this file to remove the clash, so there's no doubt that this file uses it's own defined log2 function. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton ChangeSet@1.1837.10.13, 2004-08-24 23:26:50-04:00, akpm@osdl.org [PATCH] fix net/hamradio/dmascc with gcc 3.4 From: Adrian Bunk drivers/net/hamradio/dmascc.c: In function `scc_isr': drivers/net/hamradio/dmascc.c:250: sorry, unimplemented: inlining failed in call to 'z8530_isr': function body not available drivers/net/hamradio/dmascc.c:969: sorry, unimplemented: called from here drivers/net/hamradio/dmascc.c:250: sorry, unimplemented: inlining failed in call to 'z8530_isr': function body not available drivers/net/hamradio/dmascc.c:978: sorry, unimplemented: called from here Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.12, 2004-08-24 23:26:40-04:00, akpm@osdl.org [PATCH] sk98lin/skge.c doesn't compile with PROC_FS=n From: Adrian Bunk drivers/net/sk98lin/skge.c: In function `skge_remove_one': drivers/net/sk98lin/skge.c:5116: warning: implicit declaration of function `remove_proc_entry' drivers/net/sk98lin/skge.c:5116: `pSkRootDir' undeclared (first use in this function) drivers/net/sk98lin/skge.c:5116: (Each undeclared identifier is reported only once drivers/net/sk98lin/skge.c:5116: for each function it appears in.) drivers/net/sk98lin/skge.c: In function `skge_init': drivers/net/sk98lin/skge.c:5188: `SK_Root_Dir_entry' undeclared (first use in this function) Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.9.3, 2004-08-24 23:26:29-04:00, jejb@mulgrave.(none) scsi_mid_low_api.txt update From: Douglas Gilbert Signed-off-by: James Bottomley ChangeSet@1.1837.10.11, 2004-08-24 23:26:28-04:00, akpm@osdl.org [PATCH] via-velocity: more inetaddr_notifier fix From: Francois Romieu There is no guarantee that the event which gets passed is associated to a via-velocity device, thus preventing to dereference dev->priv as if it always was a struct velocity_info *. The via-velocity devices are kept in a module private list for comparison. Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton ChangeSet@1.1837.10.10, 2004-08-24 23:26:18-04:00, akpm@osdl.org [PATCH] ixgb_main.c: fix inline compile errors From: Adrian Bunk drivers/net/ixgb/ixgb_main.c: In function `ixgb_up': drivers/net/ixgb/ixgb_main.c:86: sorry, unimplemented: inlining failed in call to 'ixgb_irq_enable': function body not available drivers/net/ixgb/ixgb_main.c:234: sorry, unimplemented: called from here Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.9, 2004-08-24 23:26:07-04:00, akpm@osdl.org [PATCH] net/tulip/dmfe.c: gcc-3.5 fixes From: Adrian Bunk CC drivers/net/tulip/dmfe.o drivers/net/tulip/dmfe.c: In function `dmfe_rx_packet': drivers/net/tulip/dmfe.c:323: sorry, unimplemented: inlining failed in call to 'cal_CRC': function body not available drivers/net/tulip/dmfe.c:936: sorry, unimplemented: called from here make[3]: *** [drivers/net/tulip/dmfe.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.8, 2004-08-24 23:25:57-04:00, akpm@osdl.org [PATCH] net/rrunner.c: gcc-3.5 fixes From: Adrian Bunk CC drivers/net/rrunner.o drivers/net/rrunner.c: In function `rr_timer': drivers/net/rrunner.h:846: sorry, unimplemented: inlining failed in call to 'rr_raz_tx': function body not available drivers/net/rrunner.c:1155: sorry, unimplemented: called from here drivers/net/rrunner.h:847: sorry, unimplemented: inlining failed in call to 'rr_raz_rx': function body not available drivers/net/rrunner.c:1156: sorry, unimplemented: called from here make[2]: *** [drivers/net/rrunner.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.7, 2004-08-24 23:25:47-04:00, akpm@osdl.org [PATCH] net/hamachi.c: gcc-3.5 build fixes From: Adrian Bunk CC drivers/net/hamachi.o drivers/net/hamachi.c: In function `hamachi_interrupt': drivers/net/hamachi.c:562: sorry, unimplemented: inlining failed in call to 'hamachi_rx': function body not available drivers/net/hamachi.c:1402: sorry, unimplemented: called from here make[2]: *** [drivers/net/hamachi.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.6, 2004-08-24 23:25:36-04:00, akpm@osdl.org [PATCH] net/smc9194.c: fix gcc-3.5 inline compile errors From: Adrian Bunk CC drivers/net/smc9194.o drivers/net/smc9194.c: In function `smc_interrupt': drivers/net/smc9194.c:278: sorry, unimplemented: inlining failed in call to 'smc_rcv': function body not available drivers/net/smc9194.c:1254: sorry, unimplemented: called from here drivers/net/smc9194.c:283: sorry, unimplemented: inlining failed in call to 'smc_tx': function body not available drivers/net/smc9194.c:1258: sorry, unimplemented: called from here make[2]: *** [drivers/net/smc9194.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.10.5, 2004-08-24 23:25:26-04:00, akpm@osdl.org [PATCH] e1000 inlining fix From: Nick Orlov e1000 fixes for gcc-3.4.1 Signed-off-by: Andrew Morton ChangeSet@1.1837.10.4, 2004-08-24 23:25:15-04:00, akpm@osdl.org [PATCH] e1000 build fix drivers/net/e1000/e1000_main.c: In function `e1000_up': drivers/net/e1000/e1000_main.c:136: sorry, unimplemented: inlining failed in call to 'e1000_irq_enable': function body not available drivers/net/e1000/e1000_main.c:274: sorry, unimplemented: called from here Signed-off-by: Andrew Morton ChangeSet@1.1837.10.3, 2004-08-24 23:25:05-04:00, akpm@osdl.org [PATCH] sk98lin procfs fix From: Christoph Hellwig sk98line tries to register a procfile with the interfacename of the struct net_device. The patch below (ontop of the previous one) makes it work unless you change the interface name manually, but as Linux explicitly allows that the interface is fundamentally broken and probably should just go away. Signed-off-by: Andrew Morton ChangeSet@1.1837.10.2, 2004-08-24 23:24:55-04:00, akpm@osdl.org [PATCH] R8169_NAPI help text From: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton ChangeSet@1.1837.1.13, 2004-08-24 17:20:56-07:00, tgraf@suug.ch [NET]: Device mtu/txqlen/ifmap via rtnetlink. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller ChangeSet@1.1837.1.12, 2004-08-24 17:10:20-07:00, shemminger@osdl.org [NET]: Another cleanup in netif_receive_skb() Move rcu_read_lock up a little, since it needs to be done in both branches anyway. Also whitespace fix. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.1.11, 2004-08-24 17:08:33-07:00, shemminger@osdl.org [NET]: deliver_skb() cleanup Cleanup of deliver_skb: get rid of unused argument and use it in the NET_CLS_ACT hook. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1837.1.10, 2004-08-24 17:03:36-07:00, herbert@gondor.apana.org.au [NET]: Use pskb_expand_head() instead of skb_copy() in skb_checksum_help(). Here is the patch that you wanted to shoot holes at :) The idea is simple. None of the callers of skb_checksum are passing it skb's which are shared. They may be cloned however. But the application checksum is always in the skb header so there is no need to linearise it. Supposing all these assumptions are correct, then we can avoid the overhead of skb_copy() and get away with pskb_expand_head(). If the assumption is wrong, we will find out because pskb_expand_head() will BUG() if skb_shared() is true. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1837.9.2, 2004-08-24 19:53:17-04:00, jejb@mulgrave.(none) fix NC5380 locking and delayed work handling From: Christoph Hellwig - move delayed workqueue handling to schedule_delayed_work instead of the old horrible global list thing - add NCR5380_exit to make sure all delayed work is flushed on HBA (or module) removal - fix locking Patch fixed up to apply and Signed-off-by: James Bottomley ChangeSet@1.1832.1.1, 2004-08-24 16:41:38-07:00, davem@nuts.davemloft.net [SPARC64]: Save/restore %asi properly in signal handling. Signed-off-by: David S. Miller ChangeSet@1.1837.6.24, 2004-08-24 16:34:01-07:00, stern@rowland.harvard.edu [PATCH] USB: Update unlink testing code in the usbtest driver Greg: This patch updates the part of the usbtest driver that tests URB unlinking. The move to usb_kill_urb() invalidated some of the old tests. There's a corresponding change to the UHCI driver, causing it to return a more descriptive error code in the rare event that an URB is cancelled after it has been linked but before it has been queued. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.9.1, 2004-08-24 19:27:53-04:00, jejb@mulgrave.(none) Merge ChangeSet@1.1803.66.7, 2004-08-24 16:19:31-07:00, dtor_core@ameritech.net [PATCH] kobject: fix kobject_set_name comment. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.23, 2004-08-24 16:12:03-07:00, david-b@pacbell.net [PATCH] USB: isp1301_omap driver (OTG core) This adds the isp1301_omap driver, supporting USB OTG on OMAP systems. The driver tightly couples two different chunks of hardware, which are used to implement the OTG protocols: - The Philips ISP1301 OTG transceiver (an I2C device) senses voltage levels and sources VBUS current in the A-Device roles. - OMAP's OTG controller handles lots of OTG transitions, and tells the transceiver what to do. The driver implements the abstract "otg_transceiver" API, since it's got to talk to both the host controller (OHCI on current OMAPs) and the peripheral controller (omap_udc) while hiding a variety of implementation details. It should be easy to tweak to work on other OMAP boards using the isp1301 chip; OMAP boards with other transceivers, or non-OMAP boards using isp1301, will probably find things to learn from. Note that this also supports two non-OTG modes, with the OTG controller disabled; very handy for debugging just the host side USB stack, or just the peripheral side USB stack. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.22, 2004-08-24 16:07:32-07:00, david-b@pacbell.net [PATCH] USB: ohci_omap updates This updates the OMAP OHCI support to match the latest from the Linux-OMAP tree. Notable changes from the preceding version: - Use the new USB init model (arch/arm/mach-omap/usb.c). - The OMAP-specific bus is gone; it now uses platform_device. (Update from Tony Lindgren.) - Works on the H2 board, which requires the external isp1301 transceiver even in non-OTG configurations. - Adds OTG support. - Adds basic power management calls. The mach-omap/Kconfig file in the main Linux tree is a bit out of date, it doesn't know about CONFIG_ARCH_OMAP_OTG (for the OMAPs that have OTG silicon). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.21, 2004-08-24 15:58:54-07:00, greg@kroah.com USB: rip the pwc decompressor hooks out of the kernel, as they are a GPL violation. Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1840, 2004-08-24 17:50:19-05:00, stevef@stevef95.austin.ibm.com CIFS: remove deprecated sleep_on_timeout Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1803.41.60, 2004-08-24 18:48:27-04:00, dougg@torque.net [PATCH] scsi_level constants in scsi.h The scsi_level value in struct scsi_device is a bit mysterious. Hopefully this patch makes it a bit clearer since it is visible via sysfs. Changes: - add scsi_level constants for SPC-2 and SPC-3 - comment on relationship between scsi_level and INQUIRY response Signed-off-by: James Bottomley ChangeSet@1.1803.41.59, 2004-08-24 18:43:40-04:00, akpm@osdl.org [PATCH] reduce aacraid namespace polution From: Jens Axboe This easily clashes with others (it's been seen, hence the patch), so lets move aacraid log levels to something a little more private. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1803.41.58, 2004-08-24 18:22:21-04:00, akpm@osdl.org [PATCH] eata_pio.c warning fix drivers/scsi/eata_pio.c: In function `eata_pio_host_reset': drivers/scsi/eata_pio.c:514: warning: implicit declaration of function `msleep' Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.6.20, 2004-08-24 15:11:07-07:00, greg@kroah.com USB: Remove struct urb->timeout as it does not work Well, it works only for UHCI controllers, but that's not acceptable... Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1803.41.57, 2004-08-24 17:25:17-04:00, akpm@osdl.org [PATCH] i2o maintainer From: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1803.41.56, 2004-08-24 17:21:14-04:00, akpm@osdl.org [PATCH] I2O: removes multiplexer notification and use From: Markus Lidel - remove the multiplexer notification and replace it with a type-safe function for each event (controller add/remove, device add/remove). Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.6.19, 2004-08-24 13:38:39-07:00, zaitcev@redhat.com [PATCH] USB: ub patch to use add_timer It just occured to me that urb->timeout is not functional. ChangeSet@1.1837.8.2, 2004-08-24 22:36:35+02:00, sam@mars.ravnborg.org kbuild: fix cc-version cc-version needs to use $(shell to get the gcc version. Before if gave the following error when building the kernel: /bin/sh: line 1: [: too many arguments And all checks for gcc version were broken. Signed-off-by: Sam Ravnborg ChangeSet@1.1837.8.1, 2004-08-24 22:24:31+02:00, sam@mars.ravnborg.org Merge mars.ravnborg.org:/home/sam/bk/linux-2.6 into mars.ravnborg.org:/home/sam/bk/kbuild ChangeSet@1.1837.7.1, 2004-08-24 13:16:15-07:00, jfs.adm@hostme.bitkeeper.com Merge bk://linux.bkbits.net/linux-2.5 into hostme.bitkeeper.com:/repos/j/jfs/linux-2.5 ChangeSet@1.1837.2.10, 2004-08-24 21:15:27+01:00, davej@redhat.com [CPUFREQ] Remove fsb argument from longhauls calc_speed() It's being passed a global everywhere, so it may as well directly reference it. Signed-off-by: Dave Jones ChangeSet@1.1803.41.55, 2004-08-24 15:46:20-04:00, akpm@osdl.org [PATCH] I2O: fixes compiler warning on x86_64 in i2o_config From: Markus Lidel - use compat_ptr to convert 32-bit pointer to 64-bit pointer in i2o_cfg_passthru32. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.1.9, 2004-08-24 12:43:49-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.1.8, 2004-08-24 12:40:58-07:00, torvalds@ppc970.osdl.org Merge bk://ppc.bkbits.net/for-linus-ppc into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1837.4.185, 2004-08-24 12:33:27-07:00, axboe@suse.de [PATCH] GPCMD_SEND_CUE_SHEET missing in scsi_ioctl Forgot one command, GPCMD_SEND_CUE_SHEET is also ok for write open. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.184, 2004-08-24 12:29:18-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] /dev/ptmx open() fixes If tty_open() fails for a normal serial device, we end up doing cleanups that should only happen for failed open of /dev/ptmx. The results are not pretty - devpts et.al. end up very confused. That's what gave problems with ptmx. This splits ptmx file_operations from the normal case and cleans up both tty_open() and (new) ptmx_open(). Survived serious beating. ChangeSet@1.1837.4.183, 2004-08-24 12:29:06-07:00, wli@holomorphy.com [PATCH] Missing free_area_init_node() conversions Update architectures for the free_area_init_node() API change. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.182, 2004-08-24 12:28:55-07:00, trond.myklebust@fys.uio.no [PATCH] Undo broken FH conversion that broke nfsroot compile That conversion to nfs_fh_copy() is bogus since we're not copying into an nfs_fh anyway. Just revert it. ChangeSet@1.1803.125.1, 2004-08-24 21:23:46+02:00, sam@mars.ravnborg.org Merge mars.ravnborg.org:/home/sam/bk/linux-2.6 into mars.ravnborg.org:/home/sam/bk/kbuild ChangeSet@1.1837.6.18, 2004-08-24 12:08:00-07:00, greg@kroah.com USB: fix bad value in kaweth.c driver Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.17, 2004-08-24 11:56:52-07:00, david-b@pacbell.net [PATCH] USB OTG: doc updates (5/5) Gadget API update. Covers OTG support, lists a few more types of hardware support, mentions gadget driver updates including RNDIS, serial with CDC-ACM, and gadgetfs AIO. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.16, 2004-08-24 11:56:26-07:00, david-b@pacbell.net [PATCH] USB OTG: gadget zero (4/5) Minor gadget zero fixes: - correct string descriptions: they're always UTF-8 - for OTG, report HNP and remote wakeup support Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.15, 2004-08-24 11:55:57-07:00, david-b@pacbell.net [PATCH] USB OTG: usbcore enumeration (3/5) Teach usbcore how to enumerate OTG devices and perform HNP: - CONFIG_USB_OTG is a boolean; it selects CONFIG_USB_SUSPEND. Boards with a Mini-AB connector should offer it as a config option; no other hardware could support OTG. - Before resetting a port, make sure it's not still suspended. (For example, after an HNP role switch.) - When an OTG A-Host enumerates a dual-role device, set the appropriate device feature: B_HNP_ENABLE if it's connected to the OTG port, otherwise A_ALT_HNP_SUPPORT. - When an OTG B-Host enumerates a dual-role device, don't bother debouncing ... the power session is stable already, the A-Host already debounced. - The OTG "Targeted Peripheral List" lives in a product-customized "otg_whitelist.h" header. - CONFIG_USB_OTG_WHITELIST lets developers choose to ignore whitelist failures, so unsupported devices can be configured anyway. - If the whitelist check fails, immediately suspend the device. * For dual-role devices, that triggers HNP so the other device can try to act as host. * For peripheral-only devices, that conserves power ... but not quite as much as turning off power on that port, which should eventually be done with OTG ports (and all other ports that support SRP). The whitelist logic tries to make use of the existing usb_device_id logic, but since the interface info isn't available that early it's a bit awkward use information anywhere outside the device descriptor. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.14, 2004-08-24 11:55:24-07:00, david-b@pacbell.net [PATCH] USB OTG: ohci reset updates (2/5) Generic OTG and reset support for OTG. - Declare and use a start_hnp() board-specific procedure. The OMAP implementation will come separately, it can't yet be configured. - When OTG is configured, implement the usb_bus_start_enum() hook; that just starts a root port reset. - When some task (usually khubd) resets a root port, make sure it takes the full 50 msec. The OHCI reset timer is in hardware, and the host may need to issue multiple resets to guard against concurrent resume. - For backward compatibility, don't kick in the new 50 msec logic unless it could be needed: without CONFIG_USB_SUSPEND, nothing will suspend so nothing could resume. Which is good, at least until we start to measure how long a reset takes ... it seems chip-specific. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.6.13, 2004-08-24 11:54:54-07:00, david-b@pacbell.net [PATCH] USB OTG: add usb_bus_start_enum() (1/5) Define a new usb_bus_start_enum() routine that's available with OTG. It starts immediate enumeration (port reset) and makes khubd wake up later. Non-OTG code could start to use this, given some attention to HC-specific reset timing issues. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.181, 2004-08-24 11:46:22-07:00, bunk@fs.tum.de [PATCH] Alex DeVries has moved The patch below replaces all occurences of two bouncing email addresses of Alex deVries in the kernel with his current address. It's already ACK'ed by Alex deVries. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.180, 2004-08-24 11:46:09-07:00, davej@redhat.com [PATCH] describe Intel cache descriptors. Describe what the Intel cache descriptors actually mean in comments. Taken from 24151827.pdf. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.179, 2004-08-24 11:45:58-07:00, arjanv@redhat.com [PATCH] Fix fs/locks.c init order The patch below fixes an interesting oddity we're seeing with fedora core development (where we recently started using udev heavily); basically right now filelock_init() is a module_init(), eg runs late. However that breaks down because there are earlier /sbin/hotplug callouts, which with udev, do locking operations. When that happens the kernel oopses because the slabs for file locks aren't initialized yet. Solution: initialize this way early. It's only a kmem_cache_create after all, so can happen early. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.178, 2004-08-24 11:45:48-07:00, olh@suse.de [PATCH] remove obsolete zero-paged in Documentation/sysctl/kernel.txt This entry was removed during 2.5 development. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.177, 2004-08-24 11:45:37-07:00, olh@suse.de [PATCH] remove obsolete htab-reclaim in Documentation/sysctl/kernel.txt This entry is long gone, even 2.4 doesnt have it anymore. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.176, 2004-08-24 11:45:25-07:00, hch@lst.de [PATCH] inode time update funnies in ncpfs ncfpfs seems to update inode times by hand everywhere instead of using the proper helpers. This means: - the atime updates in mmap() and read() seems to miss various checks upodate_atime or one of the wrappers does. Also it doesn't mark the inode dirty. - in write() you update mtime and _a_time instead of ctime as expected, also the usual checks and optimizations are missing. In addition the fops contain some bogus checks like for a refular file (but the fops are only used of ISREG files) and inode->i_sb although that is guranteed to be non-zero. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.175, 2004-08-24 11:45:14-07:00, amgta@yacht.ocn.ne.jp [PATCH] show Active/Inactive on per-node meminfo The patch below enable to display the size of Active/Inactive pages on per-node meminfo (/sys/devices/system/node/node%d/meminfo) like /proc/meminfo. By a little change to procps, "vmstat -a" can show these statistics about particular node. From: mita akinobu get_zone_counts() is used by max_sane_readahead(), and max_sane_readahead() is often called in filemap_nopage(). Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.174, 2004-08-24 11:45:02-07:00, tim@physik3.uni-rostock.de [PATCH] Fix bad URL in BSD acct help entry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.173, 2004-08-24 11:44:50-07:00, tytso@mit.edu [PATCH] /dev/random: Remove RNDGETPOOL ioctl Recently, someone has kvetched that RNDGETPOOL is a "security vulnerability". Never mind that it is superuser only, and with superuser privs you could load a nasty kernel module, or read the entropy pool out of /dev/mem directly, but they are nevertheless still spreading FUD. In any case, no one is using it (it was there for debugging purposes only), so we can remove it as dead code. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.172, 2004-08-24 11:44:39-07:00, tytso@mit.edu [PATCH] /dev/random: Use separate entropy store for /dev/urandom This patch adds a separate pool for use with /dev/urandom. This prevents a /dev/urandom read from being able to completely drain the entropy in the /dev/random pool, and also makes it much more difficult for an attacker to carry out a state extension attack. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.171, 2004-08-24 11:44:27-07:00, tytso@mit.edu [PATCH] /dev/random: Add pool name to entropy store This adds a pool name to the entropy_store data structure, which simplifies the debugging code, and makes the code more generic for adding additional entropy pools. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.170, 2004-08-24 11:44:18-07:00, tytso@mit.edu [PATCH] dev/random: Fix latency in rekeying sequence number Based on reports from Ingo's Latency Tracer that the TCP sequence number rekey code is causing latency problems, I've moved the sequence number rekey to be done out of a workqueue. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.169, 2004-08-24 11:44:06-07:00, akpm@osdl.org [PATCH] file_ra_state_init speedup Marcelo points out that this function's main caller already memsets the structure, so avoid doing it again. Also, an earlier knfsd patch withdrew file_ra_state_init()'s other caller, so unexport this function. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.168, 2004-08-24 11:43:55-07:00, ramon.rey@hispalinux.es [PATCH] Firmware Loader is orphan The author and maintainer of the firmware loader died in May. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.167, 2004-08-24 11:43:44-07:00, linux@thorsten-knabe.de [PATCH] ad1816 sound driver web page and email address Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.166, 2004-08-24 11:43:32-07:00, diegocg@teleline.es [PATCH] ext3 documentation Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.12, 2004-08-24 11:43:27-07:00, akpm@osdl.org [PATCH] USB: legousbtower.c module_param fix drivers/usb/misc/legousbtower.c: In function `__check_read_buffer_size': drivers/usb/misc/legousbtower.c:119: warning: return from incompatible pointer type drivers/usb/misc/legousbtower.c: In function `__check_write_buffer_size': drivers/usb/misc/legousbtower.c:129: warning: return from incompatible pointer type The fix is awkward - module_param() doesn't like size_t's. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.165, 2004-08-24 11:43:21-07:00, hirofumi@mail.parknet.co.jp [PATCH] remove read-only/immutable checks from fat_truncate From: Christoph Hellwig There's two callers: - the truncate path via notify_change, ->setattr, vmtruncate. We already check for permissions here at the upper level - fat_delete_inode. This one looks bogus to me - even if we delete an read-only or immutable inode we want to free the space allocated by it, else you leak disk blocks. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.164, 2004-08-24 11:43:09-07:00, ramon.rey@hispalinux.es [PATCH] Update ACI MIXER DRIVER webpage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.11, 2004-08-24 11:43:00-07:00, mdharm-usb@one-eyed-alien.net [PATCH] USB Storage: help vendors count to 1... It turns out that the Konica-Minolta DiMAGE A2 camera, in addition to all its other problems, returns a 0-length reply to the GetMaxLUN request. With this patch (accept a null reply as meaning a single LUN) it is somewhat useable. It's amazing to me that vendors have this much trouble counting to 1.... Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.163, 2004-08-24 11:42:57-07:00, okir@suse.de [PATCH] /proc/PID/cmdline truncates arguments early We received a bug report that /proc/PID/cmdline only shows argv[0] if the total length of all arguments exceeds PAGE_SIZE. The problem is that proc_pid_cmdline checks for the presence of a NUL byte at the end of the args list, and assumes that the application did a setproctitle if there's any other character. OTOH proc_pid_cmdline will read just the first PAGE_SIZE worth of arguments at most, and if you have more arguments, it's quite likely that there won't be a NUL byte at offset PAGE_SIZE-1. The attached patch fixes this. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.162, 2004-08-24 11:42:46-07:00, zach@vmware.com [PATCH] i386-unbusy-tss cleanup The TSS no longer needs to be unbusied before loading the task register, since the set_tss_desc macros set the system gate type to Available IA-32 TSS. This obscure, uncommented legacy code can now be removed for better readability and saves 20 bytes of code space. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.10, 2004-08-24 11:42:35-07:00, stern@rowland.harvard.edu [PATCH] USB: unusual_devs.h entry This patch adds an unusual_devs.h entry for the Apacer Audio Steno, which reports its capacity as total number of blocks rather than largest block number (i.e., the value is off by one). Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.161, 2004-08-24 11:42:34-07:00, garloff@suse.de [PATCH] fix bio_uncopy_user() mem leak When using bounce buffers for SG_IO commands with unaligned buffers in blk_rq_map_user(), we should free the pages from blk_rq_unmap_user() which calls bio_uncopy_user() for the non-BIO_USER_MAPPED case. That function failed to free the pages for write requests. So we leaked pages and you machine would go OOM. Rebooting helped ;-) This bug was triggered by writing audio CDs (but not on data CDs), as the audio frames are not aligned well (2352 bytes), so the user pages don't just get mapped. Bug was reported by Mathias Homan and debugged by Chris Mason + me. (Jens is away.) From: Chris Mason Fix the leak for real Signed-off-by: Kurt Garloff Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.160, 2004-08-24 11:42:22-07:00, schwidefsky@de.ibm.com [PATCH] s390: zfcp host adapter From: Heiko Carstens From: Andreas Herrmann From: Maxim Shchetynin zfcp host adapter changes: - Use predefined macro to create in_recovery sysfs attributes. - Add function to check CT_IU response. - Fix handling of rejected ELS commands. - Change return value of zfcp_fsf_req_sbal_get to -ERESTARTSYS in some cases. - Return proper error code if control file upload/download failed. - Remove dead code. - Avoid sparse warnings. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.159, 2004-08-24 11:42:10-07:00, schwidefsky@de.ibm.com [PATCH] s390: core changes From: Jan Glauber From: Martin Schwidefsky s390 core changes: - Use copy_siginfo_from_user32 instead of copy_from_user to get the siginfo structure in sys32_rt_sigqueueinfo. - Remove prototype for non-existant stop_timers function. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.9, 2004-08-24 11:42:09-07:00, stern@rowland.harvard.edu [PATCH] USB: Fix submission-error bug in the USB scatter-gather This patch has been hanging around for a while and seems to have been forgotten. It fixes a bug in the USB scatter-gather library that crops up when submission of an URB fails, and it fixes a bug in the cleanup routine when some of the URBs being cleaned up have already completed. I think David will agree that the patch is correct. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.158, 2004-08-24 11:41:58-07:00, rusty@rustcorp.com.au [PATCH] fix permissions on the `tainted' sysctl From: Arjan van de Ven The patch below sets the tainted sysctl file to read only, otherwise userspace can just overwrite/reset it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.157, 2004-08-24 11:41:47-07:00, pavel@ucw.cz [PATCH] typo in laptop_mode.txt This patch is thanks to pavouk. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.8, 2004-08-24 11:41:43-07:00, david-b@pacbell.net [PATCH] USB: net2280 patch Don't clear ep0 status phase handshake during endpoint reset ... at least one driver emits so much debug output before resetting endpoints that the reset happens late enough to make the chip break protocol. Also handle resets IRQs a bit differently: they can happen twice during enumeration, which can worsen the other problem. From: Alex Sanks Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.156, 2004-08-24 11:41:35-07:00, pavel@ucw.cz [PATCH] Coding style: do_this(a,b) vs. do_this(a, b) Coding style document is not consistent with itself on whether there should be space after ","... This makes it standardize on ", " option. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.155, 2004-08-24 11:41:24-07:00, ebiederm@xmission.com [PATCH] fix 4K ext2fs support in 2.6 initrd's The ramdisk_blocksize option has been broken for quite a while in 2.6. Making an initrd with a 4K ext2 filesystem impossible to use. After digging into this, the problem turned out to that rd.c was not setting the hard sector size. There were a few secondary problems like i_blkbits was not being set, and the number KiB in uncompressed ext2 images was not taking into account the block size. I have also corrected the surrounding comments as they were not just incorrect but misleading. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.7, 2004-08-24 11:41:16-07:00, david-b@pacbell.net [PATCH] USB: gadget drivers learn about LH7A40x Recognize the UDC for the Sharp LH7A40x chips (ARMv4t SOCs) - define gadget_is_lh7a40x() macro - gadget drivers use it to assign bcdDevice - supports CDC Ethernet (and RNDIS) From: Bo Henriksen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.154, 2004-08-24 11:41:13-07:00, olh@suse.de [PATCH] compat_do_execve() fix For some reasons ls -l /proc/$$/exe doesnt work all time for me, with 2.6.8.1 on ppc64. Sometimes it does, sometimes not. No pattern. A few printks show that this check in proc_pid_readlink() triggers an -EACCES: current->fsuid != inode->i_uid proc_pid_readlink(755) error -13 ntptrace(11408) fsuid 100 i_uid 0 0 sys_readlink(281) ntptrace(11408) error -13 readlink Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.153, 2004-08-24 11:41:02-07:00, kernel@cornelia-huck.de [PATCH] Add pci dependencies to drivers/media/dvb/ttpci/Kconfig The drivers under drivers/media/dvb/ttpci depend on pci (especially since they select VIDEO_SAA7146, which depends on pci). Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.152, 2004-08-24 11:40:50-07:00, janitor@sternwelten.at [PATCH] remove last suser() call from drivers/char/rocket.c Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.6, 2004-08-24 11:40:48-07:00, alborchers@steinerpoint.com [PATCH] USB: update Edgeport io_fw_down3.h - Updated io_fw_down3.h for the io_ti driver to firmware version 4.10.0 from IO Networks. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.151, 2004-08-24 11:40:38-07:00, jmorris@redhat.com [PATCH] Reduce SELinux kernel memory use on 64-bit systems The patch below reduces kernel memory used by SELinux policy rules by about 37% on 64-bit systems. This is because the size of struct avtab_node is 40 bytes on 64-bit, and defaults to a size-64 slab. Creating a slab cache specifically for these structs saves considerable amounts of kernel memory on 64-bit systems with large rulesets. 'Strict' policy has over 300k rules, while 'targeted' policy has around 3k rules. Here's the slabtop output with 64 and 40 byte sized slabs to show the memory savings, for strict policy: 303475 303447 99% 0.06K 4975 61 19900K avtab_node 303456 303447 99% 0.04K 3161 96 12644K avtab_node Also, there are 57% more objects per slab. Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.150, 2004-08-24 11:40:27-07:00, sds@epoch.ncsc.mil [PATCH] SELinux: fix name_bind audit This patch restores the proper auditing behavior for the name_bind check. Author: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.149, 2004-08-24 11:40:15-07:00, sds@epoch.ncsc.mil [PATCH] SElinux; defer inode security initialization This patch defers setting the inode security state for newly created inodes until after policy has been loaded. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.5, 2004-08-24 11:40:15-07:00, alborchers@steinerpoint.com [PATCH] USB: update Edgeport io_fw_down.h - Updated io_fw_down.h for the io_edgeport driver to firmware version 1.16.4 from IO Networks. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.148, 2004-08-24 11:40:03-07:00, sds@epoch.ncsc.mil [PATCH] SELinux: revalidate access to controlling tty This patch changes the SELinux flush_unauthorized_files function to also recheck access to the controlling tty and reset it if it is no longer accessible under the new security context. This patch is relative to the selinuxfs devnull patch. Signed-off-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.147, 2004-08-24 11:39:52-07:00, sds@epoch.ncsc.mil [PATCH] SELinux: add null device node to selinuxfs, remove open_devnull This patch adds a null device node to selinuxfs and replaces the SELinux open_devnull() code by simply acquiring a reference to this node each time, based on a comment by Al Viro on lkml (see http://marc.theaimsgroup.com/?l=linux-kernel&m=108664922032035&w=2). Signed-off-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.4, 2004-08-24 11:39:45-07:00, alborchers@steinerpoint.com [PATCH] USB: update Edgeport io_usbvend.h - Updated io_usbvend.h to the latest version of usbvend.h provided by IO Networks. - Removed Black Box OEM device ids--they are duplicates of existing Edgeport ids and no longer included in IO Networks version of usbvend.h. - Removed the 1 port device from the io_edgeport driver--this device is a parallel port handled by the usblp driver. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.146, 2004-08-24 11:39:40-07:00, jeffm@suse.com [PATCH] Fix access of files up to 4 GB support for ISO9660 filesystems Since the filesystem doesn't explicitly set s->s_maxbytes, seeks will fail beyond 2^32-1, due to s->s_maxbytes being set to the default of MAX_NON_LFS. Attached is the quick one liner fix. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.145, 2004-08-24 11:39:28-07:00, jeffm@suse.com [PATCH] reiserfs: xattr/acl fixes Here are a few fixes for bugs noticed on reiserfs-list or our own bugzilla. Attached is a patch that fixes several problems with xattrs/acls: [SECURITY] Fixes the inode not getting dirtied when mode is set via setxattr() [CORRECTNESS] Fixes the inode not getting ctime updated when an xattr is removed [DATA] Fixes an issue with dcache hash colliding names in the filesystem root caused by the d_compare to hide .reiserfs_priv. The bug can only occur in the filesystem root, which is why we haven't seen many (any, outside of the suse bugzilla, afaik) reports on this. The results are that dcache operations on colliding entries in the fs root will choose the first match rather than the correct entry. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.144, 2004-08-24 11:39:17-07:00, paulkf@microgate.com [PATCH] synclink_cs.c: replace syncppp with genhdlc Replace syncppp interface with generic HDLC interface. Generic HDLC provides superset of syncppp function. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.3, 2004-08-24 11:39:16-07:00, luca.risolia@studio.unibo.it [PATCH] USB: SN9C10[12] driver update Changes: - Delete the correct entry in the outgoing queue during DQBUF - Implement correct image downscaling selection through VIDIOC_S_[CROP|FTM] - Replace darkness controls with brightness (simple swapping) for PAS106B and PAS202BCB - Implement gain control for TAS5110C1B and TAS5130D1B - Add a note to the documentation about correct image downscaling selection Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.143, 2004-08-24 11:39:05-07:00, paulkf@microgate.com [PATCH] synclinkmp.c: replace syncppp with genhdlc Replace syncppp interface with generic HDLC interface. Generic HDLC provides superset of syncppp function. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.142, 2004-08-24 11:38:55-07:00, paulkf@microgate.com [PATCH] synclink.c: replace syncppp with genhdlc Replace syncppp interface with generic HDLC interface. Generic HDLC provides superset of syncppp function. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.2, 2004-08-24 11:38:47-07:00, stern@rowland.harvard.edu [PATCH] USB: Set QH bit in UHCI framelist entries This patch fixes the error in the UHCI driver found by Stuart Hayes. It adds the UHCI_PTR_QH bit into the initial entries stored in the hardware framelist. It's not entirely clear how the driver ever managed to work with these bits not set; apparently by coincidence the QH entries resembled TD entries sufficiently closely to fool the hardware. On Tue, 10 Aug 2004 Stuart_Hayes@Dell.com wrote: > Never mind, I figured it out. It looks like the uhci-hcd driver > doesn't add a "| UHCI_PTR_QH" to the pointers that it puts > in the frame list. This causes the ICH to think that the frame list > is pointing to a bunch of TDs instead of QHs for purposes of > checking for TD errors. I can only assume that the ICH > is actually treating the frame list entries as QH pointers in spite > of that bit not being set when it is actually executing the > schedule, or else I don't think it would work generally. > > I guess the high addresses were just making the QH look like an > invalid TD instead of a valid TD... not sure exactly what the ICH > is checking for! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.4.141, 2004-08-24 11:38:43-07:00, rusty@rustcorp.com.au [PATCH] Move param section out of init area, for export of built-in module params When exporting the module parameters of built-in modules, we need to access the respective struct kernel_parameters. Currently, they're freed at init time, and obviously this can't continue to be done. So, move them out of __init_begin and __init_end and into RODATA in asm-generic/vmlinux.lds.h. Signed-off-by: Rusty Russell (modified) Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.140, 2004-08-24 11:38:29-07:00, rusty@rustcorp.com.au [PATCH] Fix Permissions on module_param Usage module_param() and family take a "perms" argument; several people have incorrectly used "644" instead of "0644". (I have a patch which checks for sane perms at compile time, but it bloats modules, so I haven't included it.) Signed-off-by: Rusty Russell (authored) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.139, 2004-08-24 11:38:17-07:00, rusty@rustcorp.com.au [PATCH] Centralize i386 Constants __FIXADDR_TOP and PAGE_OFFSET are hardcoded in various places. I had to change it to run the kernel under qemu-fast, so I wanted to centralize them. To do this, we rename vsyscall.lds to vsyscall.lds.s, and generate it from vsyscall.lds.S. Signed-off-by: Rusty Russell (created) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.6.1, 2004-08-24 11:38:15-07:00, sean@mess.org [PATCH] USB: USB PhidgetServo driver update Once again a (small) patch for the phidgetservo driver. Some servos have a very high maximum angle, set upper limit to the maximum allowed by the hardware. Reported by Mario Scholz Signed-off-by: Sean Young Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1803.41.54, 2004-08-24 14:36:22-04:00, akpm@osdl.org [PATCH] I2O: run linux/i2o.h and linux/i2o-dev.h through From: Markus Lidel - i2o.h and i2o-dev.h are now formated using Lindent. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.5.6, 2004-08-24 11:35:14-07:00, sds@epoch.ncsc.mil [SELINUX]: Fix bugs introduced by skb_header_pointer() changes. Lines assigning initial value to 'ret' were removed erroneously. Signed-off-by: Stephen Smalley Signed-off-by: David S. Miller ChangeSet@1.1803.41.53, 2004-08-24 14:35:04-04:00, akpm@osdl.org [PATCH] I2O: remove on-demand allocation of Scsi_Host's in From: Markus Lidel - New notification system for i2o_driver's which get now a notification if a I2O controller is added or removed. - SCSI-OSM now uses notifications to create the Scsi_Host to the corresponding I2O controller. - Use __scsi_add_device to preset hostdata. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.4.138, 2004-08-24 11:34:21-07:00, rusty@rustcorp.com.au [PATCH] Read cpumasks every time when exporting through sysfs Paul Jackson points out that the sysfs code saves a node's cpumask in the sysfs node, although it can change with CPU hotplug. Don't do this. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.137, 2004-08-24 11:34:08-07:00, anton@samba.org [PATCH] remove cacheline alignment from inode slabs Most of the inode slabs are cacheline aligned. This can waste a fair amount of memory, especially on architectures with large cacheline sizes (eg 128 bytes). Alignment has a few advantages. It prevents 2 cpus from accessing 2 data structures in the same cacheline. Since struct inodes are well over a cacheline and there are so many of them, there is little chance we will hit this problem if we remove the alignment. Alignment also ensures the maximum amount of the data structure is in the same cacheline (instead of straddling 2 for example). The large size of struct inode reduces this advantage. With this patch the inode_cache slab goes from 640 bytes to 544 bytes, and the number that fits in a 4kB slab goes from 6 to 7 on ppc64. A number of other inode slabs also see improvements. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.136, 2004-08-24 11:33:55-07:00, anton@samba.org [PATCH] reduce size of struct dentry on 64bit Reduce size of struct dentry from 248 to 232 bytes on 64bit. - Reduce size of qstr by 8 bytes, placing int hash and int len together. We gain a further 4 byte saving when qstr is used in struct dentry since qstr goes from 24 to 16 bytes and the next member (d_lru) requires 8 byte alignment (which means 4 bytes of padding). - Move d_mounted to the end, since char d_iname[] only requires 1 byte alignment. This reduces struct dentry by another 4 bytes. With these changes the number of objects we can fit into a 4kB slab goes from 16 to 17 on ppc64. Note the above assumes the architecture naturally aligns types. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.135, 2004-08-24 11:33:43-07:00, anton@samba.org [PATCH] reduce size of struct buffer_head on 64bit Reduce size of buffer_head from 96 to 88 bytes on 64bit architectures by putting b_count and b_size together. b_count will still be in the first 16 bytes on 32bit architectures, so 16 byte cacheline machines shouldnt be affected. With this change the number of objects per 4kB slab goes up from 40 to 44 on ppc64. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.134, 2004-08-24 11:33:32-07:00, pavel@ucw.cz [PATCH] Fix ttyS0 vs. ttyS00 confusion According to devices.txt, serial ports are reffered as ttyS0 (and not ttyS00). It would be nice to use that convention in printks, too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.133, 2004-08-24 11:33:20-07:00, chrisw@osdl.org [PATCH] use simple_read_from_buffer in proc_info_read and proc_pid_attr_read Use simple_read_from_buffer in proc_info_read and proc_pid_attr_read. Viro had ack'd this earlier. Signed-off-by: Chris Wright Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.132, 2004-08-24 11:33:08-07:00, chrisw@osdl.org [PATCH] use simple_read_from_buffer in selinuxfs Use simple_read_from_buffer. This also eliminates page allocation for the sprintf buffer. Switch to get_zeroed_page instead of open-coding it. Viro had ack'd this earlier. Still applies w/ the transaction update. Signed-off-by: Chris Wright Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.131, 2004-08-24 11:32:57-07:00, chrisw@osdl.org [PATCH] Fix typos in security/security.c Fix typos in security/security.c. From: Nicolas Kaiser Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.130, 2004-08-24 11:32:45-07:00, chrisw@osdl.org [PATCH] configurable SELinux bootparam value Add configure option for setting default SELinux bootparam value. Ack'd by James Morris. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.5.5, 2004-08-24 11:32:44-07:00, yoshfuji@linux-ipv6.org [IPSEC]: Add SCTP to xfrm_flowi_{sport,dport}() Signed-off-by: HIDEAKI Yoshifuji Signed-off-by: David S. Miller ChangeSet@1.1803.41.52, 2004-08-24 14:32:36-04:00, akpm@osdl.org [PATCH] I2O: add functionality to scsi_add_device to preset From: Markus Lidel - Add a new function __scsi_add_device, which has an additional parameter compared to scsi_add_device. This parameter is used to preset the hostdata pointer. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.4.129, 2004-08-24 11:32:33-07:00, chrisw@osdl.org [PATCH] small simplification for two SECURITY dependencies I'd suggest the patch below to let the SECURITY_CAPABILITIES and SECURITY_ROOTPLUG dependencies look a bit more simple. Signed-off-by: Adrian Bunk Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.128, 2004-08-24 11:32:21-07:00, hch@lst.de [PATCH] fix some comments about epoch in arch/alpha/kernel/time.c (from the Debian kernel package) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.127, 2004-08-24 11:32:10-07:00, hch@lst.de [PATCH] ppc32: remove dead CONFIG_KERNEL_ELF Kconfig entry We don't allow non-ELF kernels since 2.0 days, and surprisingly this is not actually checked anywhere. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.126, 2004-08-24 11:31:58-07:00, hch@lst.de [PATCH] BUG() on inconsistant dcache tree in may_delete This can't happen with a sane filesystem (but is triggered by the buggy clearcase bin only kernel module), so let's better BUG_ON early. Adopted from Al's patch in the RH tree. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.125, 2004-08-24 11:31:47-07:00, hch@lst.de [PATCH] reduce pty.c ifdef clutter - build only if either CONFIG_LEGACY_PTYS or CONFIG_UNIX98_PTYS are set instead of testing in the file - try to keep big CONFIG_LEGACY_PTYS and CONFIG_UNIX98_PTYS ifdef blocks at the end of the file instead of cluttering all over Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.124, 2004-08-24 11:31:37-07:00, jbarnes@engr.sgi.com [PATCH] fix sn_console for CONFIG_SMP=n I found that sn_console was missing an include and a fix if CONFIG_SMP=n. This patch fixes up the two small problems I found. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.123, 2004-08-24 11:31:25-07:00, jbarnes@engr.sgi.com [PATCH] don't print per-cpu delay loop calibration People are mainly concerned with showing off their total bogomips, not per-cpu bogomips, so turn it into a KERN_DEBUG message for the benefit of systems with lots of CPUs. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.122, 2004-08-24 11:31:13-07:00, jmorris@redhat.com [PATCH] libfs: move transaction file ops into libfs Below is an updated version of the patch which moves duplicated transaction-based file operation code into libfs. Since the last post, the patch has been through a couple of iterations with Al, who suggested a number of cleanups including locking and interface simplification. For filesystem writers, the interface is now much simpler. The simple_transaction_get() helper should be part of the file op write method. This safely obtains the transaction request data during write(), allocates a page for it and stores it there. The data is returned to the caller for potential further processing, which then makes it available for the next read() call via simple_transaction_set(). See the selinuxfs and nfsctl code for examples of use. Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.121, 2004-08-24 11:31:02-07:00, pluto@pld-linux.org [PATCH] ix86,x86_64 cpu features Attached patch fix/add several cpu features. refs: [1] Intel Processor Identification and the CPUID instruction Application Note 485. http://developer.intel.ru/download/design/Xeon/applnots/24161826.pdf [2] http://www.sandpile.org/ia32/cpuid.htm Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.120, 2004-08-24 11:30:50-07:00, davej@redhat.com [PATCH] x86: quieten the "ESR value" printks Only print out the ESR value if it changes after enabling vector. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.119, 2004-08-24 11:30:39-07:00, benjl@cse.unsw.edu.au [PATCH] Use posix headers in sumversion.c When compiling Linux on Mac OSX I had trouble with scripts/sumversion.c. It includes to obtain to definitions of htonl and ntohl. On Mac OSX these are found in . After checking the POSIX specification it appears that this is the correct place to get the definitons for these functions. (http://www.opengroup.org/onlinepubs/009695399/functions/htonl.html) Using this header also appears to work on Linux (at least with Glibc-2.3.2). It seems clearer to me to go with the POSIX standard than implementing #if __APPLE__ style macros, but if such an approach is preferred I can supply patches for that instead. A patch against 2.6.7 which change -> is attached. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.5.4, 2004-08-24 11:30:31-07:00, herbert@gondor.apana.org.au [IPSEC]: Set TTL from route. Here is the promised patch that sets the TTL from the route parameter. I decided against adding an option to inherit the TTL like IPIP/GRE as I think that it doesn't really make sense with IPsec. But it can be easily added later if someone needs it. This isn't completely right when nested tunnels are involved. The TTL for intervening tunnels should be set from the routes to the intervening nodes. But fixing that involves using information that isn't currently in the bundle. I'll revisit this once the MTU stuff is fixed since that'll also involving adding the intervening routes to the bundle. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1837.4.118, 2004-08-24 11:30:27-07:00, bcasavan@sgi.com [PATCH] Fix get_nodes() mask miscalculation It appears there is a nodemask miscalculation in the get_nodes() function in mm/mempolicy.c. This bug has two effects: 1. It is impossible to specify a length 1 nodemask. 2. It is impossible to specify a nodemask containing the last node. The following patch has been confirmed to solve both problems. Signed-off-by: Brent Casavant Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1803.41.51, 2004-08-24 14:30:22-04:00, jejb@mulgrave.(none) i20 rewrite From: Markus Lidel generic: - split i2o_core into several files, grouped by same function - I2O devices are now registered as devices and show up in sysfs - the various I2O OSM's (e.g. i2o_scsi) now register in the I2O core and also use the 2.6 driver mechanism. - I2O messages will be created in the message frame instead of creating it in local memory and copying it over later on. - context list for 64 pointer to 32 context conversion now uses a double linked list PCI: - driver now registers as a PCI device driver and uses probe function to get the possible controllers. (needed for hotplugging) - converted DMA handling from pci_* to generic dma_* functions Block OSM: - use one request queue per I2O block device instead of one per controller - I2O block devices and queues are allocated dynamically and therefore no more limit of block devices SCSI OSM: - corrected bug in SCSI reply function which caused the memory to be freed before the done function was called. - one I2O controller registers as one scsi host instead of one scsi host per channel - no more ch,id,lun => tid mapping table Config OSM: - added ioctl32 for passthru and getiops. - removed ioctl_html Documentation: - removed TODO entries from README - moved docs under Documentation/i2o Signed-off-by: Andrew Morton Signed-off-by: James Bottomley ChangeSet@1.1837.4.117, 2004-08-24 11:30:15-07:00, michal@logix.cz [PATCH] New cpu_has_ flags Add a couple more accessors for xstore features. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.116, 2004-08-24 11:30:04-07:00, pj@sgi.com [PATCH] hige2lowuid warning fixes fs/smbfs/inode.c: In function `smb_fill_super': fs/smbfs/inode.c:563: warning: comparison is always false due to limited range of data type Unfortunately, this patch uses the notorious "gcc warning suppression by obfuscation" technique. What seems to be going on is that the uid and gid convert macros in include/linux/highuid.h: #define __convert_uid(size, uid) \ (size >= sizeof(uid) ? (uid) : high2lowuid(uid)) only call high2lowuid in the case of trying to put a bigger (32 bit, say) uid/gid in a smaller (16 bit, in this case) word. Gcc is smart enough to see that the comparison in high2lowuid() macro is silly if called with a 16 bit source uid, but not smart enough to understand from the __convert_uid() logic that this is exactly the case that high2lowuid() won't be called. So replace the logical "<" operator with the bit op "&~". This obfuscates things enough to shut gcc up. Only build the half-dozen files that use SET_UID/SET_GID, on arch i386 and ia64. Only the file fs/smbfs/inode.c showed the warning, both arch's, and this patch fixed both. Untested further, past staring at the code long enough to convince myself the change has no actual affect on the code's results. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.115, 2004-08-24 11:29:52-07:00, davej@redhat.com [PATCH] fix inlining failures arch/i386/mach-generic/summit.c: In function `send_IPI_all': include/asm/mach-summit/mach_ipi.h:4: sorry, unimplemented: inlining failed in call to 'send_IPI_mask_sequence': function body not available arch/i386/mach-generic/summit.c:8: sorry, unimplemented: called from here make[1]: *** [arch/i386/mach-generic/summit.o] Error 1 make: *** [arch/i386/mach-generic] Error 2 arch/i386/mach-generic/bigsmp.c: In function `send_IPI_all': include/asm/mach-bigsmp/mach_ipi.h:4: sorry, unimplemented: inlining failed in call to 'send_IPI_mask_sequence': function body not available arch/i386/mach-generic/bigsmp.c:8: sorry, unimplemented: called from here make[1]: *** [arch/i386/mach-generic/bigsmp.o] Error 1 make: *** [arch/i386/mach-generic] Error 2 arch/i386/mach-generic/es7000.c: In function `send_IPI_all': include/asm/mach-es7000/mach_ipi.h:4: sorry, unimplemented: inlining failed in call to 'send_IPI_mask_sequence': function body not available arch/i386/mach-generic/es7000.c:8: sorry, unimplemented: called from here make[1]: *** [arch/i386/mach-generic/es7000.o] Error 1 make: *** [arch/i386/mach-generic] Error 2 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.114, 2004-08-24 11:29:41-07:00, pluto@pld-linux.org [PATCH] apm_info.disabled fix This minor fix is required to proper init "APM emulation" on HP-OmniBooks. (An external patch). "APM emulation" is very useful if you want to use a tool which looks into /proc/apm for getting informations about battery charging. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.113, 2004-08-24 11:29:29-07:00, josha@sgi.com [PATCH] Reduce bkl usage in do_coredump A patch that reduces bkl usage in do_coredump. I don't see anywhere that it is necessary except for the call to format_corename, which is controlled via sysctl (sys_sysctl holds the bkl). Also make format_corename() static. Signed-off-by: Josh Aas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.112, 2004-08-24 11:29:18-07:00, ak@suse.de [PATCH] Fix warnings in es7000 Fix warnings in es7000. Otherwise gcc 3.3 complains about too large integer values. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.111, 2004-08-24 11:29:06-07:00, neilb@cse.unsw.edu.au [PATCH] md: RAID10 module This patch adds a 'raid10' module which provides features similar to both raid0 and raid1 in the one array. Various combinations of layout are supported. This code is still "experimental", but appears to work. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.110, 2004-08-24 11:28:54-07:00, neilb@cse.unsw.edu.au [PATCH] md: remove most calls to __bdevname from md.c __bdevname now only prints major/minor number which isn't much help. So remove most calls to it from md.c, replacing those that are useful by calls to bdevname (often printing the message when the error is first detected rather than higher up the call tree). Also discard hot_generate_error which doesn't do anything useful and never has. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.109, 2004-08-24 11:28:42-07:00, neilb@cse.unsw.edu.au [PATCH] md: assorted minor md/raid1 fixes 1/ rationalise read_balance and "map" in raid1. Discard map and tidyup the interface to read_balance so it can be used instead. 2/ use offsetof rather than a caclulation to find the size of an structure with a var-length array at the end. 3/ remove some meaningless #defines 4/ use printk_ratelimit to limit reports of failed sectors being redirected. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.108, 2004-08-24 11:28:31-07:00, neilb@cse.unsw.edu.au [PATCH] md: assorted fixes/improvemnet to generic md resync code. 1/ Introduce "mddev->resync_max_sectors" so that an md personality can ask for resync to cover a different address range than that of a single drive. raid10 will use this. 2/ fix is_mddev_idle so that if there seem to be a negative number of events, it doesn't immediately assume activity. 3/ make "sync_io" (the count of IO sectors used for array resync) an atomic_t to avoid SMP races. 4/ Pass md_sync_acct a "block_device" rather than the containing "rdev", as the whole rdev isn't needed. Also make this an inline function. 5/ Make sure recovery gets interrupted on any error. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.107, 2004-08-24 11:28:18-07:00, wli@holomorphy.com [PATCH] hugetlb: permit executable mappings During the kernel summit, some discussion was had about the support requirements for a userspace program loader that loads executables into hugetlb on behalf of a major application (Oracle). In order to support this in a robust fashion, the cleanup of the hugetlb must be robust in the presence of disorderly termination of the programs (e.g. kill -9). Hence, the cleanup semantics are those of System V shared memory, but Linux' System V shared memory needs one critical extension for this use: executability. The following microscopic patch enables this major application to provide robust hugetlb cleanup. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.5.3, 2004-08-24 11:28:16-07:00, ajgrothe@yahoo.com [CRYPTO]: Add Whirlpool digest algorithm. Given the recent potential weaknesses in the SHA and MD families, I thought it might not be a bad idea to include another hash/digest algorithm in the kernel. So here is Whirlpool. I chose it for a couple of reasons. o - It is by the same people who did Khazad. I feel pretty good about their work. o - It has been evaluated by NESSIE https://www.cosic.esat.kuleuven.ac.be/nessie/reports/phase1/sagwp3-037_1.pdf o - NESSIE has accepted it as one of the cryptographic primitives o - It will be part of an ISO standard in the revised ISO/IEC 10118-3:2003(E) standard, thanks to NESSIE o - It is patent free and has an implementation in the public domain. Signed-off-by: Aaron Grothe Signed-off-by: James Morris Signed-off-by: David S. Miller ChangeSet@1.1837.4.106, 2004-08-24 11:28:07-07:00, wli@holomorphy.com [PATCH] x86 PAE swapspace expansion PAE is artificially limited in terms of swapspace to the same bitsplit as ordinary i386, a 5/24 split (32 swapfiles, 64GB max swapfile size), when a 5/27 split (32 swapfiles, 512GB max swapfile size) is feasible. This patch transparently removes that limitation by using more of the space available in PAE's wider ptes for swap ptes. While this is obviously not likely to be used directly, it is important from the standpoint of strict non-overcommit, where the swapspace must be potentially usable in order to be reserved for non-overcommit. There are workloads with Committed_AS of over 256GB on ia32 PAE wanting strict non-overcommit to prevent being OOM killed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.105, 2004-08-24 11:27:55-07:00, zwane@fsmlabs.com [PATCH] fix i386/x86_64 idle routine selection This was broken when the mwait stuff went in since it executes after the initial idle_setup() has already selected an idle routine and overrides it with default_idle. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.104, 2004-08-24 11:27:43-07:00, manfred@colorfullife.com [PATCH] remove magic +1 from shm segment count Michael Kerrisk found a bug in the shm accounting code: sysv shm allows to create SHMMNI+1 shared memory segments, instead of SHMMNI segments. The +1 is probably from the first shared anonymous mapping implementation that used the sysv code to implement shared anon mappings. The implementation got replaced, it's now the other way around (sysv uses the shared anon code), but the +1 remained. Signed-off-by: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.103, 2004-08-24 11:27:32-07:00, zwane@arm.linux.org.uk [PATCH] OProfile/XScale fixes for PXA270/XScale2 The incorrect mask was being used when writing back to PMNC write-only-zero bits as well as only ticking the CCNT every 64 processor cycles. Tested on IOP331 and PXA270, i'm still looking for XScale1 users... Signed-off-by: Luca Rossato Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.102, 2004-08-24 11:27:20-07:00, wli@holomorphy.com [PATCH] kill CLONE_IDLETASK The sole remaining usage of CLONE_IDLETASK is to determine whether pid allocation should be performed in copy_process(). This patch eliminates that last branch on CLONE_IDLETASK in the normal process creation path, removes the masking of CLONE_IDLETASK from clone_flags as it's now ignored under all circumstances, and furthermore eliminates the symbol CLONE_IDLETASK entirely. From: William Lee Irwin III Fix the fork-idle consolidation. During that consolidation, the generic code was made to pass a pointer to on-stack pt_regs that had been memset() to 0. ia64, however, requires a NULL pt_regs pointer argument and dispatches on that in its copy_thread() function to do SMP trampoline-specific RSE -related setup. Passing pointers to zeroed pt_regs resulted in SMP wakeup -time deadlocks and exceptions. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.101, 2004-08-24 11:27:07-07:00, wli@holomorphy.com [PATCH] sched: consolidate CLONE_IDLETASK masking Every arch now bears the burden of sanitizing CLONE_IDLETASK out of the clone_flags passed to do_fork() by userspace. This patch hoists the masking of CLONE_IDLETASK out of the system call entrypoints into do_fork(), and thereby removes some small overheads from do_fork(), as do_fork() may now assume that CLONE_IDLETASK has been cleared. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.100, 2004-08-24 11:26:54-07:00, josha@sgi.com [PATCH] improve speed of freeing bootmem Attached is a patch that greatly improves the speed of freeing boot memory. On ia64 machines with 2GB or more memory (I didn't test with less, but I can't imagine there being a problem), the speed improvement is about 75% for the function free_all_bootmem_core. This translates to savings on the order of 1 minute / TB of memory during boot time. That number comes from testing on a machine with 512GB, and extrapolating based on profiling of an unpatched 4TB machine. For 4 and 8 TB machines, the time spent in this function is about 1 minutes/TB, which is painful especially given that there is no indication of what is going on put to the console (this issue to possibly be addressed later). The basic idea is to free higher order pages instead of going through every single one. Also, some unnecessary atomic operations are done away with and replaced with non-atomic equivalents, and prefetching is done where it helps the most. For a more in-depth discusion of this patch, please see the linux-ia64 archives (topic is "free bootmem feedback patch"). The patch is originally Tony Luck's, and I added some further optimizations (non-atomic ops improvements and prefetching). Signed-off-by: Tony Luck Signed-off-by: Josh Aas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.99, 2004-08-24 11:26:42-07:00, pbadari@us.ibm.com [PATCH] Fix mpage_readpage() for big requests The problem is, if we increase our readhead size arbitrarily (say 2M), we call mpage_readpages() with 2M and when it tries to allocated a bio enough to fit 2M it fails, then we kick it back to "confused" code - which does 4K at a time. The fix is to ask for the maxium the driver can handle. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.98, 2004-08-24 11:26:31-07:00, roland@topspin.com [PATCH] x86: remove hard-coded numbers from ptr_ok() Looks like arch/i386/kernel/doublefault.c is one place in the code that hardcodes the assumption that PAGE_OFFSET == 0xC0000000. Here's a patch that fixes that. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.97, 2004-08-24 11:26:19-07:00, James@superbug.demon.co.uk [PATCH] emu10k1 maintainer update Rui Sousa has been unreachable for a long time now, so I have taken over the emu10k1 project on sf.net. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.96, 2004-08-24 11:26:07-07:00, andrea@suse.de [PATCH] Correctly handle d_path error returns There's some minor bug in the d_path handling (the nfsd one may not the the correct fix, there's no failure path for it, so I just terminate the string, and the last one in the audit subsystem is just a robustness cleanup if somebody will extend d_path in the future, right now it's a noop). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.95, 2004-08-24 11:25:56-07:00, akpm@osdl.org [PATCH] alloc_pages priority tuning Fix up the logic which decides when the caller can dip into page reserves. - If the caller has realtime scheduling policy, or if the caller cannot run direct reclaim, then allow the caller to use up to a quarter of the page reserves. - If the caller has __GFP_HIGH then allow the caller to use up to half of the page reserves. - If the caller has PF_MEMALLOC then the caller can use 100% of the page reserves. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.94, 2004-08-24 11:25:44-07:00, nickpiggin@yahoo.com.au [PATCH] vm: alloc_pages watermark fixes Previously the ->protection[] logic was broken. It was difficult to follow and basically didn't use the asynch reclaim watermarks (pages_min, pages_low, pages_high) properly. Now use ->protection *only* for lower-zone protection. So the allocator now explicitly uses the ->pages_low, ->pages_min watermarks and adds ->protection on top of that, instead of trying to use ->protection for everything. Pages are allocated down to (->pages_low + ->protection), once this is reached, kswapd the background reclaim is started; after this, we can allocate down to (->pages_min + ->protection) without blocking; the memory below pages_min is reserved for __GFP_HIGH and PF_MEMALLOC allocations. kswapd attempts to reclaim memory until ->pages_high is reached. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.93, 2004-08-24 11:25:33-07:00, nickpiggin@yahoo.com.au [PATCH] vm: writeout watermark tuning Slightly change the writeout watermark calculations so we keep background and synchronous writeout watermarks in the same ratios after adjusting them for the amout of mapped memory. This ensures we should always attempt to start background writeout before synchronous writeout and preserves the admin's desired background-versus-forground ratios after we've auto-adjusted one of them. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.92, 2004-08-24 11:25:21-07:00, hugh@veritas.com [PATCH] simple fs stop -ve dentries A tmpfs user reported increasingly slow directory reads when repeatedly creating and unlinking in a mkstemp-like way. The negative dentries accumulate alarmingly (until memory pressure finally frees them), and are just a hindrance to any in-memory filesystem. simple_lookup set d_op to arrange for negative dentries to be deleted immediately. (But I failed to discover how it is that on-disk filesystems seem to keep their negative dentries within manageable bounds: this effect was gross with tmpfs or ramfs, but no problem at all with extN or reiser.) Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.91, 2004-08-24 11:25:09-07:00, hugh@veritas.com [PATCH] clarify get_task_mm (mmgrab) Clarify mmgrab by collapsing it into get_task_mm (in fork.c not inline), and commenting on the special case it is guarding against: when use_mm in an AIO daemon temporarily adopts the mm while it's on its way out. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.90, 2004-08-24 11:24:57-07:00, marcelo.tosatti@cyclades.com [PATCH] x86 bitops.h commentary on instruction reordering Back when we were discussing the need for a memory barrier in sync_page(), it came to me (thanks Andrea!) that the bit operations can be perfectly reordered on architectures other than x86. I think the commentary on i386 bitops.h is misleading, its worth to note that that these operations are not guaranteed not to be reordered on different architectures. clear_bit() already does that: * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, * you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() * in order to ensure changes are visible on other processors. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.89, 2004-08-24 11:24:46-07:00, hugh@veritas.com [PATCH] rmaplock: swapoff use anon_vma Swapoff can make good use of a page's anon_vma and index, while it's still left in swapcache, or once it's brought back in and the first pte mapped back: unuse_vma go directly to just one page of only those vmas with the same anon_vma. And unuse_process can skip any vmas without an anon_vma (extending the hugetlb check: hugetlb vmas have no anon_vma). This just hacks in on top of the existing procedure, still going through all the vmas of all the mms in mmlist. A more elegant procedure might replace mmlist by a list of anon_vmas: but that would be more work to implement, with apparently more overhead in the common paths. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.88, 2004-08-24 11:24:34-07:00, hugh@veritas.com [PATCH] rmaplock: mm lock ordering With page_map_lock out of the way, there's no need for page_referenced and try_to_unmap to use trylocks - provided we switch anon_vma->lock and mm->page_table_lock around in anon_vma_prepare. Though I suppose it's possible that we'll find that vmscan makes better progress with trylocks than spinning - we're free to choose trylocks again if so. Try to update the mm lock ordering documentation in filemap.c. But I still find it confusing, and I've no idea of where to stop. So add an mm lock ordering list I can understand to rmap.c. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.87, 2004-08-24 11:24:22-07:00, hugh@veritas.com [PATCH] rmaplock: SLAB_DESTROY_BY_RCU With page_map_lock gone, how to stabilize page->mapping's anon_vma while acquiring anon_vma->lock in page_referenced_anon and try_to_unmap_anon? The page cannot actually be freed (vmscan holds reference), but however much we check page_mapped (which guarantees that anon_vma is in use - or would guarantee that if we added suitable barriers), there's no locking against page becoming unmapped the instant after, then anon_vma freed. It's okay to take anon_vma->lock after it's freed, so long as it remains a struct anon_vma (its list would become empty, or perhaps reused for an unrelated anon_vma: but no problem since we always check that the page located is the right one); but corruption if that memory gets reused for some other purpose. This is not unique: it's liable to be problem whenever the kernel tries to approach a structure obliquely. It's generally solved with an atomic reference count; but one advantage of anon_vma over anonmm is that it does not have such a count, and it would be a backward step to add one. Therefore... implement SLAB_DESTROY_BY_RCU flag, to guarantee that such a kmem_cache_alloc'ed structure cannot get freed to other use while the rcu_read_lock is held i.e. preempt disabled; and use that for anon_vma. Fix concerns raised by Manfred: this flag is incompatible with poisoning and destructor, and kmem_cache_destroy needs to synchronize_kernel. I hope SLAB_DESTROY_BY_RCU may be useful elsewhere; but though it's safe for little anon_vma, I'd be reluctant to use it on any caches whose immediate shrinkage under pressure is important to the system. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.86, 2004-08-24 11:24:11-07:00, hugh@veritas.com [PATCH] rmaplock: kill page_map_lock The pte_chains rmap used pte_chain_lock (bit_spin_lock on PG_chainlock) to lock its pte_chains. We kept this (as page_map_lock: bit_spin_lock on PG_maplock) when we moved to objrmap. But the file objrmap locks its vma tree with mapping->i_mmap_lock, and the anon objrmap locks its vma list with anon_vma->lock: so isn't the page_map_lock superfluous? Pretty much, yes. The mapcount was protected by it, and needs to become an atomic: starting at -1 like page _count, so nr_mapped can be tracked precisely up and down. The last page_remove_rmap can't clear anon page mapping any more, because of races with page_add_rmap; from which some BUG_ONs must go for the same reason, but they've served their purpose. vmscan decisions are naturally racy, little change there beyond removing page_map_lock/unlock. But to stabilize the file-backed page->mapping against truncation while acquiring i_mmap_lock, page_referenced_file now needs page lock to be held even for refill_inactive_zone. There's a similar issue in acquiring anon_vma->lock, where page lock doesn't help: which this patch pretends to handle, but actually it needs the next. Roughly 10% cut off lmbench fork numbers on my 2*HT*P4. Must confess my testing failed to show the races even while they were knowingly exposed: would benefit from testing on racier equipment. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.85, 2004-08-24 11:23:59-07:00, hugh@veritas.com [PATCH] rmaplock: PageAnon in mapping First of a batch of five patches to eliminate rmap's page_map_lock, replace its trylocking by spinlocking, and use anon_vma to speed up swapoff. Patches updated from the originals against 2.6.7-mm7: nothing new so I won't spam the list, but including Manfred's SLAB_DESTROY_BY_RCU fixes, and omitting the unuse_process mmap_sem fix already in 2.6.8-rc3. This patch: Replace the PG_anon page->flags bit by setting the lower bit of the pointer in page->mapping when it's anon_vma: PAGE_MAPPING_ANON bit. We're about to eliminate the locking which kept the flags and mapping in synch: it's much easier to work on a local copy of page->mapping, than worry about whether flags and mapping are in synch (though I imagine it could be done, at greater cost, with some barriers). Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.5.2, 2004-08-24 11:23:53-07:00, lkml@felipe-alfaro.com [NETFILTER]: Missing netfilter_ipv4.c include in conntrack proto code. Signed-off-by: Felipe Alfaro Solana Signed-off-by: David S. Miller ChangeSet@1.1837.4.84, 2004-08-24 11:23:48-07:00, rl@hellgate.ch [PATCH] Fix /proc/pid/statm documentation I really wanted /proc/pid/statm to die and I still believe the reasoning is valid. As it doesn't look like that is going to happen, though, I offer this fix for the respective documentation. Note: lrs/drs fields are switched. Signed-off-by: Roger Luethi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.83, 2004-08-24 11:23:35-07:00, arjanv@redhat.com [PATCH] Automatically enable bigsmp on big HP machines This enables apic=bigsmp automatically on some big HP machines that need it. This makes them boot without kernel parameters on a generic arch kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.82, 2004-08-24 11:23:25-07:00, wli@holomorphy.com [PATCH] ia64: dma_mapping fix We need to be able to dereference struct device in include/asm-ia64/dma-mapping.h. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.81, 2004-08-24 11:23:14-07:00, ak@suse.de [PATCH] md: make MD no device warning KERN_WARNING Prevents some noise during boot up when no MD volumes are found. I think I picked it up from someone else, but I cannot remember from whom (sorry) Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.80, 2004-08-24 11:23:04-07:00, zaitcev@redhat.com [PATCH] Make MAX_INIT_ARGS 32 We at Red Hat shipped a larger number of arguments for quite some time, it was required for installations on IBM mainframe (s390), which doesn't have a good way to pass arguments. There are a number of reasonable situations that go past the current limits of 8. One that comes to mind is when you want to perform a manual vnc install on a headless machine using anaconda. This requires passing in a number of parameters to get anaconda past the initial (no-gui) loader screens. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.79, 2004-08-24 11:22:52-07:00, suparna@in.ibm.com [PATCH] AIO: workqueue context switch reduction From: Chris Mason I compared the 2.6 pipetest results with the 2.4 suse kernel, and 2.6 was roughly 40% slower. During the pipetest run, 2.6 generates ~600,000 context switches per second while 2.4 generates 30 or so. aio-context-switch (attached) has a few changes that reduces our context switch rate, and bring performance back up to 2.4 levels. These have only really been tested against pipetest, they might make other workloads worse. The basic theory behind the patch is that it is better for the userland process to call run_iocbs than it is to schedule away and let the worker thread do it. 1) on io_submit, use run_iocbs instead of run_iocb 2) on io_getevents, call run_iocbs if no events were available. 3) don't let two procs call run_iocbs for the same context at the same time. They just end up bouncing on spinlocks. The first three optimizations got me down to 360,000 context switches per second, and they help build a little structure to allow optimization #4, which uses queue_delayed_work(HZ/10) instead of queue_work. That brings down the number of context switches to 2.4 levels. Adds aio_run_all_iocbs so that normal processes can run all the pending retries on the run list. This allows worker threads to keep using list splicing, but regular procs get to run the list until it stays empty. The end result should be less work for the worker threads. I was able to trigger short stalls (1sec) with aio-stress, and with the current patch they are gone. Could be wishful thinking on my part though, please let me know how this works for you. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.78, 2004-08-24 11:22:40-07:00, suparna@in.ibm.com [PATCH] AIO: Splice runlist for fairness across io contexts This patch tries be a little fairer across multiple io contexts in handling retries, helping make sure progress happens uniformly across different io contexts (especially if they are acting on independent queues). It splices the ioctx runlist before processing it in __aio_run_iocbs. If new iocbs get added to the ctx in meantime, it queues a fresh workqueue entry instead of handling them righaway, so that other ioctxs' retries get a chance to be processed before the newer entries in the queue. This might make a difference in a situation where retries are getting queued very fast on one ioctx, while the workqueue entry for another ioctx is stuck behind it. I've only seen this occasionally earlier and can't recreate it consistently, but may be worth including anyway. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.77, 2004-08-24 11:22:28-07:00, suparna@in.ibm.com [PATCH] AIO: retry infrastructure fixes and enhancements From: Daniel McNeil From: Chris Mason AIO: retry infrastructure fixes and enhancements Reorganises, comments and fixes the AIO retry logic. Fixes and enhancements include: - Split iocb setup and execution in io_submit (also fixes io_submit error reporting) - Use aio workqueue instead of keventd for retries - Default high level retry methods - Subtle use_mm/unuse_mm fix - Code commenting - Fix aio process hang on EINVAL (Daniel McNeil) - Hold the context lock across unuse_mm - Acquire task_lock in use_mm() - Allow fops to override the retry method with their own - Elevated ref count for AIO retries (Daniel McNeil) - set_fs needed when calling use_mm - Flush workqueue on __put_ioctx (Chris Mason) - Fix io_cancel to work with retries (Chris Mason) - Read-immediate option for socket/pipe retry support Note on default high-level retry methods support ================================================ High-level retry methods allows an AIO request to be executed as a series of non-blocking iterations, where each iteration retries the remaining part of the request from where the last iteration left off, by reissuing the corresponding AIO fop routine with modified arguments representing the remaining I/O. The retries are "kicked" via the AIO waitqueue callback aio_wake_function() which replaces the default wait queue entry used for blocking waits. The high level retry infrastructure is responsible for running the iterations in the mm context (address space) of the caller, and ensures that only one retry instance is active at a given time, thus relieving the fops themselves from having to deal with potential races of that sort. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.76, 2004-08-24 11:22:16-07:00, bjorn.helgaas@hp.com [PATCH] cpqfc: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.75, 2004-08-24 11:22:05-07:00, bjorn.helgaas@hp.com [PATCH] de4x5.c: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.74, 2004-08-24 11:21:53-07:00, bjorn.helgaas@hp.com [PATCH] ioc3-eth.c: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.73, 2004-08-24 11:21:42-07:00, bjorn.helgaas@hp.com [PATCH] hp100.c: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.72, 2004-08-24 11:21:30-07:00, bjorn.helgaas@hp.com [PATCH] ibmasm: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.71, 2004-08-24 11:21:20-07:00, bjorn.helgaas@hp.com [PATCH] tpam_main.c: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.70, 2004-08-24 11:21:08-07:00, bjorn.helgaas@hp.com [PATCH] ip2main.c: add missing pci_enable_device() I don't have this hardware, so this has been compiled but not tested. Add pci_enable_device()/pci_disable_device In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. In addition, this driver incorrectly used the IRQ value from PCI config space rather than the one in the struct pci_dev. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.5.1, 2004-08-24 11:21:01-07:00, yoshfuji@linux-ipv6.org [IPV6]: Fix device handling in ip6_route_add(). Signed-off-by: HIDEAKI Yoshifuji Signed-off-by: David S. Miller ChangeSet@1.1837.4.69, 2004-08-24 11:20:57-07:00, bjorn.helgaas@hp.com [PATCH] idt77252.c: add missing pci_enable_device() Add pci_enable_device()/pci_disable_device(). In the past, drivers often worked without this, but it is now required in order to route PCI interrupts correctly. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.68, 2004-08-24 11:20:45-07:00, haveblue@us.ibm.com [PATCH] don't pass mem_map into init functions When using CONFIG_NONLINEAR, a zone's mem_map isn't contiguous, and isn't allocated in the same place. This means that nonlinear doesn't really have a mem_map[] to pass into free_area_init_node() or memmap_init_zone() which makes any sense. So, this patch removes the 'struct page *mem_map' argument to both of those functions. All non-NUMA architectures just pass a NULL in there, which is ignored. The solution on the NUMA arches is to pass the mem_map in via the pgdat, which works just fine. To replace the removed arguments, a call to pfn_to_page(node_start_pfn) is made. This is valid because all of the pfn_to_page() implementations rely only on the pgdats, which are already set up at this time. Plus, the pfn_to_page() method should work for any future nonlinear-type code. Finally, the patch creates a function: node_alloc_mem_map(), which I plan to effectively #ifdef out for nonlinear at some future date. Compile tested and booted on SMP x86, NUMAQ, and ppc64. From: Jesse Barnes Fix up ia64 specific memory map init function in light of Dave's memmap_init cleanups. Signed-off-by: Jesse Barnes From: Dave Hansen Looks like I missed a couple of architectures. This patch, on top of my previous one and Jesse's should clean up the rest. From: William Lee Irwin III x86-64 wouldn't compile with NUMA support on, as node_alloc_mem_map() references mem_map outside #ifdefs on CONFIG_NUMA/CONFIG_DISCONTIGMEM. This patch wraps that reference in such an #ifdef. From: William Lee Irwin III Initializing NODE_DATA(nid)->node_mem_map prior to calling it should do. From: Dave Hansen Rick, I bet you didn't think your nerf weapons would be so effective in getting that compile error fixed, did you? Applying the attached patch and commenting out this line: arch/i386/kernel/nmi.c: In function `proc_unknown_nmi_panic': arch/i386/kernel/nmi.c:558: too few arguments to function `proc_dointvec' will let it compile. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.67, 2004-08-24 11:20:32-07:00, guillaume.thouvenin@bull.net [PATCH] watchdog: fix warning "defined but not used" Function wdtpci_init_one() in file wdt_pci.c generates a warning when compiling the watchdog driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.66, 2004-08-24 11:20:21-07:00, wli@holomorphy.com [PATCH] first/next_cpu returns values > NR_CPUS Zwane Mwaikambo wrote: The following caused some fireworks whilst merging i386 cpu hotplug. any_online_cpu(0x2) returns 32 on i386 if we're forced to continue past the only set bit due to the additional find_first_bit in the find_next_bit i386 implementation. Not wanting to change current behaviour in the bitops primitives and since the NR_CPUS thing is a cpumask issue, i've opted to fix next_cpu() and first_cpu() instead. This might save a couple of lines of code. From: Fix cross-arch ulong/int disaster with find_next_bit(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.65, 2004-08-24 11:20:09-07:00, ak@suse.de [PATCH] New x86-64 merge This fixes various issues in the previous update, in particular a kernel without CONFIG_GART_IOMMU should boot now again, The kernel discoverys PCI BUS<->CPU affinity on AMD systems now. It is so far used by dma_alloc_coherent to allocate memory Experimental patches to add this to sysfs exist, but they're not included yet. On systems with no memory on a CPU this information may be wrong. It has a new experimental CONFIG_UNORDERED_IO option. When enabled it uses write combining for stores to device iomemory mapping. This may give better performance with some device drivers, but has a slight risk of breaking drivers (in general if a driver works on ia64,ppc64,sparc64 it should also work). Based on some discussions with Grant Grundler. It requires the driver to use memory barriers properly. I would be interested in feedback on any performance changes you're seeing. For a production system I would recommend to keep it turned off(although I run it on all my systems and haven't run into any problems yet) ACPI and Centrino speedstep is enabled now for Nocona systems. The IOMMU code does lazy merging by default now, which should be safe and may increase performance on block IO. It also avoids SAC force by default now. The machine check code has been improved again, hopefully it is good now. It will log now machine check events from before the last reset. And various other fixes. The x86-64 parts are now gcc 3.5 clean. And various other fixes - Update defconfig - Reset lost ticks on lost time warning, print RIP. - Make TASK_SIZE test for 32bit (Arjan van de Ven) - Work around bug in generic code that broke pcibus_to_cpumask - Actually fix dummy iommu code - Compile i386 acpi and speedstep-centrino cpufreq modules - Export cpu_khz - Fix compilation without GART_IOMMU - Optimize find_*_bit functions for small fields - Discover nodes near PCI busses on K8 (Travis Betak, changed by me) - Optimize gart tlb flush slightly - Add experimental CONFIG_UNORDERED_IO for unordered IO stores - Add 32bit emulation for PTRACE_GETEVENTMSG - Fix kernel_fpu_{begin,end} for preemptive kernels (Alexander Nyberg) - Readd proper check for biomerge (got lost) - Set up 32bit vsyscall page for ptrace early - Add 32bit emulation for lookup_dcookie() for oprofile - Export copy_page / clear_page - Use rex prefix in save_init_fpu fxsave (Jan Beulich) - Make it compile again - Fix handling of hwdev == NULL (= ISA/LPC devices) in swiotlb - Convert PCI DMA code to dma devices - Change IOMMU code to use dummy fallback device instead of hardcoded NULL tests everywhere. - Test iommu_sac_force instead of nommu for DAC supported macro (will cause more drivers to use DAC) - Harden non IOMMU dma_alloc_consistent code to fail less likely. - Remove use of strsep in option parsers - Remove duplicated exports (Arjan van der Ven) - Fix EFAULT checking in ptrace (John Blackwood) - Update defconfig - Remove dead URL from boot/setup.S (R.J. Wysocki) - Use compat_sigval_t instead of sigval_t32 (Al Viro) - Nanooptimization in 32bit ptregs calls - Fix gcc 3.5 compilation in mtrr.h - Pass pt_regs as pointer to avoid illegal pass by reference (for gcc 3.5) - Make set_bit take int not long (Harald Dunkel) - Avoid panic on pci_map_sg and pci_alloc_consistent overflow in GART IOMMU - Handle large lost time delays in HPET code (Suresh B. Siddha) - Work around theoretical bugs in prefetch handling (suggested by Jamie Lokier) - Remove mtrr_strings declaration for gcc 3.5 - Set KBUILD_IMAGE for make rpm (William Lee Irwin III) - Add iommu=noaperture to not touch the aperture - Clean up argument parsing for iommu= option - Export symbols for xchgadd based rwsems (still disabled) - Define iommu_bio_merge for !CONFIG_GART_IOMMU - Don't use backwards rep ; movsb for memmove - Out line bitmap search functions (saves 8k .text, from i386) - Convert bitmap search functions to 64bit accesses and optimize them a bit. - Handle corrupted page tables in page fault handler - Set iommu_merge (without force) to on by default again. - Don't do bio merging by default for iommu=merge. This should make it safe to use again - Add iommu=biomerge option to enable BIO merging (like old iommu=merge) - Fix iommu=memaper=... parsing - More MCE fixes (based on a patch by Eric Morton, heavily changed by me) - Fix check for banks causing exceptions - Allow to reinit MCEs later even after mce=off, fix wrong use of __initdata to disable at boot, but reenable later. - Log left over machine checks after boot and resume - Fix missing prototype warning with CPU_FREQ on - Fix parsing of noexec=on (Ian Hastie) - Fix warning in ia32_binfmt.c - Resync time variable cpu frequency handling with i386 - Resync msr.c with i386 - Add 0x60 level 1 intel cache descriptor (from i386) - Remove duplicated 32bit ioctls (Arnd Bergmann) - Enable -msoft-float (from i386) - Use faster version of FPU hang fix - handle the exception * a bit experimental, if you see "kernel ... math error" events in the log please report. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.64, 2004-08-24 11:19:45-07:00, akropel1@rochester.rr.com [PATCH] preset loops_per_jiffy for faster booting Adds a kernel boot parameter "lpj=NNN" which allows the operator to specify the loops-per-jiffy value. This shaves up to a quarter of a second off boot times, which are critical for embedded appliances. It's a bit thin, but the code is in __init. Signed-off-by: Adam Kropelin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.63, 2004-08-24 11:19:34-07:00, mika@osdl.org [PATCH] Fix drivers/isdn/hisax/avm_pci.c build warning when !CONFIG_ISAPNP CC [M] drivers/isdn/hisax/avm_pci.o drivers/isdn/hisax/avm_pci.c: In function `setup_avm_pcipnp': drivers/isdn/hisax/avm_pci.c:817: warning: label `ready' defined but not used Patch is big because I replaced the '} else { ... }' with 'goto ready; }' and so had to remove one level of indentation from code. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.62, 2004-08-24 11:19:22-07:00, jdike@addtoit.com [PATCH] Make UML build and run This patch includes the following - updated defconfig move uml.lds.S and main.c from arch/um to arch/um/kernel per Sam's suggestions steal bitops.c from arch/i386 convert all calls to open_private_file to dentry_open Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.61, 2004-08-24 11:18:53-07:00, jdike@addtoit.com [PATCH] UML fixes The patch below fixes a few UML-specific bugs not related to the rest of the kernel a bogus error return and some formatting in the fork code correct calculation of task.thread.kernel_stack remove a bogus panic a couple of fixes to allow UML to boot in the presence of exec-shield Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.60, 2004-08-24 11:18:42-07:00, jdike@addtoit.com [PATCH] UML updates The patch below brings UML up to date with interface changes and the like irq.c includes profile.h to bring in a missing definition use the cpu_{set,clear} interface use the new get_signal_to_deliver interface define instruction_pointer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.59, 2004-08-24 11:18:30-07:00, coywolf@greatcn.org [PATCH] uml: remove a group of unused bh functions This patch removes a group of unused bh functions in um. This 2.2 legacy code should be cleaned up. Signed-off-by: Coywolf Qi Hunt Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.58, 2004-08-24 11:18:19-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Fix os_process_pc and os_process_parent for corner cases. Update os_process_pc and os_process_parent: now a PID can be > 32768 (so increase number of digits) and make it work even with spaces in the command name. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.57, 2004-08-24 11:18:07-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: little-kmalloc Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.56, 2004-08-24 11:17:56-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Make malloc() call vmalloc if needed. Needed for hostfs on 2.6 host. From: Oleg Drokin , Jeff Dike , and me If size > 128K, with this patch malloc will call vmalloc; free will detect whether to call vfree or kfree or __real_free(). The 2.4 version could forget free()ing something; this has been fixed. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.55, 2004-08-24 11:17:44-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Removes dead code in trap_kern.c That code comes from the out_of_memory section; in 2.4 it was correct to put it for "default:", since it was called when handle_mm_fault() return value was != 0, 1, 2, i.e. it was 3, OOM (but the i386 code put it out of line, for better performance). Here, instead, the OOM case is handled on its own, so if handle_mm_fault() != from the listed cases we must BUG(). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.54, 2004-08-24 11:17:33-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Avoids a panic for a legal situation From: Alex Züpke , and me SKAS mode is like 4G/4G (here we have actually 3G/3G) for guest processes, so when checking for kernel stack overflow, we must first make sure we are checking a kernel-space address. Also, correctly test for stack overflows (i.e. check if there is less than 1k of stack left; see arch/i386/kernel/irq.c:do_IRQ()). And also, THREAD_SIZE != PAGE_SIZE * 2, in general (though this setting is almost never changed, so we didn't notice this1). Thanks to the good eye of Alex Züpke for first seeing this bug, and providing a test program: /* * trigger.c - triggers panic("Kernel stack overflow") in UML * * 20040630, azu@sysgo.de */ #include #include #include #include #include #include #include #define LOW 0xa0000000 #define HIGH 0xb0000000 int main(int argc, char **argv) { unsigned long addr; int fd; fd = open("/dev/zero", O_RDWR); printf("This may take some time ... one more cup of coffee ...\n"); for(addr = LOW; addr < HIGH; addr += 0x1000) { pid_t p; if(mmap((void*)addr, 0x1000, PROT_READ, MAP_SHARED | MAP_FIXED, fd, 0) == MAP_FAILED) printf("mmap failed\n"); p = fork(); if(p == -1) printf("fork failed\n"); if(p == 0) { /* child context */ int *p = (int *)addr; volatile int x; x = *p; return 0; } /* father context */ waitpid(p, 0, 0); if(munmap((void*)addr, 0x1000) == -1) printf("munmap failed\n"); } close(fd); printf("done\n"); } Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.2.9, 2004-08-24 19:17:29+01:00, davej@redhat.com [CPUFREQ] Fix silly typo that broke the compile. Signed-off-by: Dave Jones ChangeSet@1.1837.4.53, 2004-08-24 11:17:21-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Adds some exports Adds some exports Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.52, 2004-08-24 11:17:10-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Handles correctly errno == EINTR in lots of places. On various places (mostly waitpid() calls) this patch makes sure that if errno == EINTR on return, then the syscall is endlessly retried. It also defines a simple generic way to do this. Signed-off-by: Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.51, 2004-08-24 11:17:00-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Fix for sysemu patches - Correct some silly errors (dereferencing a pointer before checking if it's != NULL when creating /proc/sysemu, some error messages) - separate using_sysemu from sysemu_supported (so to refuse to activate sysemu if it is not supported, avoiding panics) - not probe sysemu if in tt mode. Signed-off-by: Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.50, 2004-08-24 11:16:48-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Adds /proc/sysemu to toggle SYSEMU usage. Adds /proc/sysemu to toggle SYSEMU usage. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.49, 2004-08-24 11:16:37-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Adds the "nosysemu" command line parameter to disable SYSEMU Adds the "nosysemu" command line parameter to disable SYSEMU Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.48, 2004-08-24 11:16:25-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Use PTRACE_SCEMU (the so-called SYSEMU) to reduce syscall cost. Turns off syscall emulation patch for ptrace (SYSEMU) on. SYSEMU is a performance-patch introduced by Laurent Vivier. It changes behaviour of ptrace() and helps reducing host context switch rate. To make it working, you need a kernel patch for your host, too. See http://perso.wanadoo.fr/laurent.vivier/UML/ for further information. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.47, 2004-08-24 11:16:14-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Folds hostaudio_user.c into hostaudio_kern.c. Folds hostaudio_user.c into hostaudio_kern.c. A lot of code less. Also note that I no more update ppos(as I used to do in the 2.4 patch): I checked that OSS never changes ppos, so hostaudio did the right thing. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.46, 2004-08-24 11:16:02-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Fixes raw() and uses it in check_one_sigio; also fixes a silly panic (EINTR returned by call). Fixes raw() and uses it in check_one_sigio; also fixes a silly panic (EINTR returned by call). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.45, 2004-08-24 11:15:51-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Reduces code in *_user files, by moving it in _kern files if already possible. Reduces code in *_user files, by moving it in _kern files if already possible. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.44, 2004-08-24 11:15:40-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Avoids compile failure when host misses tkill(). Avoids compile failure when host misses tkill(), by simply using kill() in that case. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.43, 2004-08-24 11:15:29-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Kill useless warnings Fixes some little warnings about "Defined but not used ..." by #ifdef'ing things Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.42, 2004-08-24 11:15:17-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Fixes "fixdep.c" to support arch/um/include/uml-config.h. You probably saw that if you change one config option, even if linux/autoconf.h (which is included by everything) changes, the kernel is smart enough not to recompile everything. But with UML this no more holds. Why? Because, as you see in this patch, fixdep avoids making anything depend onto linux/autoconf.h *explicitly*, but nobody taught him to do the same for arch/um/include/uml-config.h. So apply this patch. Do not say "I don't want to change the generic Kbuild for one arch": this cannot hurt. It's a bugfix for us, a no-op for others. Note: with this patch, fixdep will still add a dependency from a file containing UML_CONFIG_BYE onto CONFIG_BYE. Since someone could think that fixdep should grep for [^A-Z_]CONFIG_ rather than simply for CONFIG_, I've added a comment that ask *not to fix* this "bug". Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.41, 2004-08-24 11:15:06-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Makes "make help ARCH=um" work. Makes "make help ARCH=um" work. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.40, 2004-08-24 11:14:54-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Adds LEGACY_PTY config option The second adds the LEGACY_PTY config option. Without it, with late 2.6 kernels /dev/ptyxx won't work. In fact, with those kernels, root_fs_toms does not work, because it's "unable to allocate TTY pair". And removes the dead option "UNIX98_PTY_COUNT" (just commented out for now). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.39, 2004-08-24 11:14:43-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Fixes an host fd leak caused by hostfs. In detail, on 2.4 we used force_delete() to make sure inode were not cached, and we then close the host file when the inode is cleared; when porting to 2.6 the "force_delete" thing was dropped, and this patch adds a fix for this (by setting drop_inode = generic_delete_inode). Search for drop_inode in the 2.6 Documentation/filesystems/vfs.txt for info about this. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.38, 2004-08-24 11:14:34-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Avoid that gcc breaks UML with "unit at a time" compilation mode. Avoid that gcc breaks UML with "unit at a time" compilation mode. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.37, 2004-08-24 11:14:22-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Readds (just for now) ghash.h for UML Just for now and just for UML; it will go away. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.36, 2004-08-24 11:14:10-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: rename console_device In the -mm tree (in this moment) and not in 2.6.7 there is another console_device in include/linux/console.h; so I renamed the UML one (it's static). Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.35, 2004-08-24 11:13:58-07:00, akpm@osdl.org [PATCH] uml: CPU scheduler update Update UML for CPU scheduler changes Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.34, 2004-08-24 11:13:46-07:00, jdike@addtoit.com [PATCH] UML updates The patch below brings UML up to date with some changes in the rest of the kernel: an updated defconfig checksum.h includes in6.h to get a definition of in6_addr added a missing cpu_{set,clear} change removed include/asm-um/module.h since it's really a link Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.33, 2004-08-24 11:13:34-07:00, jdike@addtoit.com [PATCH] UML: remove the COW block driver The code is still there but it's not built. Below is a patch which removes it totally. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.32, 2004-08-24 11:13:23-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Uml base patch The main part of UML; it is the last distributed patch for 2.6.7 Removes skas support from the main UML patch; apply or get conflicts. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.31, 2004-08-24 11:12:38-07:00, anton@samba.org [PATCH] flexible-mmap for ppc64 From: Implement the new address space layout for 32-bit apps running on ppc64. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.30, 2004-08-24 11:12:26-07:00, arjanv@redhat.com [PATCH] flex mmap for s390(x) Below is a patch from Pete Zaitcev (zaitcev@redhat.com) to also use the flex mmap infrastructure for s390(x). The IBM Domino guys *really* seem to want this. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.29, 2004-08-24 11:12:13-07:00, arjanv@redhat.com [PATCH] sysctl tunable for flexmmap Create /proc/sys/vm/legacy_va_layout. If this is non-zero, the kernel will use the old mmap layout for all tasks. it presently defaults to zero (the new layout). From: William Lee Irwin III hugetlb CONFIG_SYSCTL=n fix Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.28, 2004-08-24 11:12:01-07:00, arjanv@redhat.com [PATCH] flexmmap patchkit: fix for 32 bit emu for 64 bit arches Utz Lehmann found a problem with the flexmmap patches on x86-64, what he is seeing is that the 32 bit personality isn't set at the first point of setting the allocator strategy. The solution is simple, in binfmt_elf the personality is set so put the pick-layout function there. Please consider, Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.27, 2004-08-24 11:11:50-07:00, mingo@elte.hu [PATCH] i386 virtual memory layout rework Rework the i386 mm layout to allow applications to allocate more virtual memory, and larger contiguous chunks. - the patch is compatible with existing architectures that either make use of HAVE_ARCH_UNMAPPED_AREA or use the default mmap() allocator - there is no change in behavior. - 64-bit architectures can use the same mechanism to clean up 32-bit compatibility layouts: by defining HAVE_ARCH_PICK_MMAP_LAYOUT and providing a arch_pick_mmap_layout() function - which can then decide between various mmap() layout functions. - I also introduced a new personality bit (ADDR_COMPAT_LAYOUT) to signal older binaries that dont have PT_GNU_STACK. x86 uses this to revert back to the stock layout. I also changed x86 to not clear the personality bits upon exec(), like x86-64 already does. - once every architecture that uses HAVE_ARCH_UNMAPPED_AREA has defined its arch_pick_mmap_layout() function, we can get rid of HAVE_ARCH_UNMAPPED_AREA altogether, as a final cleanup. the new layout generation function (__get_unmapped_area()) got significant testing in FC1/2, so i'm pretty confident it's robust. Compiles & boots fine on an 'old' and on a 'new' x86 distro as well. The two known breakages were: http://www.redhatconfig.com/msg/67248.html [ 'cyzload' third-party utility broke. ] http://www.zipworld.com/au/~akpm/dde.tar.gz [ your editor broke :-) ] both were caused by application bugs that did: int ret = malloc(); if (ret <= 0) failure; such bugs are easy to spot if they happen, and if it happens it's possible to work it around immediately without having to change the binary, via the setarch patch. No other application has been found to be affected, and this particular change got pretty wide coverage already over RHEL3 and exec-shield, it's in use for more than a year. The setarch utility can be used to trigger the compatibility layout on x86, the following version has been patched to take the `-L' option: http://people.redhat.com/mingo/flexible-mmap/setarch-1.4-2.tar.gz "setarch -L i386 " will run the command with the old layout. From: Hugh Dickins The problem is in the flexible mmap patch: arch_get_unmapped_area_topdown is liable to give your mmap vm_start above TASK_SIZE with vm_end wrapped; which is confusing, and ends up as that BUG_ON(mm->map_count). The patch below stops that behaviour, but it's not the full solution: wilson_mmap_test -s 1000 then simply cannot allocate memory for the large mmap, whereas it works fine non-top-down. I think it's wrong to interpret a large or rlim_infinite stack rlimit as an inviolable request to reserve that much for the stack: it makes much less VM available than bottom up, not what was intended. Perhaps top down should go bottom up (instead of belly up) when it fails - but I'd probably better leave that to Ingo. Or perhaps the default should place stack below text (as WLI suggested and ELF intended, with its text defaulting to 0x08048000, small progs sharing page table between stack and text and data); with a further personality for those needing bigger stack. From: Ingo Molnar - fall back to the bottom-up layout if the stack can grow unlimited (if the stack ulimit has been set to RLIM_INFINITY) - try the bottom-up allocator if the top-down allocator fails - this can utilize the hole between the true bottom of the stack and its ulimit, as a last-resort effort. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.26, 2004-08-24 11:11:37-07:00, mingo@elte.hu [PATCH] sched: smt fixes while looking at HT scheduler bugreports and boot failures i discovered a bad assumption in most of the HT scheduling code: that resched_task() can be called without holding the task's runqueue. This is most definitely not valid - doing it without locking can lead to the task on that CPU exiting, and this CPU corrupting the (ex-) task_info struct. It can also lead to HT-wakeup races with task switching on that other CPU. (this_CPU marking the wrong task on that_CPU as need_resched - resulting in e.g. idle wakeups not working.) The attached patch against fixes it all up. Changes: - resched_task() needs to touch the task so the runqueue lock of that CPU must be held: resched_task() now enforces this rule. - wake_priority_sleeper() was called without holding the runqueue lock. - wake_sleeping_dependent() needs to hold the runqueue locks of all siblings (2 typically). Effects of this ripples back to schedule() as well - in the non-SMT case it gets compiled out so it's fine. - dependent_sleeper() needs the runqueue locks too - and it's slightly harder because it wants to know the 'next task' info which might change during the lock-drop/reacquire. Ripple effect on schedule() => compiled out on non-SMT so fine. - resched_task() was disabling preemption for no good reason - all paths that called this function had either a spinlock held or irqs disabled. Compiled & booted on x86 SMP and UP, with and without SMT. Booted the SMT kernel on a real SMP+HT box as well. (Unpatched kernel wouldn't even boot with the resched_task() assert in place.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.25, 2004-08-24 11:11:26-07:00, mingo@elte.hu [PATCH] sched: self-reaping atomicity fix disable preemption in the self-reap codepath, as such tasks may not be on the tasklist anymore and CPU-hotplug relies on the tasklist to migrate tasks. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.24, 2004-08-24 11:11:14-07:00, mingo@redhat.com [PATCH] permit sleeping in release_task() release_task() calls proc_pid_flush() call dput(), which can sleep. But that's a late-in-exit no-preempt path with CONFIG_PREEMPT. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.23, 2004-08-24 11:11:02-07:00, mingo@elte.hu [PATCH] sched: new task fix Rusty noticed that we update the parent ->avg_sleep without holding the runqueue lock. Also the code needed cleanups. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.22, 2004-08-24 11:10:51-07:00, mingo@elte.hu [PATCH] sched: nonlinear timeslices * Nick Piggin wrote: > Increasing priority (negative nice) doesn't have much impact. -20 CPU > hog only gets about double the CPU of a 0 priority CPU hog and only > about 120% the CPU time of a nice -10 hog. this is a property of the base scheduler as well. We can do a nonlinear timeslice distribution trivially - the attached patch implements the following timeslice distribution ontop of 2.6.8-rc3-mm1: [ -20 ... 0 ... 19 ] => [800ms ... 100ms ... 5ms] the nice-20/nice+19 ratio is now 1:160 - sufficient for all aspects. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.21, 2004-08-24 11:10:39-07:00, mingo@elte.hu [PATCH] sched: whitespace cleanups - whitespace and style cleanups Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.20, 2004-08-24 11:10:27-07:00, akpm@osdl.org [PATCH] schedstat: UP fix SMP fix -- for_each_domain() is not defined if not CONFIG_SMP, so show_schedstat needed a couple of extra ifdefs. Signed-off-by: Rick Lindsley Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.19, 2004-08-24 11:10:16-07:00, wli@holomorphy.com [PATCH] sched: sparc32 fixes Fix up sparc32 properly. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.18, 2004-08-24 11:10:03-07:00, wli@holomorphy.com [PATCH] sched: consolidate init_idle() and fork_by_hand() It appears that init_idle() and fork_by_hand() could be combined into a single method that calls init_idle() on behalf of the caller. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.17, 2004-08-24 11:09:52-07:00, nathanl@austin.ibm.com [PATCH] move CONFIG_SCHEDSTATS to arch/ppc64/Kconfig.debug Otherwise it shows up under "iSeries device drivers", which doesn't seem right. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.16, 2004-08-24 11:09:41-07:00, ricklind@us.ibm.com [PATCH] scheduler statistics It adds lots of CPU scheduler stats in /proc/pid/stat. They are described in the new Documentation//sched-stats.txt We were carrying this patch offline for some time, but as there's still considerable ongoing work in this area, and as the new stats are a configuration option, I think it's best that this capability be in the base kernel. Nick removed a fair amount of statistics that he wasn't using. The full patch gathers more information. In particular, his patch doesn't include the code to measure the latency between the time a process is made runnable and the time it hits a processor which will be key to measuring interactivity changes. He passed his changes back to me and I got finished merging his changes with the current statistics patches just before OLS. I believe this is largely a superset of the patch you grabbed and should port relatively easily too. Versions also exist for 2.6.8-rc2 2.6.8-rc2-mm1 2.6.8-rc2-mm2 at http://eaglet.rain.com/rick/linux/schedstat/patches/ and within 24 hours at http://oss.software.ibm.com/linux/patches/?patch_id=730&show=all The version below is for 2.6.8-rc2-mm2 without the staircase code and has been compiled cleanly but not yet run. From: Ingo Molnar this code needs a couple of cleanups before it can go into mainline: fs/proc/array.c, fs/proc/base.c, fs/proc/proc_misc.c: - moved the new /proc//stat fields to /proc//schedstat, because the new fields break older procps. It's cleaner this way anyway. This moving of fields necessiated a bump to version 10. Documentation/sched-stats.txt: - updated sched-stats.txt for version 10 - wake_up_forked_thread() => wake_up_new_task() - updated the per-process field description Kconfig: - removed the default y and made the option dependent on DEBUG_KERNEL. This is really for scheduler analysis, normal users dont need the overhead. include/linux/sched.h: - moved the definitions into kernel/sched.c - this fixes UP compilation and is cleaner. - also moved the sched-domain definitions to sched.c - now that the sched-domains internals are not exposed to architectures this is doable. It's also necessary due to the previous change. kernel/fork.c: - moved the ->sched_info init to sched_fork() where it belongs. kernel/sched.c: - wake_up_forked_thread() -> wake_up_new_task(), wuft_cnt -> wunt_cnt, wuft_moved -> wunt_moved. - wunt_cnt and wunt_moved were defined by never updated - added the missing code to wake_up_new_task(). - whitespace/style police - removed whitespace changes done to code not related to schedstats - i'll send a separate patch for these (and more). Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.15, 2004-08-24 11:09:28-07:00, kernel@kolivas.org [PATCH] sched: adjust p4 per-cpu gain The smt-nice handling is a little too aggressive by not estimating the per cpu gain as high enough for pentium4 hyperthread. This patch changes the per sibling cpu gain from 15% to 25%. The true per cpu gain is entirely dependant on the workload but overall the 2 species of Pentium4 that support hyperthreading have about 20-30% gain. P.S: Anton - For the power processors that are now using this SMT nice infrastructure it would be worth setting this value separately at 40%. Signed-off-by: Con Kolivas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.14, 2004-08-24 11:09:16-07:00, colpatch@us.ibm.com [PATCH] Create cpu_sibling_map for PPC64 In light of some proposed changes in the sched_domains code, I coded up this little ditty that simply creates and populates a cpu_sibling_map for PPC64 machines. The patch just checks the CPU flags to determine if the CPU supports SMT (aka Hyper-Threading aka Multi-Threading aka ...) and fills in a mask of the siblings for each CPU in the system. This should allow us to build sched_domains for PPC64 with generic code in kernel/sched.c for the SMT systems. SMT is becoming more popular and is turning up in more and more architectures. I don't think it will be too long until this feature is supported by most arches... Signed-off-by: Matthew Dobson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.13, 2004-08-24 11:09:04-07:00, sivanich@sgi.com [PATCH] sched: isolated sched domains Here's a version of the isolated scheduler domain code that I mentioned in an RFC on 7/22. This patch applies on top of 2.6.8-rc2-mm1 (to include all of the new arch_init_sched_domain code). This patch also contains the 2 line fix to remove the check of first_cpu(sd->groups->cpumask)) that Jesse sent in earlier. Note that this has not been tested with CONFIG_SCHED_SMT. I hope that my handling of those instances is OK. Signed-off-by: Dimitri Sivanich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.12, 2004-08-24 11:08:53-07:00, jbarnes@engr.sgi.com [PATCH] sched: limit cpuspan of node scheduler domains This patch limits the cpu span of each node's scheduler domain to prevent balancing across too many cpus. The cpus included in a node's domain are determined by the SD_NODES_PER_DOMAIN define and the arch specific sched_domain_node_span routine if ARCH_HAS_SCHED_DOMAIN is defined. If ARCH_HAS_SCHED_DOMAIN is not defined, behavior is unchanged--all possible cpus will be included in each node's scheduling domain. Currently, only ia64 provides an arch specific sched_domain_node_span routine. From: Jesse Barnes This patch adds some more NUMA specific logic to the creation of scheduler domains. Domains spanning all CPUs in a large system are too large to schedule across efficiently, leading to livelocks and inordinate amounts of time being spent in scheduler routines. With this patch applied, the node scheduling domains for NUMA platforms will only contain a specified number of nearby CPUs, based on the value of SD_NODES_PER_DOMAIN. It also allows arches to override SD_NODE_INIT, which sets the domain scheduling parameters for each node's domain. This is necessary especially for large systems. Possible future directions: o multilevel node hierarchy (e.g. node domains could contain 4 nodes worth of CPUs, supernode domains could contain 32 nodes worth, etc. each with their own SD_NODE_INIT values) o more tweaking of SD_NODE_INIT values for good load balancing vs. overhead tradeoffs From: mita akinobu Compile fix Signed-off-by: Jesse Barnes Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.11, 2004-08-24 11:08:41-07:00, nickpiggin@yahoo.com.au [PATCH] sched: consolidate sched domains Teach the generic domains builder about SMT, and consolidate all architecture specific domain code into that. Also, the SD_*_INIT macros can now be redefined by arch code without duplicating the entire setup code. This can be done by defining ARCH_HASH_SCHED_TUNE. The generic builder has been simplified with the addition of a helper macro which will probably prove to be useful to arch specific code as well and should be exported if that is the case. Signed-off-by: Nick Piggin From: Matthew Dobson The attached patch is against 2.6.8-rc2-mm2, and removes Nick's conditional definition & population of cpu_sibling_map[] in favor of my unconditional ones. This does not affect how cpu_sibling_map is used, just gives it broader scope. From: Nick Piggin Small fix to sched-consolidate-domains.patch picked up by From: Suresh another sched consolidate domains fix From: Nick Piggin Don't use cpu_sibling_map if !CONFIG_SCHED_SMT This one spotted by Dimitri Sivanich Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.10, 2004-08-24 11:08:29-07:00, mingo@elte.hu [PATCH] sched: fork hotplug hanling cleanup - remove the hotplug lock from around much of fork(), and re-copy the cpus_allowed mask to solve the hotplug race cleanly. Signed-off-by: Ingo Molnar Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.9, 2004-08-24 11:08:17-07:00, nickpiggin@yahoo.com.au [PATCH] sched: remove balance on clone This removes balance on clone capability altogether. I told Andi we wouldn't remove it yet, but provided it is in a single small patch, he mightn't get too upset. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.8, 2004-08-24 11:08:06-07:00, nickpiggin@yahoo.com.au [PATCH] sched: disable balance on clone Don't balance on clone by default. Balance on clone has a number of trivial performance failure cases, but it was needed to get decent OpenMP performance on NUMA (Opteron) systems. Not doing child-runs-first for new threads also solves this problem in a nicer way (implemented in a previous patch). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.7, 2004-08-24 11:07:54-07:00, nickpiggin@yahoo.com.au [PATCH] sched: sched misc changes Add some likely/unliklies, a for_each_cpu => for_each_cpu_online, and close the sched_exit race. From: Ingo Molnar fix a typo in a previous patch breaking RT scheduling & interactivity. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.6, 2004-08-24 11:07:42-07:00, nickpiggin@yahoo.com.au [PATCH] sched: make rt_task unlikely From: Ingo Molnar RT tasks are unlikely, move this into rt_task() instead of open-coding it. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.5, 2004-08-24 11:07:30-07:00, mingo@elte.hu [PATCH] sched: misc cleanups #2 - fix two stale comments - cleanup Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.4, 2004-08-24 11:07:19-07:00, nickpiggin@yahoo.com.au [PATCH] kernel thread idle fix Now that init_idle does not remove tasks from the runqueue, those architectures that use kernel_thread instead of copy_process for the idle task will break. To fix, ensure that CLONE_IDLETASK tasks are not put on the runqueue in the first place. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.3, 2004-08-24 11:07:08-07:00, nickpiggin@yahoo.com.au [PATCH] sched: cleanup, improve sched <=> fork APIs Move balancing and child-runs-first logic from fork.c into sched.c where it belongs. * Consolidate wake_up_forked_process and wake_up_forked_thread into wake_up_new_process, and pass in clone_flags as suggested by Linus. This removes a lot of code duplication and allows all logic to be handled in that function. * Don't do balance-on-clone balancing for vfork'ed threads. * Don't do set_task_cpu or balance one clone in wake_up_new_process. Instead do it in sched_fork to fix set_cpus_allowed races. * Don't do child-runs-first for CLONE_VM processes, as there is obviously no COW benifit to be had. This is a big one, it enables Andi's workload to run well without clone balancing, because the OpenMP child threads can get balanced off to other nodes *before* they start running and allocating memory. * Rename sched_balance_exec to sched_exec: hide the policy from the API. From: Ingo Molnar rename wake_up_new_process -> wake_up_new_task. in sched.c we are gradually moving away from the overloaded 'process' or 'thread' notion to the traditional task (or context) naming. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.2, 2004-08-24 11:06:56-07:00, nickpiggin@yahoo.com.au [PATCH] sched: cleanup init_idle() Clean up init_idle to not use wake_up_forked_process, then undo all the stuff that call does. Instead, do everything in init_idle. Make double_rq_lock depend on CONFIG_SMP because it is no longer used on UP. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.4.1, 2004-08-24 11:06:43-07:00, mingo@elte.hu [PATCH] sched: fix timeslice calculations for HZ=1000. The main benefit is that with the default HZ=1000 nice +19 tasks now get 5 msecs of timeslices, so the ratio of CPU use is linear. (nice 0 task gets 20 times more CPU time than a nice 19 task. Prior this change the ratio was 1:10) another effect is that nice 0 tasks now get a round 100 msecs of timeslices (as intended), instead of 102 msecs. here's a table of old/new timeslice values, for HZ=1000 and 100: HZ=1000 ( HZ=100 ) old new ( old new ) nice -20: 200 200 ( 200 200 ) nice -19: 195 195 ( 190 190 ) ... nice 0: 102 100 ( 100 100 ) nice 1: 97 95 ( 90 90 ) nice 2: 92 90 ( 90 90 ) ... nice 17: 19 15 ( 10 10 ) nice 18: 14 10 ( 10 10 ) nice 19: 10 5 ( 10 10 ) i've tested the patch on x86. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1837.2.8, 2004-08-24 18:49:29+01:00, davej@redhat.com [CPUFREQ] Work around some broken userspace daemons. Some daemons try to set the speed to the same speed we're currently running at. Detect that, and bail out early before we fiddle with registers and such. Signed-off-by: Dave Jones ChangeSet@1.1837.2.7, 2004-08-24 18:27:53+01:00, davej@redhat.com [CPUFREQ] Merge on-demand cpufreq policy governor. From: "Pallipadi, Venkatesh" Signed-off-by: Dave Jones ChangeSet@1.1837.2.6, 2004-08-24 18:21:37+01:00, davej@redhat.com [CPUFREQ] Fix reset-to-max-speed on unloading of longhaul driver. From: Sven Traenkle The second part adresses a problem of resetting the max cpu-freq when unloading the driver. This didn't work for my cpu and I doubt it does for other. There is no need to pass the computed index of the max. multiplier in the clock_ratio[] table to longhault_table[] cause the longhaul_setstate function works with the clock_ratio[] index. Changing the while loop to a for loop with upper limit isn't actually necessary as long as the driver is bug free, but thats IMHO not yet the case, so I suggest this change in order to not loop endlessly or read beyond the limits of the clock_ratio array. Signed-off-by: Dave Jones ChangeSet@1.1837.2.5, 2004-08-24 18:17:48+01:00, davej@redhat.com [CPUFREQ] Samuel2 can use eblcr to determine FSB. From: Sven Traenkle. here's a patch that solves some issues I have with the longhaul cpufreq driver on my epia 6000CL/Via EDEN (actually reporting as CentaurHauls, family 6, model 7, VIA Samuel 2). The driver tries to compute the fsb speed while it could actually use the fixed values (as it does for model == 6). I got this change from the via forum, so no credits to me. Signed-off-by: Dave Jones ChangeSet@1.1837.2.4, 2004-08-24 18:11:49+01:00, davej@redhat.com [CPUFREQ] fix up random CodingStyle /whitespace regressions. Signed-off-by: Dave Jones ChangeSet@1.1837.2.3, 2004-08-24 18:08:43+01:00, davej@redhat.com [CPUFREQ] Further cleanups to longhaul driver using defines. By defining the cpu type at startup, we can make a lot of comparisons a lot more obvious what they are meaning. Signed-off-by: Dave Jones ChangeSet@1.1837.2.2, 2004-08-24 17:48:56+01:00, davej@redhat.com [CPUFREQ] Prettyprint longhaul speeds. If its >= 1000MHz print it as GHz. Signed-off-by: Dave Jones ChangeSet@1.1837.3.1, 2004-08-24 16:28:11+00:00, aegl@agluck-lia64.sc.intel.com Merge agluck-lia64.sc.intel.com:/data/home/aegl/BK/Linus into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.9 ChangeSet@1.1837.2.1, 2004-08-24 17:15:25+01:00, davej@delerium.codemonkey.org.uk Merge delerium.codemonkey.org.uk:/mnt/data/src/bk/bk-linus into delerium.codemonkey.org.uk:/mnt/data/src/bk/cpufreq ChangeSet@1.1837.1.7, 2004-08-24 09:05:11-07:00, trini@kernel.crashing.org Merge upstream changes by hand. ChangeSet@1.1803.103.20, 2004-08-24 08:31:24-07:00, trini@kernel.crashing.org Merge kernel.crashing.org:/home/trini/work/kernel/devel/linux-2.6-reorg into kernel.crashing.org:/home/trini/work/kernel/pristine/for-linus-ppc ChangeSet@1.1803.103.19, 2004-08-24 08:30:23-07:00, trini@kernel.crashing.org ppc32: Fix a typo in cputable.c Signed-off-by: Tom Rini ChangeSet@1.1803.103.18, 2004-08-24 08:29:42-07:00, trini@kernel.crashing.org ppc32: Fix a compile error when CONFIG_PREP && !CONFIG_PREP_RESIDUAL Signed-off-by: Tom Rini ChangeSet@1.1803.117.4, 2004-08-24 15:42:53+01:00, davej@redhat.com [CPUFREQ] Remove extraneous comment Signed-off-by: Dave Jones ChangeSet@1.1803.117.3, 2004-08-24 15:38:01+01:00, davej@redhat.com [CPUFREQ] Powersaver also has voltage scaling abilities. We currently don't do voltage scaling, but we can at least set things up to prepare for when we do. Signed-off-by: Dave Jones ChangeSet@1.1803.117.2, 2004-08-24 15:35:28+01:00, davej@redhat.com [CPUFREQ] Introduce some defines for the longhaul version, and use them. This makes some of the code quite a bit cleaner, and a lot more obvious whats going on on which CPUs. Signed-off-by: Dave Jones ChangeSet@1.1803.66.6, 2004-08-24 00:09:55-07:00, corbet@lwn.net [PATCH] Remove struct bus_type->add() I recently went looking for users of the add() method in struct bus_type, only to discover that there are none. A query to Pat confirmed that it is surplus and should come out. So here's a patch that does it. While I was at it, I updated Documentation/driver-model/bus.txt to at least get rid of the blatantly untrue stuff; it is still rather far from being up to date, however. I may be able to fix that later on. Signed-off-by: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1837.1.6, 2004-08-23 23:59:58-07:00, torvalds@ppc970.osdl.org Linux 2.6.9-rc1 TAG: v2.6.9-rc1