commit 129a84de2347002f09721cda3155ccfd19fade40 Author: J. Bruce Fields Date: Thu May 10 18:38:43 2007 -0400 locks: fix F_GETLK regression (failure to find conflicts) In 9d6a8c5c213e34c475e72b245a8eb709258e968c we changed posix_test_lock to modify its single file_lock argument instead of taking separate input and output arguments. This makes it no longer safe to set the output lock's fl_type to F_UNLCK before looking for a conflict, since that means searching for a conflict against a lock with type F_UNLCK. This fixes a regression which causes F_GETLK to incorrectly report no conflict on most filesystems (including any filesystem that doesn't do its own locking). Also fix posix_lock_to_flock() to copy the lock type. This isn't strictly necessary, since the caller already does this; but it seems less likely to cause confusion in the future. Thanks to Doug Chapman for the bug report. Signed-off-by: "J. Bruce Fields" Acked-by: Doug Chapman Signed-off-by: Linus Torvalds commit a9deecba19b8f384d97f82c75379da48bccb2588 Merge: d9de262... 04bf3b4... Author: Linus Torvalds Date: Thu May 10 14:33:03 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] MTX-1 Watchdog driver [WATCHDOG] s3c2410_wdt - initialize watchdog irq resource [WATCHDOG] Kconfig menuconfig patch [WATCHDOG] pcwd.c: Port to the new device driver model [WATCHDOG] use mutex instead of semaphore in Berkshire USB-PC Watchdog driver [WATCHDOG] the scheduled removal of the i8xx_tco watchdog driver [WATCHDOG] Semi-typical watchdog bug re early misc_register() [WATCHDOG] add support for the w83627thf chipset. commit d9de2622bd4fd29cab4ef7db66a9f916cb38e032 Author: Simon Horman Date: Thu May 10 11:51:11 2007 -0700 Allow compat_ioctl.c to compile without CONFIG_NET A small regression appears to have been introduced in the recent patch "cleanup compat ioctl handling", which was included in Linus' tree after 2.6.20. siocdevprivate_ioctl() is no longer defined if CONFIG_NET is undefined, whereas previously it was a dummy function in this case. This causes compilation with CONFIG_COMPAT but without CONFIG_NET to fail. fs/compat_ioctl.c: In function `compat_sys_ioctl': fs/compat_ioctl.c:3571: warning: implicit declaration of function `siocdevprivate_ioctl' Cc: Christoph Hellwig Acked-by: Arnd Bergmann Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 643bd27298bdcc4e75b3e6a7ca459675eb5378c3 Author: Frederik Deweerdt Date: Thu May 10 11:51:08 2007 -0700 Fix ixp4xx compile error drivers/input/misc/ixp4xx-beeper.c: In function 'ixp4xx_spkr_event': drivers/input/misc/ixp4xx-beeper.c:54: error: 'input_dev' undeclared (first use in this function) drivers/input/misc/ixp4xx-beeper.c:54: error: (Each undeclared identifier is reported only once drivers/input/misc/ixp4xx-beeper.c:54: error: for each function it appears in.) Signed-off-by: Frederik Deweerdt Acked-by: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62933d36ac98360da45f43df989277df002b034b Merge: 0ab5980... f640712... Author: Linus Torvalds Date: Thu May 10 13:32:24 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits) [POWERPC] Fix compile error with kexec and CONFIG_SMP=n [POWERPC] Split initrd logic out of early_init_dt_scan_chosen() to fix warning [POWERPC] Fix warning in hpte_decode(), and generalize it [POWERPC] Minor pSeries IOMMU debug cleanup [POWERPC] PS3: Fix sys manager build error [POWERPC] Assorted janitorial EEH cleanups [POWERPC] We don't define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID [POWERPC] pmu_sys_suspended is only defined for PPC32 [POWERPC] Fix incorrect calculation of I/O window addresses [POWERPC] celleb: Update celleb_defconfig [POWERPC] celleb: Fix parsing of machine type hack command line option [POWERPC] celleb: Fix PCI config space accesses to subordinate buses [POWERPC] celleb: Fix support for multiple PCI domains [POWERPC] Wire up sys_utimensat [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning [POWERPC] User rheap from arch/powerpc/lib [POWERPC] 83xx: Fix the PCI ranges in the MPC834x_MDS device tree. [POWERPC] 83xx: Fix the PCI ranges in the MPC832x_MDS device tree. [POWERPC] CPM_UART: cpm_uart_set_termios should take ktermios, not termios [POWERPC] Change rheap functions to use ulongs instead of pointers ... commit 0ab598099c18affd73a21482274c00e8119236be Merge: b526ca4... 26e6385... Author: Linus Torvalds Date: Thu May 10 13:32:05 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Use alloc_pci_dev() in PCI bus probes. [SPARC64]: Bump PROMINTR_MAX to 32. [SPARC64]: Fix recursion in PROM tree building. [SERIAL] sunzilog: Interrupt enable before ISR handler installed [SPARC64] PCI: Consolidate PCI access code into pci_common.c commit b526ca438b95a6d71210e0ffc79aabac8aba2b1e Merge: 9b6a517... f685648... Author: Linus Torvalds Date: Thu May 10 13:30:34 2007 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT asus-laptop: version bump and lindent asus-laptop: fix light sens init asus-laptop: add GPS support asus-laptop: notify ALL events ACPICA: Lindent ACPI: created a dedicated workqueue for notify() execution Revert "ACPICA: fix AML mutex re-entrancy" Revert "Execute AML Notify() requests on stack." Revert "ACPICA: revert "acpi_serialize" changes" ACPI: delete un-reliable concept of cooling mode ACPI: thermal trip points are read-only commit 9b6a51746ffe8d619f1097675d2dc5e303470024 Merge: fc0b60f... d79406d... Author: Linus Torvalds Date: Thu May 10 13:29:36 2007 -0700 Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits) firewire: Convert OHCI driver to use standard goto unwinding for error handling. firewire: Always use parens with sizeof. firewire: Drop single buffer request support. firewire: Add a comment to describe why we split the sg list. firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand. firewire: Handle the last few DMA mapping error cases. firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata. firewire: Provide module aliase for backwards compatibility. firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile. firewire: Break out shared IEEE1394 constant to separate header file. firewire: Use linux/*.h instead of asm/*.h header files. firewire: Uppercase most macro names. firewire: Coding style cleanup: no spaces after function names. firewire: Convert card_rwsem to a regular mutex. firewire: Clean up comment style. firewire: Use lib/ implementation of CRC ITU-T. CRC ITU-T V.41 firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux. firewire: Future proof the iso ioctls by adding a handle for the iso context. firewire: Add read/write and size annotations to IOC numbers. ... Acked-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit fc0b60f1dc311a2f7443ce46305edd287b2d8947 Merge: e991084... 906fc9e... Author: Linus Torvalds Date: Thu May 10 11:50:51 2007 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] update default configuration. [S390] Kconfig: no wireless on s390. [S390] Kconfig: use common Kconfig files for s390. [S390] Kconfig: common config options for s390. [S390] Kconfig: unwanted menus for s390. [S390] Kconfig: menus with depends on HAS_IOMEM. [S390] Kconfig: refine depends statements. [S390] Avoid compile warning. [S390] qdio: re-add lost perf_stats.tl_runs change in qdio_handle_pci [S390] Avoid sparse warnings. [S390] dasd: Fix modular build. [S390] monreader inlining cleanup. [S390] cio: Make some structures and a function static. [S390] cio: Get rid of _ccw_device_get_device_number(). [S390] fix subsystem removal fallout commit e9910846fdb19f7c5810cbe4c95e4ca6dab6a00f Author: akpm@linux-foundation.org Date: Thu May 10 03:16:01 2007 -0700 timer: revert parenthesis fix in tbase_get_deferrable() etc On 09-05-2007 21:10, Pallipadi, Venkatesh wrote: ... > On a 64 bit system, converting pointer to int causes unnecessary > compiler warning, and intermediate long conversion was to avoid that. > I will have to rephrase my comment to remove 32 bit value and use int, > as that is what the function returns. So, this patch reverts all changes done by my previous patch. I apologize for my wrong comment about "logical error" here. Cc: "Pallipadi, Venkatesh" Cc: Satyam Sharma Cc: Oleg Nesterov Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c91e23c63f77a7643d857a082248cf2cdb71b67c Author: Alexey Dobriyan Date: Thu May 10 03:15:58 2007 -0700 i2c-at91: compile fix (IS_ERR) CC drivers/i2c/busses/i2c-at91.o drivers/i2c/busses/i2c-at91.c: In function 'at91_i2c_probe': drivers/i2c/busses/i2c-at91.c:213: warning: implicit declaration of function 'IS_ERR' Signed-off-by: Alexey Dobriyan Cc: David Brownell Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e99806ebb33c1b4906ce4f99eec65d4962f12b9 Author: David Brownell Date: Thu May 10 03:15:52 2007 -0700 i2c-at91 supports new-style i2c drivers Make i2c-at91 register as i2c adapter zero (none of these chips seem to have more than one TWI controllers) to let it kick in any board-specific device declarations; also make it hotplug/coldplug. Signed-off-by: David Brownell Acked-by: Jean Delvare Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd00a99e7a4b739bd41ef4093760efc7e447f963 Author: NeilBrown Date: Thu May 10 03:15:50 2007 -0700 md: avoid a possibility that a read error can wrongly propagate through md/raid1 to a filesystem. When a raid1 has only one working drive, we want read error to propagate up to the filesystem as there is no point failing the last drive in an array. Currently the code perform this check is racy. If a write and a read a both submitted to a device on a 2-drive raid1, and the write fails followed by the read failing, the read will see that there is only one working drive and will pass the failure up, even though the one working drive is actually the *other* one. So, tighten up the locking. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5ddb547e899993be56dc7d0bf72bfd7a8d4ae1e Author: Dmitry Torokhov Date: Thu May 10 03:15:47 2007 -0700 drivers/hwmon: switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf889f96597137760c6edfdd0ee59fd37cb108c Author: Christoph Lameter Date: Thu May 10 03:15:44 2007 -0700 SLUB: remove nr_cpu_ids hack This was in SLUB in order to head off trouble while the nr_cpu_ids functionality was not merged. Its merged now so no need to still have this. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4751a2797bc0a37a8e85783d65ffaa9de689e60 Author: Christoph Lameter Date: Thu May 10 03:15:40 2007 -0700 SLUB: SLUB_DEBUG must depend on SLUB Otherwise people get asked about SLUB_DEBUG even if they have another slab allocator enabled. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a18c92aab13aac7917bc87ceefa23da68698be4 Author: Eric W. Biederman Date: Thu May 10 03:15:36 2007 -0700 Revert "[PATCH] paravirt: Add startup infrastructure for paravirtualization" This reverts commit c9ccf30d77f04064fe5436027ab9d2230c7cdd94. Entering the kernel at startup_32 without passing our real mode data in %esi, and without guaranteeing that physical and virtual addresses are identity mapped makes head.S impossible to maintain. The only user of this infrastructure is lguest which is not merged so nothing we currently support will break by removing this over designed nightmare, and only the pending lguest patches will be affected. The pending Xen patches have a different entry point that they use. We are currently discussing what Xen and lguest need to do to boot the kernel in a more normal fashion so using startup_32 in this weird manner is clearly not their long term direction. So let's remove this code in head.S before it causes brain damage to people trying to maintain head.S Cc: Chris Wright Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Zachary Amsden CC: H. Peter Anvin Signed-off-by: Eric W. Biederman Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cfe61e1a72b345073bb7900a7887da8541abc7a Author: Russell King Date: Thu May 10 03:15:32 2007 -0700 arm: fix i2c-pxa build From commit 7d054817b780e664bed6701b2aa637718e1905b7: > According to the PXA27x developer's manual, we shall do so. We shall also at least compile test our changes. Signed-off-by: Russell King Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4a7f5eb5f6a02dcc3a35e47c37c3d221ebc1cc2 Author: Randy Dunlap Date: Thu May 10 03:15:30 2007 -0700 ocfs2: kobject/kset foobar Fix gcc warning and Oops that it causes: fs/ocfs2/cluster/masklog.c:161: warning: assignment from incompatible pointer type [ 2776.204120] OCFS2 Node Manager 1.3.3 [ 2776.211729] BUG: spinlock bad magic on CPU#0, modprobe/4424 [ 2776.214269] lock: ffff810021c8fe18, .magic: ffffffff, .owner: /6394416, .owner_cpu: 0 [ 2776.217864] [ 2776.217865] Call Trace: [ 2776.219662] [] spin_bug+0x9e/0xe9 [ 2776.221921] [] _raw_spin_lock+0x23/0xf9 [ 2776.224417] [] _spin_lock+0x9/0xb [ 2776.226676] [] kobject_shadow_add+0x98/0x1ac [ 2776.229367] [] kobject_add+0xb/0xd [ 2776.231665] [] kset_add+0xd/0xf [ 2776.233845] [] kset_register+0x23/0x28 [ 2776.236309] [] :ocfs2_nodemanager:mlog_sys_init+0x68/0x6d [ 2776.239518] [] :ocfs2_nodemanager:o2cb_sys_init+0x32/0x4a [ 2776.242726] [] :ocfs2_nodemanager:init_o2nm+0xa6/0xd5 [ 2776.245772] [] sys_init_module+0x1471/0x15d2 [ 2776.248465] [] simple_strtoull+0x0/0xdc [ 2776.250959] [] system_call+0x7e/0x83 Signed-off-by: Randy Dunlap Acked-by: Mark Fasheh Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f076f5dd9d227cea2704061048894b00cc0d62b Author: Stephen Rothwell Date: Thu May 10 03:15:27 2007 -0700 early_pfn_to_nid needs to be __meminit Since it is referenced by memmap_init_zone (which is __meminit) via the early_pfn_in_nid macro when CONFIG_NODES_SPAN_OTHER_NODES is set (which basically means PowerPC 64). This removes a section mismatch warning in those circumstances. Signed-off-by: Stephen Rothwell Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a62b69b9f1b0cec0a119c5f4cd2f17d091e8f5 Author: David Howells Date: Thu May 10 03:15:25 2007 -0700 AF_RXRPC: reduce debugging noise Reduce debugging noise generated by AF_RXRPC. Signed-off-by: David Howells Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bbf5d39f88af9e8173f7331a3741a8b3ff16a1c Author: David Howells Date: Thu May 10 03:15:23 2007 -0700 AFS: further write support fixes Further fixes for AFS write support: (1) The afs_send_pages() outer loop must do an extra iteration if it ends with 'first == last' because 'last' is inclusive in the page set otherwise it fails to send the last page and complete the RxRPC op under some circumstances. (2) Similarly, the outer loop in afs_pages_written_back() must also do an extra iteration if it ends with 'first == last', otherwise it fails to clear PG_writeback on the last page under some circumstances. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9b1f8d5930a813879278d0cbfc8c658d6a038dc Author: David Howells Date: Thu May 10 03:15:21 2007 -0700 AFS: write support fixes AFS write support fixes: (1) Support large files using the 64-bit file access operations if available on the server. (2) Use kmap_atomic() rather than kmap() in afs_prepare_page(). (3) Don't do stuff in afs_writepage() that's done by the caller. [akpm@linux-foundation.org: fix right shift count >= width of type] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 218e180e7ea5334e1f94121940ba82cd1f0f4e58 Author: Andrew Morton Date: Thu May 10 03:15:18 2007 -0700 add upper-32-bits macro We keep on getting "right shift count >= width of type" warnings when doing things like sector_t s; x = s >> 56; because with CONFIG_LBD=n, s is only 32-bit. Similar problems can occur with dma_addr_t's. So add a simple wrapper function which code can use to avoid this warning. The above example would become x = upper_32_bits(s) >> 24; The first user is in fact AFS. Cc: James Bottomley Cc: "Cameron, Steve" Cc: "Miller, Mike (OS Dev)" Cc: Hisashi Hifumi Cc: Alan Cox Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 894b8788d7f265eb7c6f75a9a77cedeb48f51586 Author: Christoph Lameter Date: Thu May 10 03:15:16 2007 -0700 slub: support concurrent local and remote frees and allocs on a slab Avoid atomic overhead in slab_alloc and slab_free SLUB needs to use the slab_lock for the per cpu slabs to synchronize with potential kfree operations. This patch avoids that need by moving all free objects onto a lockless_freelist. The regular freelist continues to exist and will be used to free objects. So while we consume the lockless_freelist the regular freelist may build up objects. If we are out of objects on the lockless_freelist then we may check the regular freelist. If it has objects then we move those over to the lockless_freelist and do this again. There is a significant savings in terms of atomic operations that have to be performed. We can even free directly to the lockless_freelist if we know that we are running on the same processor. So this speeds up short lived objects. They may be allocated and freed without taking the slab_lock. This is particular good for netperf. In order to maximize the effect of the new faster hotpath we extract the hottest performance pieces into inlined functions. These are then inlined into kmem_cache_alloc and kmem_cache_free. So hotpath allocation and freeing no longer requires a subroutine call within SLUB. [I am not sure that it is worth doing this because it changes the easy to read structure of slub just to reduce atomic ops. However, there is someone out there with a benchmark on 4 way and 8 way processor systems that seems to show a 5% regression vs. Slab. Seems that the regression is due to increased atomic operations use vs. SLAB in SLUB). I wonder if this is applicable or discernable at all in a real workload?] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02b67325a6d34f2ae67484a8802b6ffc9ce9931d Author: Mathieu Desnoyers Date: Thu May 10 03:15:15 2007 -0700 x86_64: fix default_do_nmi() missing return after an if () Signed-off-by: Mathieu Desnoyers Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d79406dd140a3e6eed6f26b17f0c6620fe30b50c Author: Kristian Høgsberg Date: Wed May 9 19:23:15 2007 -0400 firewire: Convert OHCI driver to use standard goto unwinding for error handling. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 2d826cc5c791bdc5f5651324c485746be9492be0 Author: Kristian Høgsberg Date: Wed May 9 19:23:14 2007 -0400 firewire: Always use parens with sizeof. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 213d7bbd76673fb1b26f1786af180bac07e57652 Author: Kristian Høgsberg Date: Wed May 9 19:23:11 2007 -0400 firewire: Drop single buffer request support. The SCSI layer only passes sg requests down, so drop the use_sg == 0, request_bufflen != 0 case. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 36abb3b18e26bf980e8529512853c5d73971a48b Author: Kristian Høgsberg, Stefan Richter Date: Wed May 9 19:23:10 2007 -0400 firewire: Add a comment to describe why we split the sg list. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit e1b68c4dcfb8bb7d79b6771e48767039ffbe00a8 Author: Kristian Høgsberg Date: Wed May 9 19:23:09 2007 -0400 firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 95ffc5e314e2bba87ec012c6e3adc487c5a7b4bb Author: Kristian Høgsberg Date: Wed May 9 19:23:08 2007 -0400 firewire: Handle the last few DMA mapping error cases. This should be the last missing checks. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit ad85274fb7f1b3c8c03f6f516dc6196a19ea4296 Author: Kristian Høgsberg Date: Wed May 9 19:23:07 2007 -0400 firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata. Avoids an extra allocation and simplifies lifetime rules for the scsi_host. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 1e4c7b0dabb46eb3a2a15cf5efbd3945b13373a0 Author: Olaf Hering Date: Sat May 5 23:17:13 2007 +0200 firewire: Provide module aliase for backwards compatibility. This patch loads fw-sbp2 if sbp2 is still in the config file. So one can go back and forth between releases without worry about the root filesystem drivers. Signed-off-by: Kristian Hoegsberg Existing mkinitrd scripts still have to be adapted, unless they grok module aliases. Signed-off-by: Stefan Richter commit 58e313b36237ec0a2dc12fd4f7f06d875ce54bd1 Author: Kristian Høgsberg Date: Mon May 7 20:33:38 2007 -0400 firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 4c5a443e80e6d85e5c84a56bf30b61fe84c1f292 Author: Kristian Høgsberg Date: Mon May 7 20:33:37 2007 -0400 firewire: Break out shared IEEE1394 constant to separate header file. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 04dfb8dbd200c574b2f292146ef817d9745c8936 Author: Kristian Høgsberg Date: Mon May 7 20:33:36 2007 -0400 firewire: Use linux/*.h instead of asm/*.h header files. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit a77754a75d58d534fd34a5add8ac1bb91d4ffc0f Author: Kristian Høgsberg Date: Mon May 7 20:33:35 2007 -0400 firewire: Uppercase most macro names. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit a98e27198771d066934a263177673ebde797e8fb Author: Kristian Høgsberg Date: Mon May 7 20:33:34 2007 -0400 firewire: Coding style cleanup: no spaces after function names. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 6a5033be96edb3536d158072ee796393fdffe1ca Author: Kristian Høgsberg Date: Mon May 7 20:33:33 2007 -0400 firewire: Convert card_rwsem to a regular mutex. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit c781c06d119d04601727f2fbc30151e6760d536d Author: Kristian Høgsberg Date: Mon May 7 20:33:32 2007 -0400 firewire: Clean up comment style. Drop filenames from file preamble, drop editor annotations and use standard indent style for block comments. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter (fixed typo) commit e175569c4639872b5cf242c9d4a71cc40c5f3c29 Author: Kristian Høgsberg Date: Mon May 7 20:33:31 2007 -0400 firewire: Use lib/ implementation of CRC ITU-T. With the CRC ITU-T implementation available in lib/ we can use that instead. This also fixes a bug in the topology map crc computation. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter (fixed Kconfig) commit 3e7cbae7c6dda18d427335b3ad98f1a0d40ef30c Author: Ivo van Doorn Date: Mon Jun 12 16:17:04 2006 +0200 CRC ITU-T V.41 This will add the CRC calculation according to the CRC ITU-T V.41 to the kernel lib/ folder. This code has been derived from the rt2x00 driver, currently found only in the wireless-dev tree, but this library is generic and could be used by more drivers who currently use their own implementation. Signed-off-by: Ivo van Doorn Also useful for the new firewire stack. Signed-off-by: Kristian Hoegsberg Signed-off-by: Stefan Richter commit 906fc9e92f0e8b618d4025c3aa6289415ecd8152 Author: Martin Schwidefsky Date: Thu May 10 15:46:02 2007 +0200 [S390] update default configuration. Signed-off-by: Martin Schwidefsky commit f54bfc0e34dbd15e9df099a8e36a346c6c583f3c Author: Martin Schwidefsky Date: Thu May 10 15:46:01 2007 +0200 [S390] Kconfig: no wireless on s390. Hide the config menues for wireless on s390. Cc: John W. Linville Signed-off-by: Martin Schwidefsky commit 61d48c2c31799ab9dbddbbcfccfd8042a5c6b75a Author: Martin Schwidefsky Date: Thu May 10 15:46:00 2007 +0200 [S390] Kconfig: use common Kconfig files for s390. Disband drivers/s390/Kconfig, use the common Kconfig files. The s390 specific config options from drivers/s390/Kconfig are moved to the respective common Kconfig files. Signed-off-by: Martin Schwidefsky commit abf3ea1b549afc62dc7304fddab1cdaf23d0cc84 Author: Martin Schwidefsky Date: Thu May 10 15:45:59 2007 +0200 [S390] Kconfig: common config options for s390. Disable some configuration options in the common Kconfig files that are of no interest to a s390 machine. Enable hangcheck timer. Signed-off-by: Martin Schwidefsky commit 9556fb73edfc37410cab3b47ae5e94bcecd8edf2 Author: Martin Schwidefsky Date: Thu May 10 15:45:58 2007 +0200 [S390] Kconfig: unwanted menus for s390. Disable some more menus in the configuration files that are of no interest to a s390 machine. Signed-off-by: Martin Schwidefsky commit e25df1205f37c7bff3ab14fdfc8a5249f3c69c82 Author: Martin Schwidefsky Date: Thu May 10 15:45:57 2007 +0200 [S390] Kconfig: menus with depends on HAS_IOMEM. Add "depends on HAS_IOMEM" to a number of menus to make them disappear for s390 which does not have I/O memory. Signed-off-by: Martin Schwidefsky commit eeca7a36a86db8bfc1945dd7f6f0c22a6b66b31d Author: Martin Schwidefsky Date: Thu May 10 15:45:56 2007 +0200 [S390] Kconfig: refine depends statements. Refine some depends statements to limit their visibility to the environments that are actually supported. Signed-off-by: Martin Schwidefsky commit 490f03d6595fade75a9b26e6ea9c9ebb1e4fd05a Author: Heiko Carstens Date: Thu May 10 15:45:48 2007 +0200 [S390] Avoid compile warning. arch/s390/mm/fault.c: In function `signal_return': arch/s390/mm/fault.c:256: warning: unused variable `compat' Signed-off-by: Heiko Carstens commit 853944cc40ef563f4046a0ada4c1e391419f6a25 Author: Ursula Braun Date: Thu May 10 15:45:47 2007 +0200 [S390] qdio: re-add lost perf_stats.tl_runs change in qdio_handle_pci Statement has been inadvertently lost with commit 00c0c6466c66bdf05f2a3dcf59e6895179ea8b76. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 763968e217c6657afaff90fbbec93531b3d6ce70 Author: Heiko Carstens Date: Thu May 10 15:45:46 2007 +0200 [S390] Avoid sparse warnings. Monthly sparse warning avoidance patch. Sigh. Signed-off-by: Heiko Carstens commit aaff0f644a182015622d7686a66986319a1085d1 Author: Cornelia Huck Date: Thu May 10 15:45:45 2007 +0200 [S390] dasd: Fix modular build. Add missing export of dasd_generic_read_dev_chars(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9b0c455a04d73d8ffa388a1006925620ad684ad8 Author: Martin Schwidefsky Date: Thu May 10 15:45:44 2007 +0200 [S390] monreader inlining cleanup. Signed-off-by: Martin Schwidefsky commit f7e5d67c7928bfdbcdfd95a0b3d75122238e23e0 Author: Cornelia Huck Date: Thu May 10 15:45:43 2007 +0200 [S390] cio: Make some structures and a function static. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9a92fe48b92993bb3d20fd7021e22a1ab8a473df Author: Cornelia Huck Date: Thu May 10 15:45:42 2007 +0200 [S390] cio: Get rid of _ccw_device_get_device_number(). The function shouldn't have existed in the first place (not MSS-aware). Introduce a new function ccw_device_get_id() that extracts the ccw_dev_id structure of a ccw device and convert all users of _ccw_device_get_device_number to ccw_device_get_id. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 0b0bb3c6bd66bd28062a71c2ca3878d31e2081ee Author: Cornelia Huck Date: Thu May 10 15:45:41 2007 +0200 [S390] fix subsystem removal fallout This patch fixes compilation on s390 after the removal of struct subsystem. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit f64071200acc124bd0d641ef7d750f38fbf5f8b8 Author: Paul Mackerras Date: Thu May 10 22:17:18 2007 +1000 [POWERPC] Fix compile error with kexec and CONFIG_SMP=n Commit 2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f moved the definition of hard_smp_processor_id() for the UP case from include/linux/smp.h to include/asm/smp.h. However, include/linux/smp.h only includes include/asm/smp.h in the SMP case, so code that wants to use hard_smp_processor_id() has to include explicitly to be sure of getting the definition. Signed-off-by: Paul Mackerras commit 40472a55461a672c929a092e648f6c5d21c9c310 Author: Michael Ellerman Date: Thu May 10 17:06:30 2007 +1000 [POWERPC] Split initrd logic out of early_init_dt_scan_chosen() to fix warning If CONFIG_BLK_DEV_INITRD is not defined the prop variable in early_init_dt_scan_chosen() is unused, causing a compiler warning. So split the initrd logic into a separate function, allowing us to declare prop only when we need it. Built for both cases and booted with an initrd. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 2454c7e98c0dd0aff29dfe1ee369801507f4d6a5 Author: Paul Mackerras Date: Thu May 10 15:28:44 2007 +1000 [POWERPC] Fix warning in hpte_decode(), and generalize it This adds the necessary support to hpte_decode() to handle 1TB segments and 16GB pages, and removes an uninitialized value warning on avpn. We don't have any code to generate HPTEs for 1TB segments or 16GB pages yet, so this is mostly for completeness, and to fix the warning. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit de1132173a81ae11aaa6af11ed9ded5f0c565c87 Author: Michael Neuling Date: Thu May 10 15:16:27 2007 +1000 [POWERPC] Minor pSeries IOMMU debug cleanup pci is not initialized before being used here, so this debug print is bogus at the current location. Move it to where it makes sense. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 6e66837b2669d6c07177ada4db9ec47ce9c31873 Author: Geoff Levand Date: Thu May 10 06:09:14 2007 +1000 [POWERPC] PS3: Fix sys manager build error Fix a PS3 build error when CONFIG_PS3_SYS_MANAGER=n. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 17213c3bf67bd532d4d04c286663f9bbf92b9c18 Author: Linas Vepstas Date: Thu May 10 02:38:11 2007 +1000 [POWERPC] Assorted janitorial EEH cleanups Assorted minor cleanups to EEH code; -- use literals, use kerneldoc format. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 13 ++++++++++--- arch/powerpc/platforms/pseries/eeh_driver.c | 7 ++++--- include/asm-powerpc/ppc-pci.h | 18 +++++++++++++++--- 3 files changed, 29 insertions(+), 9 deletions(-) Signed-off-by: Paul Mackerras commit 979ee32f7f8e9582a0cadd4ed9a158ddc3036ad1 Author: Stephen Rothwell Date: Thu May 10 02:21:00 2007 +1000 [POWERPC] We don't define CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID so this declaration is not needed. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 49d687b636c1f7e9a14faab7bd654f9fb88ecd11 Author: Stephen Rothwell Date: Thu May 10 02:19:51 2007 +1000 [POWERPC] pmu_sys_suspended is only defined for PPC32 thus we get a link error on ppc64 with CONFIG_PM=y. This fixes it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 31e92e0a1f40ecbef415cd99dc886b14963dc594 Author: Paul Mackerras Date: Wed May 9 21:47:15 2007 +1000 [POWERPC] Fix incorrect calculation of I/O window addresses My patch "Cope with PCI host bridge I/O window not starting at 0" introduced a bug in the calculation of the virtual addresses for the I/O windows of PCI host bridges other than the first, because it didn't account for the fact that hose->io_resource gets offset so that it reflects the range of global I/O port numbers assigned to the bridge. This fixes it and simplifies get_bus_io_range() in the process. Signed-off-by: Paul Mackerras commit 4cc81aac8bd2022d5365ad23b7ce6406676e0aa8 Author: Ishizaki Kou Date: Wed May 9 17:41:16 2007 +1000 [POWERPC] celleb: Update celleb_defconfig Updates for celleb_defconfig. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit b4f8b1087f0413f6f2a2423da66eed5c1fb70b06 Author: Ishizaki Kou Date: Wed May 9 17:38:03 2007 +1000 [POWERPC] celleb: Fix parsing of machine type hack command line option This is a bugfix to install Fedora Core 6 by using kernel command line 'celleb_machine_type_hack=CHRP'. Yes, this is a one-character fix to add forgotten '='. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 0f6e74a3e0c5e805d5f67f7631259c886158a47b Author: Ishizaki Kou Date: Wed May 9 17:36:40 2007 +1000 [POWERPC] celleb: Fix PCI config space accesses to subordinate buses Checking whether bus->self is NULL is not enough to know "bus" is the primary bus. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit d1af5b4ea970d8cccdacf243ae42899f3784ad85 Author: Ishizaki Kou Date: Wed May 9 17:34:08 2007 +1000 [POWERPC] celleb: Fix support for multiple PCI domains Celleb has multiple PCI host bridges (phbs). Previous boot logic gives non-overlapped bus IDs between PCI host bridges so you can identify PHB by bus ID. But newer boot logic gives same bus ID between PHBs (it gives bus ID 0 as root bus.) So we have to set 'phb->buid' as non-zero. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit ab5570f093585a124cd440f5229393e36c5d600e Author: Stephen Rothwell Date: Wed May 9 17:32:33 2007 +1000 [POWERPC] Wire up sys_utimensat Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 2ecf042ef530dd0943e41d84b6344f507941af3e Merge: 32a56eb... de56037... Author: Paul Mackerras Date: Thu May 10 21:08:37 2007 +1000 Merge branch 'linux-2.6' commit 26e6385f14b991e30450daee4348cbbc4bc4bb09 Author: David S. Miller Date: Thu May 10 02:16:27 2007 -0700 [SPARC64]: Use alloc_pci_dev() in PCI bus probes. Otherwise MSI explodes because pci_msi_init_pci_dev() does not get invoked. Signed-off-by: David S. Miller commit f685648e7d6520653fa2641840cccc58ba8ef8e0 Merge: f142051... 00eb43a... Author: Len Brown Date: Thu May 10 04:06:12 2007 -0400 Pull misc-for-upstream into release branch commit 9245df0cd385419f9cdd83512feb80bbb719417e Author: David S. Miller Date: Thu May 10 00:55:59 2007 -0700 [SPARC64]: Bump PROMINTR_MAX to 32. Some devices have more than 15 which was the previous setting. Signed-off-by: David S. Miller commit aa5242e78f8667ba771e4c0d44bf45871abceb7e Author: David S. Miller Date: Thu May 10 00:53:29 2007 -0700 [SPARC64]: Fix recursion in PROM tree building. Use iteration for scanning of PROM node siblings. Based upon a patch by Greg Onufer, who found this bug. Signed-off-by: David S. Miller commit 00eb43a1897a8845d0edb198cec69ac5f1f299dd Author: Lennart Poettering Date: Fri May 4 14:16:19 2007 +0200 acpi,msi-laptop: Fall back to EC polling mode for MSI laptop specific EC commands The ACPI EC that is used in MSI laptops knows some non-standard commands for changing the screen brighntess and a few other things, which are used by the msi-laptop.c driver. Unfortunately for these commands no GPE events for IBF and OBF are triggered. Since nowadays the EC code uses the ec_intr=1 mode by default, this causes these operations to timeout, although they don't fail. In result, all operations that you can do with the msi-laptop.c driver take more or less 1s to complete, which is awfully slow. In one of the more recent kernels (2.6.20?) the EC subsystem has been revamped. With that change the EC timeout has been increased. before that increase the MSI EC accesses were slow -- but not *that* slow, hence I took notice of this limitation of the MSI EC hardware only very recently. The standard EC operations on the MSI EC as defined in the ACPI spec support GPE events properly. The following patch adds a new argument "force_poll" to the ec_transaction() function (and friends). If set to 1, the function will poll for IBF/OBF even if ec_intr=1 is enabled. If set to 0 the current behaviour is used. The msi-laptop driver is modified to make use of this new flag, so that OBF/IBF is polled for the special MSI EC transactions -- but only for them. Signed-off-by: Lennart Poettering Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f142051505154da4ba689e129deb06524c5ece8a Merge: 19ed0d6... a64e62a... Author: Len Brown Date: Thu May 10 02:50:09 2007 -0400 Pull misc-for-upstream into release branch commit 19ed0d6fa894aec0050ab75185e69785a656da91 Merge: 71b43ca... f398532... Author: Len Brown Date: Thu May 10 02:50:01 2007 -0400 Pull asus into release branch commit 71b43ca46fc5f0588ef64a14c6133c19a9b3f1ea Merge: 3dd6786... fd35094... Author: Len Brown Date: Thu May 10 02:49:34 2007 -0400 Pull acpica into release branch commit 3dd6786f55219f87fd33e153669600d715ca9270 Merge: f697b67... 88db5e1... Author: Len Brown Date: Thu May 10 02:49:21 2007 -0400 Pull bugzilla-8385 into release branch commit f697b677620d04d8c77841745727de85f7e948b1 Merge: de56037... eaca2d3... Author: Len Brown Date: Thu May 10 02:49:01 2007 -0400 Pull thermal into release branch commit a64e62a07097f67108f0b68bc15216c3a4a5299b Author: Mattia Dongili Date: Tue May 1 11:19:53 2007 +0900 sony-laptop: rename SONY_LAPTOP_OLD to a more meaningful SONYPI_COMPAT Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f398532722b44aa797915d6b784e8694b277c2c7 Author: Corentin Chary Date: Sun May 6 14:48:22 2007 +0200 asus-laptop: version bump and lindent Version bump, lindent, etc .. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 832d995029466e12aef66187bc9103487bf7be9f Author: Corentin Chary Date: Sun May 6 14:47:29 2007 +0200 asus-laptop: fix light sens init Fix a stupid light sens detection bug. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit e539c2f69ca17f71dd41ba89cde67612a1326c57 Author: Corentin Chary Date: Sun May 6 14:47:06 2007 +0200 asus-laptop: add GPS support Just adds GPS support found in R2H thanks to Sam Lin. It will make a "gps" file in /sys/devices/platform/asus-laptop/. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a9dbcb37a45f45813fc64d672a1f7ae6135650b1 Author: Corentin Chary Date: Sun May 6 14:46:41 2007 +0200 asus-laptop: notify ALL events We need to handle all events, because some dsdt use events >= 0x80 Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 32a56ebb24f23da1bbaf24292acf85b6c04526ab Author: Kumar Gala Date: Wed May 9 23:44:58 2007 -0500 [POWERPC] CPM_UART: Removed __init from cpm_uart_init_portdesc to fix warning cpm_uart_init_portdesc is referenced from non-init code and thus we were getting the following warning: WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:cpm_uart_init_portdesc from .text between 'cpm_uart_init' (at offset 0x18020) and 'cpm_uart_drv_remove' Signed-off-by: Kumar Gala commit b99ab6a8c7f24d1dd2e435c1d04877bc034a8dd8 Author: Kumar Gala Date: Wed May 9 23:28:17 2007 -0500 [POWERPC] User rheap from arch/powerpc/lib Removed rheap in arch/ppc/lib and changed build system to use the one in arch/powerpc/lib. Signed-off-by: Kumar Gala commit 3fae4210ba620fde5122e4c4f564a85c18901940 Author: Scott Wood Date: Tue May 1 12:49:04 2007 -0500 [POWERPC] 83xx: Fix the PCI ranges in the MPC834x_MDS device tree. The MPC834x_MDS device tree's PCI non-prefetchable MMIO range was specified incorrectly. Both the local and bus addresses start at 0x90000000. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d985f68e349ef60f69eef269d2f45e90bca619c9 Author: Scott Wood Date: Tue May 1 12:48:47 2007 -0500 [POWERPC] 83xx: Fix the PCI ranges in the MPC832x_MDS device tree. The MPC832x_MDS device tree's PCI non-prefetchable MMIO range was specified incorrectly. Both the local and bus addresses start at 0x90000000. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 1bda8f3056126ccdbe10c747e00dd9e61cca48ca Author: Scott Wood Date: Tue May 8 12:19:21 2007 -0500 [POWERPC] CPM_UART: cpm_uart_set_termios should take ktermios, not termios This eliminates some warnings. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 4c35630ccda56ed494f6102d2e147fefe14b78d2 Author: Timur Tabi Date: Tue May 8 14:46:36 2007 -0500 [POWERPC] Change rheap functions to use ulongs instead of pointers The rheap allocation functions return a pointer, but the actual value is based on how the heap was initialized, and so it can be anything, e.g. an offset into a buffer. A ulong is a better representation of the value returned by the allocation functions. This patch changes all of the relevant rheap functions to use a unsigned long integers instead of a pointer. In case of an error, the value returned is a negative error code that has been cast to an unsigned long. The caller can use the IS_ERR_VALUE() macro to check for this. All code which calls the rheap functions is updated accordingly. Macros IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE(). Also added error checking to rh_attach_region(). Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 742226c579c573c24386aaf41969a01ee058b97e Author: Jason Jin Date: Wed May 2 16:53:38 2007 -0500 [POWERPC] 86xx: Enable the AC97 interface on 8641D board. HD interface and AC97 interface share some pins and they are enabled at the same time, In order to use AC97 interface, we need to disable the HD interface first. Signed-off-by:Jason Jin Acked-by: Jon Loeliger Signed-off-by: Kumar Gala commit 828765269efaafbf8973bb6e41d10970ee4effc3 Author: Becky Bruce Date: Wed May 9 14:31:19 2007 -0500 [POWERPC] Move reg_booke.h to include/asm-powerpc This patch moves a copy of reg_booke.h to include/asm-powerpc and fixes up the ifdef protection. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit c9ec87e5121b1777172fc07a14322ebb32a04ba9 Author: Kumar Gala Date: Wed May 9 22:48:53 2007 -0500 [POWERPC] 83xx: Suppress warning when CONFIG_ options aren't defined Suppress warning when CONFIG_PCI & CONFIG_QUICC_ENGINE is not defined Signed-off-by: Kumar Gala commit b38d06d8c48e8a866bf8f0ae5dabd9eea9c63f7c Author: Li Yang Date: Thu May 10 11:14:57 2007 +0800 [POWERPC] 83xx: Suppress warning when CONFIG_PCI is not defined Suppress warning when CONFIG_PCI is not defined. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit fd3509436fde38d4c854bf5a6b83d2c779904f8e Author: Len Brown Date: Wed May 9 23:34:35 2007 -0400 ACPICA: Lindent Signed-off-by: Len Brown commit 88db5e1489f23876a226f5393fd978ddc09dc5f9 Author: Alexey Starikovskiy Date: Wed May 9 23:31:03 2007 -0400 ACPI: created a dedicated workqueue for notify() execution HP nx6125/nx6325/... machines have a _GPE handler with an infinite loop sending Notify() events to different ACPI subsystems. Notify handler in ACPI driver is a C-routine, which may call ACPI interpreter again to get access to some ACPI variables (acpi_evaluate_xxx). On these HP machines such an evaluation changes state of some variable and lets the loop above break. In the current ACPI implementation Notify requests are being deferred to the same kacpid workqueue on which the above GPE handler with infinite loop is executing. Thus we have a deadlock -- loop will continue to spin, sending notify events, and at the same time preventing these notify events from being run on a workqueue. All notify events are deferred, thus we see increase in memory consumption noticed by author of the thread. Also as GPE handling is bloked, machines overheat. Eventually by external poll of the same acpi_evaluate, kacpid is released and all the queued notify events are free to run, thus 100% cpu utilization by kacpid for several seconds or more. To prevent all these horrors it's needed to not put notify events to kacpid workqueue by either executing them immediately or putting them on some other thread. It's dangerous to execute notify events in place, as it will put several ACPI interpreter stacks on top of each other (at least 4 in case of nx6125), thus causing kernel stack overflow. First attempt to create a new thread was done by Peter Wainwright He created a bunch of threads, which were stealing work from a kacpid workqueue. This patch appeared in 2.6.15 kernel shipped with Ubuntu 6.06 LTS. Second attempt was done by me, I created a new thread for each Notify event. This worked OK on HP nx machines, but broke Linus' Compaq n620c, by producing threads with a speed what they stopped the machine completely. Thus this patch was reverted from 18-rc2 as I remember. I re-made the patch to create second workqueue just for notify events, thus hopping it will not break Linus' machine. Patch was tested on the same HP nx machines in #5534 and #7122, but I did not received reply from Linus on a test patch sent to him. Patch went to 19-rc and was rejected with much fanfare again. There was 4th patch, which inserted schedule_timeout(1) into deferred execution of kacpid, if we had any notify requests pending, but Linus decided that it was too complex (involved either changes to workqueue to see if it's empty or atomic inc/dec). Now you see last variant which adds yield() to every GPE execution. http://bugzilla.kernel.org/show_bug.cgi?id=5534 http://bugzilla.kernel.org/show_bug.cgi?id=8385 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 262a7a28de060f3a63cae20035876d6f22fd7670 Author: Len Brown Date: Wed May 9 23:01:59 2007 -0400 Revert "ACPICA: fix AML mutex re-entrancy" This reverts commit c0d127b56937c3e72c2b1819161d2f6718eee877. These changes to AML locking were made to allow Notify handlers to be called on the stack and not deadlock. However, that scheme turns out to be flawed and was reverted by the previous commit, so this commit restores the locking to it previous design. Signed-off-by: Len Brown commit 40d07080e585396dc58bc64befa1de0695318b3b Author: Len Brown Date: Wed May 9 22:59:38 2007 -0400 Revert "Execute AML Notify() requests on stack." This reverts commit 5f7748cf91558a5026ded5be93c5bf6c1ac34edf. While that change fixed the HP http://bugzilla.kernel.org/show_bug.cgi?id=5534 it broke the ACER: http://bugzilla.kernel.org/show_bug.cgi?id=8385 which as AML that caused Linux go recursive and stack fault. So this commit by itself will restore the ACER and again break the HP, which we'll fix another way. Signed-off-by: Len Brown commit 4d2acd9ea539e0f59178b126f6750ccc41eefcdd Author: Len Brown Date: Wed May 9 22:56:38 2007 -0400 Revert "ACPICA: revert "acpi_serialize" changes" This reverts commit a8f4af6dc6600980885c594f52eecd60edd62013. Thus restoring ACPICA's new acpi_serialize code. This commit by itself may cause a regression, but it is reverted in this order so that subsequent reverts reverts under this one can be made without conflict. Signed-off-by: Len Brown commit de5603748af8bf7deac403e6ba92887f8d18e812 Merge: b5f0adb... 225c7b1... Author: Linus Torvalds Date: Wed May 9 19:40:09 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters IB: Put rlimit accounting struct in struct ib_umem IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules commit b5f0adbcc4f16e378882d8f68fe3111df04911be Merge: 0a09d9a... 5b2fc49... Author: Linus Torvalds Date: Wed May 9 18:53:12 2007 -0700 Merge branch 'usb-move' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'usb-move' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: Move USB network drivers to drivers/net/usb. commit 0a09d9a49cc4a7f65b76f848821d4a8bb7cc1230 Merge: 44ce629... e086339... Author: Linus Torvalds Date: Wed May 9 18:52:45 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: Doc Fix: remove mention of combined mode-related kernel parameters libata: fix kernel-doc parameters Fix pata_qdi.c probe code pata_scc: fix compilation sata_via: add missing PM hooks sata_nv: fix ADMA freeze/thaw/irq_clear issues pata_pcmcia.c: add card ident for jvc cdrom sata_promise: SATAII-150/300 TX4 port numbering fix sata_promise: fix another error decode regression libata-acpi: fix _GTF command protocol for ATAPI devices commit 44ce6294d07555c3d313757105fd44b78208407f Author: Linus Torvalds Date: Wed May 9 18:51:36 2007 -0700 Revert "md: improve partition detection in md array" This reverts commit 5b479c91da90eef605f851508744bfe8269591a0. Quoth Neil Brown: "It causes an oops when auto-detecting raid arrays, and it doesn't seem easy to fix. The array may not be 'open' when do_md_run is called, so bdev->bd_disk might be NULL, so bd_set_size can oops. This whole approach of opening an md device before it has been assembled just seems to get more and more painful. I think I'm going to have to come up with something clever to provide both backward comparability with usage expectation, and sane integration into the rest of the kernel." Signed-off-by: Linus Torvalds commit 5b2fc499917e5897a13add780e181b4cef197072 Author: Jeff Garzik Date: Wed May 9 21:31:55 2007 -0400 Move USB network drivers to drivers/net/usb. It is preferable to group drivers by usage (net, scsi, ATA, ...) than by bus. When reviewing drivers, the [PCI|USB|PCMCIA|...] maintainer is probably less qualified on networking issues than a networking maintainer. Also, from a practical standpoint, chips often appear on multiple buses, which is why we do not put drivers into drivers/pci/net. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit e0863397cb8f3ede356ef2cb7dcdccc9956cdc6d Author: Jesse Barnes Date: Tue May 1 14:34:39 2007 -0700 Doc Fix: remove mention of combined mode-related kernel parameters Looks like you removed the combined_mode quirk (yay!) but didn't update kernel-parameters.txt... might confuse people. Here's a patch to remove mention of it from the documentation. Signed-off-by: Jesse Barnes Signed-off-by: Jeff Garzik commit 6b38d1d1d50234453e12ccdbbb162d10ece6430f Author: Randy Dunlap Date: Tue May 1 17:35:55 2007 -0700 libata: fix kernel-doc parameters Warning(linux-2.6.21-git4//drivers/ata/libata-core.c:904): No description found for parameter 'new_sectors' Warning(linux-2.6.21-git4//drivers/ata/libata-core.c:941): No description found for parameter 'new_sectors' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 6878cce57b43b24eee1a4de6d189051c4646b575 Author: Samuel Thibault Date: Thu May 3 11:30:25 2007 +0200 Fix pata_qdi.c probe code There is a small typo in the probe code of pata_qdi.c, here is a patch. Signed-off-by: Jeff Garzik commit 0397bad5b413226b8f55f599b185ab506d13b078 Author: Alexey Dobriyan Date: Thu May 3 23:44:59 2007 +0400 pata_scc: fix compilation Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit e1e143cf976ed635a45b768b4a26684173320d6f Author: Tejun Heo Date: Fri May 4 15:30:34 2007 +0200 sata_via: add missing PM hooks For some reason, sata_via is missing PM hooks. Add them. Spotted by Jeroen Janssen . Signed-off-by: Tejun Heo Cc: Jeroen Janssen Signed-off-by: Jeff Garzik commit 53014e2526dff68628adb11c44bd1e8f2a2a9ae9 Author: Robert Hancock Date: Sat May 5 15:36:36 2007 -0600 sata_nv: fix ADMA freeze/thaw/irq_clear issues This patch fixes some problems with ADMA-capable controllers with regard to freeze, thaw and irq_clear libata callbacks. Freeze and thaw didn't switch the ADMA-specific interrupts on or off, and more critically the irq_clear function didn't respect the restriction that the notifier clear registers for both ports have to be written at the same time even when only one port is being cleared. This could result in timeouts on one port when error handling (i.e. as a result of hotplug) occurred on the other port. As well, this fixes some issues in the interrupt handler: we shouldn't check any ADMA status if the port has ADMA switched off because of an ATAPI device, and it also checks to see if any ADMA interrupt has been raised even when we are in port-register mode. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 7871e74acbf5013970daaa1d032854210282340c Author: Richard Kennedy Date: Tue May 8 15:20:56 2007 +0100 pata_pcmcia.c: add card ident for jvc cdrom update pata_pcmcia to add card ident for JVC MP-CDX1 cdrom drive card info: PRODID_1="KME" PRODID_2="KXLC005" PRODID_3="00" MANFID=0032,2904 Signed-off-by: Richard Kennedy Signed-off-by: Jeff Garzik commit 5ac2fe57569c5fbbd4288e3e7fead332b4300ef0 Author: Mikael Pettersson Date: Sun May 6 22:14:01 2007 +0200 sata_promise: SATAII-150/300 TX4 port numbering fix There is a known problem with sata_promise on SATAII-150/300 TX4 controller cards: it enumerates drives in an order that differs from the port numbers printed on the controller cards. However, Promise's BIOS and Linux driver both get the order right. I investigated Promise's Linux driver (v1.01.0.23), and found that it explicitly changes the mapping from logical port number to ATA engine MMIO address on the SATAII TX4 cards. It does this on all SATAII TX4 cards, without inspecting revision etc. The SATAII TX2plus cards continue to use the same mapping that was used for the first-generation chips. This patch updates sata_promise to use the new port number to ATA engine mapping on SATAII TX4 cards, which fixes the drive enumeration order problem on those cards. Tested on several 1st and 2nd generation TX2plus and TX4 chips. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 8ffcfd9d0dc735071379760c23317f15904f9056 Author: Mikael Pettersson Date: Sun May 6 22:12:31 2007 +0200 sata_promise: fix another error decode regression The sata_promise error decode update changed pdc_host_intr() to return and not complete the qc after detecting an error. Unfortunately not completing the qc:s causes them to always time out on error, which is wrong and has nasty side-effects. This patch updates pdc_error_intr() to call ata_port_abort(), similar to ahci and sata_sil24. Doing this is important as it makes EH see the original error and not a bogus timeout. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 48be6b18336567a795bc41e4526f9adfb3a3d68e Author: Tejun Heo Date: Mon Apr 23 02:06:46 2007 +0900 libata-acpi: fix _GTF command protocol for ATAPI devices _GTF command is never ATA_PROT_ATAPI_NODATA whether the device is ATAPI or not. It's always ATA_PROT_NODATA. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 497f050c42e46a4b1f6a9bcd8827fa5d97fe1feb Author: Alexey Dobriyan Date: Wed May 9 18:52:35 2007 +0400 atl1: add netconsole support Copied from b44 driver, but it works: netconsole: device eth0 not up yet, forcing it atl1: eth0 link is up 100 Mbps full duplex netconsole: network logging started Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 5bebf82fff53a96f330c0879ffe870bdf3aaeab6 Author: Paul Walmsley Date: Wed May 9 10:47:16 2007 -0600 Fix hang on IBM Token Ring PCMCIA card ejection Ejecting a PCMCIA IBM Token Ring card that has not had its dev->open() called will reliably trigger an uninitialized spinlock oops when spinlock debugging is enabled. The system then hangs, occasionally softlockup oopsing. Apparently ibmtr.c:tok_interrupt() doesn't expect to be called before tok_open(), but tok_interrupt() gets called anyway when the card is ejected. So, set an already-existing flag which causes tok_interrupt() to bail out early upon card ejection. Tested by inserting and removing the PCMCIA card several times. Signed-off-by: Paul Walmsley Signed-off-by: Jeff Garzik commit 5b982c5bb7db5cfbc15236d9d45cec32e5472ed5 Author: Stephen Hemminger Date: Tue May 8 13:36:20 2007 -0700 skge: default WOL should be magic only (rev2) By default, the skge driver now enables wake on magic and wake on PHY. This is a bad default (bug), wake on PHY means machine will never shutdown if connected to a switch. Signed-off-by: Stephen Hemminger a Signed-off-by: Jeff Garzik commit 2c4f365ad2361c93c097e958b2b0a7a112750228 Merge: 3cb7396... 47c93d2... Author: Jeff Garzik Date: Wed May 9 18:54:49 2007 -0400 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream commit 3cb7396b7b26585b1ab7c1a8ca554ec103da5d37 Merge: d0b6e0e... 317a46a... Author: Linus Torvalds Date: Wed May 9 15:41:31 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix PIO setup on resume for ATAPI devices ide: legacy PCI bus order probing fixes ide: add ide_proc_register_port() ide: add "initializing" argument to ide_register_hw() ide: cable detection fixes (take 2) ide: move IDE settings handling to ide-proc.c ide: split off ioctl handling from IDE settings (v2) ide: make /proc/ide/ optional ide: add ide_tune_dma() helper ide: rework the code for selecting the best DMA transfer mode (v3) ide: fix UDMA/MWDMA/SWDMA masks (v3) commit d0b6e0e380d6a32d479120a8b5d98cdff936ec8c Merge: 5329571... 7a13e93... Author: Linus Torvalds Date: Wed May 9 15:29:58 2007 -0700 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: NFS: Kill the obsolete NFS_PARANOIA NFS: use __set_current_state() sunrpc: fix crash in rpc_malloc() NFS: Clean up NFSv4 XDR error message NFS: NFS client underestimates how large an NFSv4 SETATTR reply can be SUNRPC: Fix pointer arithmetic bug recently introduced in rpc_malloc/free NFS: Remove redundant check in nfs_check_verifier() NFS: Fix a jiffie wraparound issue commit 317a46a200e6514a1acf50ed30291160185a5c73 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:11 2007 +0200 ide: fix PIO setup on resume for ATAPI devices PIO should be restored also for ATAPI devices during resume, fix it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d208b39c45edee5def6c201fcd51561c5a39828 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:11 2007 +0200 ide: legacy PCI bus order probing fixes IDE PCI host drivers should register themselves with IDE core only when IDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI host drivers are also modular) the code has no effect and just complicates the probing. Fix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when needed and invisible to the user) and covering by #ifdef/#endif the code in question. It turned out that "ide=reverse" was silently accepted but did nothing in case when IDE driver was modular, this is fixed now. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5cbf79cdb37be2aa2a1b4fa94144526b14557060 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:11 2007 +0200 ide: add ide_proc_register_port() * create_proc_ide_interfaces() tries to add /proc entries for every probed and initialized IDE port, replace it by ide_proc_register_port() which does it only for the given port (also rename destroy_proc_ide_interface() to ide_proc_unregister_port() for consistency) * convert {create,destroy}_proc_ide_interface[s]() users to use new functions * pmac driver depended on proc_ide_create() to add /proc port entries, fix it * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them * there is now no need to add /proc entries for IDE ports in proc_ide_create() so don't do it * proc_ide_create() needs now to be called before drivers are probed - fix it, while at it make proc_ide_create() create /proc "ide" directory Signed-off-by: Bartlomiej Zolnierkiewicz commit 869c56ee9de1b72cd3f8ab9cdfbd3601e55c61f2 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:10 2007 +0200 ide: add "initializing" argument to ide_register_hw() Add "initializing" argument to ide_register_hw() and use it instead of ide.c wide variable of the same name. Update all users of ide_register_hw() accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f8f48af0861c38c28d4abd550102643e0ea9e6a Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:10 2007 +0200 ide: cable detection fixes (take 2) Tejun's recent eighty_ninty_three() fix has inspired me to do more thorough review of the cable detection code... * print user-friendly warning about limiting the maximum transfer speed to UDMA33 (and the reason behind it) when 80-wire cable is not detected, also while at it cleanup eighty_ninty_three() a bit * use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs: - bit 14 (word 93 validity check) == 1 && bit 13 (80-wire cable test) == 1 were used as 80-wire cable present test for CONFIG_IDEDMA_IVB=n case (please see FIXME comment in eighty_ninty_three() for more details) - CONFIG_IDEDMA_IVB=y/n cases were interchanged - check for SATA devices was missing * remove private cable warnings from pdc_202xx{old,new} drivers now that core code provides this functionality (plus, in pdc202xx_new case the test could give false warnings for ATAPI devices because pdc202xx_new driver doesn't even support ATAPI DMA) Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 7662d046df09e80680b77b68de896beab45e675e Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:10 2007 +0200 ide: move IDE settings handling to ide-proc.c * move __ide_add_setting() ide_add_setting() __ide_remove_setting() auto_remove_settings() ide_find_setting_by_name() ide_read_setting() ide_write_setting() set_xfer_rate() ide_add_generic_settings() ide_register_subdriver() ide_unregister_subdriver() from ide.c to ide-proc.c * set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it * rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(), update device drivers to use new names * add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver() and ide_add_generic_settings() * make ide_find_setting_by_name(), ide_{read,write}_setting() and ide_{add,remove}_proc_entries() static * cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef, also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc * remove bogus comment from ide.h * cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t Besides saner code this patch results in the IDE core smaller by ~2 kB (on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1497943ee692aa7519fa972d0e3a339649bf3a96 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:10 2007 +0200 ide: split off ioctl handling from IDE settings (v2) * do write permission and min/max checks in ide_procset_t functions * ide-disk.c: drive->id is always available so cleanup "multcount" setting accordingly * ide-disk.c: "address" setting was incorrectly defined as type TYPE_INTA, fix it by using type TYPE_BYTE and updating ide_drive_t->adressing field, the bug didn't trigger because this IDE setting uses custom ->set function * ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl * ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl * handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl() instead of using IDE settings to deal with them * remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl fields from ide_settings_t, also remove now unused TYPE_INTA handling v2: * add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk Signed-off-by: Bartlomiej Zolnierkiewicz commit ecfd80e4a514123070b4cfb674b817ba75055df2 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:09 2007 +0200 ide: make /proc/ide/ optional All important information/features should be already available through sysfs and ioctl interfaces. Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option, disabling it makes IDE driver ~5 kB smaller (on x86-32). While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}() and remove no longer needed #ifdefs. Signed-off-by: Bartlomiej Zolnierkiewicz commit 29e744d088e3555f4efbdf390f01088dd66993b6 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:09 2007 +0200 ide: add ide_tune_dma() helper After reworking the code responsible for selecting the best DMA transfer mode it is now possible to add generic ide_tune_dma() helper. Convert some IDE PCI host drivers to use it (the ones left need more work). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2d5eaa6dd744a641e75503232a01f52d0768884c Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:08 2007 +0200 ide: rework the code for selecting the best DMA transfer mode (v3) Depends on the "ide: fix UDMA/MWDMA/SWDMA masks" patch. * add ide_hwif_t.udma_filter hook for filtering UDMA mask (use it in alim15x3, hpt366, siimage and serverworks drivers) * add ide_max_dma_mode() for finding best DMA mode for the device (loosely based on some older libata-core.c code) * convert ide_dma_speed() users to use ide_max_dma_mode() * make ide_rate_filter() take "ide_drive_t *drive" as an argument instead of "u8 mode" and teach it to how to use UDMA mask to do filtering * use ide_rate_filter() in hpt366 driver * remove no longer needed ide_dma_speed() and *_ratemask() * unexport eighty_ninty_three() v2: * rename ->filter_udma_mask to ->udma_filter [ Suggested by Sergei Shtylyov . ] v3: * updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space originated transfer mode change requests when 100MHz clock is used) Signed-off-by: Bartlomiej Zolnierkiewicz commit 18137207236285989dfc0ee7f929b954199228f3 Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:07 2007 +0200 ide: fix UDMA/MWDMA/SWDMA masks (v3) * use 0x00 instead of 0x80 to disable ->{ultra,mwdma,swdma}_mask * add udma_mask field to ide_pci_device_t and use it to initialize ->ultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers * fix UDMA masks to match with chipset specific *_ratemask() (alim15x3, hpt366, serverworks and siimage drivers need UDMA mask filtering method - done in the next patch) v2: * piix: fix cable detection for 82801AA_1 and 82372FB_1 [ Noticed by Sergei Shtylyov . ] * cmd64x: use hwif->cds->udma_mask [ Suggested by Sergei Shtylyov . ] * aec62xx: fix newly introduced bug - check DMA status not command register [ Noticed by Sergei Shtylyov . ] v3: * piix: use hwif->cds->udma_mask [ Suggested by Sergei Shtylyov . ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a13e932281e7042a592f4f14db0b348199e7aac Author: Jesper Juhl Date: Thu Apr 26 00:29:02 2007 -0700 NFS: Kill the obsolete NFS_PARANOIA Signed-off-by: Jesper Juhl Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit fee7f23feaf0845fdfd47d20cddc75652552fbb8 Author: Milind Arun Choudhary Date: Thu Apr 26 00:29:03 2007 -0700 NFS: use __set_current_state() use __set_current_state(TASK_*) instead of current->state = TASK_*, in fs/nfs Signed-off-by: Milind Arun Choudhary Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit ddce40df6e14dd474bbd9daa006dcc290dea6326 Author: Peter Zijlstra Date: Wed May 9 08:30:11 2007 +0200 sunrpc: fix crash in rpc_malloc() While the comment says: * To prevent rpciod from hanging, this allocator never sleeps, * returning NULL if the request cannot be serviced immediately. The function does not actually check for NULL pointers being returned. Signed-off-by: Peter Zijlstra Signed-off-by: Trond Myklebust commit e4cc6ee2e40bdd57990577b7f851fa2ca48edf47 Author: Chuck Lever Date: Tue May 8 18:23:28 2007 -0400 NFS: Clean up NFSv4 XDR error message Make it more useful for debugging purposes. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6ce7dc940701cf3fde3c6e826a696b333092cbb1 Author: Chuck Lever Date: Tue May 8 18:23:28 2007 -0400 NFS: NFS client underestimates how large an NFSv4 SETATTR reply can be The maximum size of an NFSv4 SETATTR compound reply should include the GETATTR operation that we send. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit aa3d1faebe6e214cd96be0e587571477ff6fd9fc Author: Chuck Lever Date: Tue May 8 18:23:28 2007 -0400 SUNRPC: Fix pointer arithmetic bug recently introduced in rpc_malloc/free Use a cleaner method to find the size of an rpc_buffer. This actually works on x86-64! Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e70c490810dc683fad39e57cf00e69d5f120c542 Author: Trond Myklebust Date: Wed May 9 09:00:18 2007 -0400 NFS: Remove redundant check in nfs_check_verifier() The check for nfs_attribute_timeout(dir) in nfs_check_verifier is redundant: nfs_lookup_revalidate() will already call nfs_revalidate_inode() on the parent dir when necessary. The only case where this is not done is the case of a negative dentry. Fix this case by moving up the revalidation code. Signed-off-by: Trond Myklebust commit e62c2bba1fb7cf068eb78d731da46e4447a9efb1 Author: Trond Myklebust Date: Wed May 9 09:00:17 2007 -0400 NFS: Fix a jiffie wraparound issue dentry verifiers are always set to the parent directory's cache_change_attribute. There is no reason to be testing for anything other than equality when we're trying to find out if the dentry has been checked since the last time the directory was modified. Signed-off-by: Trond Myklebust commit 5329571b3c978635f6d832cc884fdd61ff94e0da Author: akpm@linux-foundation.org Date: Wed May 9 00:43:17 2007 -0700 [IA64] sa_interrupt is deprecated Seems more than just deprecated, we can't build using SA_INTERUPT. Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 7cc5c8559c62289d027812bfdd4eb6a28c5769b6 Author: Mark Fortescue Date: Wed May 9 13:49:04 2007 -0700 [SERIAL] sunzilog: Interrupt enable before ISR handler installed This patch changes the interrupt enable sequence for the sunzilog driver so that interrupts are not enabled untill after the interrupt handler has been installed. If this is not done, some SS1 and SS2 sun4c systems panic on un-handled interrupt before the handler gets installed preventing boot. It also adds in support for the ESCC version of the zilog chips. The changes mean that the FIFO will be enabled for ESCC versions of the SCC UART. My interpretation of the SCC manual and the existing interrupt handler code is that it sould be able to make good use of the FIFO without issues. Signed-off-by: Mark Fortescue Signed-off-by: David S. Miller commit 38cb162b7585d837083b8365da1eb32687c5164c Merge: ba7cc09... e180583... Author: Linus Torvalds Date: Wed May 9 13:38:45 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] wire up pselect, ppoll [IA64] Add TIF_RESTORE_SIGMASK [IA64] unwind did not work for processes born with CLONE_STOPPED [IA64] Optional method to purge the TLB on SN systems [IA64] SPIN_LOCK_UNLOCKED macro cleanup in arch/ia64 [IA64-SN2][KJ] mmtimer.c-kzalloc [IA64] fix stack alignment for ia32 signal handlers [IA64] - Altix: hotplug after intr redirect can crash system [IA64] save and restore cpus_allowed in cpu_idle_wait [IA64] Removal of percpu TR cleanup in kexec code [IA64] Fix some section mismatch errors commit ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283 Merge: d84c412... b7aa48b... Author: Linus Torvalds Date: Wed May 9 13:10:11 2007 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (21 commits) [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp) [MTD] Delete allegedly obsolete "bank_size" field of mtd_info. [MTD] Remove unnecessary user space check from mtd.h. [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver [MTD] [NAND] platform NAND driver: add driver [MTD] [NAND] platform NAND driver: update header [JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more. [JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree() [JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree() [JFFS2] Remember to calculate overlap on nodes which replace older nodes [JFFS2] Don't advance c->wbuf_ofs to next eraseblock after wbuf flush [MTD] [NAND] at91_nand.c: CMDLINE_PARTS support [MTD] [NAND] Tidy up handling of page number in nand_block_bad() [MTD] block2mtd_paramline[] mustn't be __initdata [MTD] [NAND] Support multiple chips in CAFÉ driver [MTD] [NAND] Rename cafe.c to cafe_nand.c and remove the multi-obj magic [MTD] [NAND] Use rslib for CAFÉ ECC [RSLIB] Support non-canonical GF representations [JFFS2] Remove dead file histo_mips.h ... commit d84c4124c4b6611301b402e8611b7e36de3bd351 Merge: 932c37c... a3cf4ea... Author: Linus Torvalds Date: Wed May 9 13:08:20 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix stacktrace simplification fallout. sh: SH7760 DMABRG support. sh: clockevent/clocksource/hrtimers/nohz TMU support. sh: Truncate MAX_ACTIVE_REGIONS for the common case. rtc: rtc-sh: Fix rtc_dev pointer for rtc_update_irq(). sh: Convert to common die chain. sh: Wire up utimensat syscall. sh: landisk mv_nr_irqs definition. sh: Fixup ndelay() xloops calculation for alternate HZ. sh: Add 32-bit opcode feature CPU flag. sh: Fix PC adjustments for varying opcode length. sh: Support for SH-2A 32-bit opcodes. sh: Kill off redundant __div64_32 symbol export. sh: Share exception vector table for SH-3/4. sh: Always define TRAPA_BUG_OPCODE. sh: __GFP_REPEAT for pte allocations, too. rtc: rtc-sh: Fix up dev_dbg() warnings. sh: generic quicklist support. commit 932c37c375cca25175f9b6acee4c75d7a96d985f Merge: c855ff3... 805f53f... Author: Linus Torvalds Date: Wed May 9 13:05:57 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits) ARM: OMAP: Fix GCC-reported compile time bug ARM: OMAP: restore CONFIG_GENERIC_TIME ARM: OMAP: partial LED fixes ARM: OMAP: add SoSSI clock (call propagate_rate for childrens) ARM: OMAP: FB sync with N800 tree (support for dynamic SRAM allocations) ARM: OMAP: Sync framebuffer headers with N800 tree ARM: OMAP: Mostly cosmetic to sync up with linux-omap tree ARM: OMAP: Fix gpmc header ARM: OMAP: Add mailbox support for IVA [ARM] armv7: add Makefile and Kconfig entries [ARM] armv7: add support for asid-tagged VIVT I-cache [ARM] armv7: add dedicated ARMv7 barrier instructions [ARM] armv7: Add ARMv7 cacheid macros [ARM] armv7: add support for ARMv7 cores. [ARM] Fix ARM branch relocation range [ARM] 4363/1: AT91: Remove legacy PIO definitions [ARM] 4361/1: AT91: Build error ARM: OMAP: Sync core code with linux-omap ARM: OMAP: Sync headers with linux-omap ARM: OMAP: h4 must have blinky leds!! ... commit c855ff3718e5f667b463b20b9de516b4cd7625ad Author: David Howells Date: Wed May 9 13:42:20 2007 +0100 Fix a bad error case handling in read_cache_page_async() Commit 6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2 introduced a nasty bug in read_cache_page_async(). It added a "mark_page_accessed(page)" at the final return path in read_cache_page_async(). But in error cases, 'page' holds the error code, and you can't mark it accessed. [ and Glauber de Oliveira Costa points out that we can use a return instead of adding more goto's ] Signed-off-by: David Howells Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit aabded9c3aab5160ae2ca3dd1fa0fa37f3d510e4 Merge: 9a9136e... f1a1eb2... Author: Linus Torvalds Date: Wed May 9 12:56:01 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32 [POWERPC] EEH: log all PCI-X and PCI-E AER registers [POWERPC] EEH: capture and log pci state on error [POWERPC] EEH: Split up long error msg [POWERPC] EEH: log error only after driver notification. [POWERPC] fsl_soc: Make mac_addr const in fs_enet_of_init(). [POWERPC] Don't use SLAB/SLUB for PTE pages [POWERPC] Spufs support for 64K LS mappings on 4K kernels [POWERPC] Add ability to 4K kernel to hash in 64K pages [POWERPC] Introduce address space "slices" [POWERPC] Small fixes & cleanups in segment page size demotion [POWERPC] iSeries: Make HVC_ISERIES the default [POWERPC] iSeries: suppress build warning in lparmap.c [POWERPC] Mark pages that don't exist as nosave [POWERPC] swsusp: Introduce register_nosave_region_late commit 9a9136e270af14da506f66bcafcc506b86a86498 Merge: 3960208... 7bb2acb... Author: Linus Torvalds Date: Wed May 9 12:54:17 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits) sound: convert "sound" subdirectory to UTF-8 MAINTAINERS: Add cxacru website/mailing list include files: convert "include" subdirectory to UTF-8 general: convert "kernel" subdirectory to UTF-8 documentation: convert the Documentation directory to UTF-8 Convert the toplevel files CREDITS and MAINTAINERS to UTF-8. remove broken URLs from net drivers' output Magic number prefix consistency change to Documentation/magic-number.txt trivial: s/i_sem /i_mutex/ fix file specification in comments drivers/base/platform.c: fix small typo in doc misc doc and kconfig typos Remove obsolete fat_cvf help text Fix occurrences of "the the " Fix minor typoes in kernel/module.c Kconfig: Remove reference to external mqueue library Kconfig: A couple of grammatical fixes in arch/i386/Kconfig Correct comments in genrtc.c to refer to correct /proc file. Fix more "deprecated" spellos. Fix "deprecated" typoes. ... Fix trivial comment conflict in kernel/relay.c. commit 3960208f9ca0cf6bdb31c21c59ac0526303f8b34 Merge: b0b73cb... 47cc3e7... Author: Linus Torvalds Date: Wed May 9 12:50:25 2007 -0700 Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32 * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: [AVR32] Wire up sys_utimensat [AVR32] Fix section mismatch .taglist -> .init.text [AVR32] Implement dma_{alloc,free}_writecombine() AVR32: Spinlock initializer cleanup [AVR32] Use correct config symbol when setting cpuflags commit b0b73cb41d56ee391f20cbd3e4304e2303a8829b Author: H. Peter Anvin Date: Wed May 9 00:02:11 2007 -0700 i386: msr.h: be paranoid about types and parentheses When implementing things as macros, make sure we use typecasts and parentheses where needed. The macros as defined were vulnerable to surreptitious promotion causing problems. Avoid macros where practical; e.g. wrmsr() can be an inline instead. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 29bd44337799e4cb85aec5157a9c88a0da66642a Author: H. Peter Anvin Date: Wed May 9 00:02:06 2007 -0700 i386: remove unused rdtsc() macro All users to the two-part rdtsc() macro have already switched to using rdtscl() or rdtscll(). Remove the now-obsolete macro. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 21c42bd8db2acd7c884d132efbf7aee9ca970b06 Author: H. Peter Anvin Date: Wed May 9 00:02:00 2007 -0700 i386: cpu/transmeta.c: fix definition of USER686 The definition of USER686 is supposed to be a mask of feature bits, not an OR of feature numbers! It happened to work anyway on the only processor affected, simply by pure coincidence. Fix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5b479c91da90eef605f851508744bfe8269591a0 Author: NeilBrown Date: Wed May 9 02:35:39 2007 -0700 md: improve partition detection in md array md currently uses ->media_changed to make sure rescan_partitions is call on md array after they are assembled. However that doesn't happen until the array is opened, which is later than some people would like. So use blkdev_ioctl to do the rescan immediately that the array has been assembled. This means we can remove all the ->change infrastructure as it was only used to trigger a partition rescan. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08a02ecd28bad35a47357e611044dcbeab06e3d7 Author: NeilBrown Date: Wed May 9 02:35:38 2007 -0700 md: allow reshape_position for md arrays to be set via sysfs "reshape_position" records how much progress has been made on a "reshape" (adding drives, changing layout or chunksize). When it is set, the number of drives, layout and chunksize can have two possible values, an old an a new. So allow these different values to be visible, and allow both old and new to be set: Set the old ones first, then the reshape_position, then the new values. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b9bebe3fea3d3ce381bc6735a3fb50e6613f06 Author: NeilBrown Date: Wed May 9 02:35:37 2007 -0700 md: remove the slash from the name of a kmem_cache used by raid5 SLUB doesn't like slashes as it wants to use the cache name as the name of a directory (or symlink) in sysfs. Signed-off-by: Neil Brown Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d167f09375bd6c18447d3fcc18baaf3acd15fbc Author: NeilBrown Date: Wed May 9 02:35:37 2007 -0700 md: stop using csum_partial for checksum calculation in md If CONFIG_NET is not selected, csum_partial is not exported, so md.ko cannot use it. We shouldn't really be using csum_partial anyway as it is an internal-to-networking interface. So replace it with C code to do the same thing. Speed is not crucial here, so something simple and correct is best. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11e93facc38fb264a5ff1e154ebb2f11dc5cffa Author: NeilBrown Date: Wed May 9 02:35:36 2007 -0700 md: move test for whether level supports bitmap to correct place We need to check for internal-consistency of superblock in load_super. validate_super is for inter-device consistency. With the test in the wrong place, a badly created array will confuse md rather an produce sensible errors. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3f94b40e1676172dfa88abfffd8baffe7ac607c Author: Martin Peschke Date: Wed May 9 02:35:35 2007 -0700 md: cleanup: use seq_release_private() where appropriate We can save some lines of code by using seq_release_private(). Signed-off-by: Martin Peschke Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50511da3da4d984fb944b2e373781b60915daf65 Author: Ahmed S. Darwish Date: Wed May 9 02:35:34 2007 -0700 drivers/md.c: Use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc0ca06e24545117b69c94b1219dbe19392a0c5a Author: Michal Piotrowski Date: Wed May 9 02:35:34 2007 -0700 frame buffer: geforce 7300 gt My geforce isn't supported by nvidia frame buffer. /sbin/lspci 01:00.0 VGA compatible controller: nVidia Corporation Unknown device 02e2 (rev a2) /usr/sbin/fbset -i mode "1024x768-60" # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz geometry 1024 768 1024 32767 8 timings 15384 160 24 29 3 136 6 accel true rgba 8/0,8/0,8/0,0/0 endmode Frame buffer device information: Name : NV2e Address : 0xe0000000 Size : 134217728 Type : PACKED PIXELS Visual : PSEUDOCOLOR XPanStep : 8 YPanStep : 1 YWrapStep : 0 LineLength : 1024 MMIO Address: 0xf6000000 MMIO Size : 16777216 Accelerator : Unknown (46) Here is a patch for this problem. Signed-off-by: Michal Piotrowski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 880169dd2edc4297b7811a0542be9766ca6945bc Author: Haavard Skinnemoen Date: Wed May 9 02:35:33 2007 -0700 fbdev: add support for AVR32 Provide framebuffer page protection flags and definitions of fb_readl/fb_writel for AVR32. Signed-off-by: Haavard Skinnemoen Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a87ede94595f58934000e26e8b13398e63868b5 Author: Antonino A. Daplas Date: Wed May 9 02:35:32 2007 -0700 svgalib: move fb_get_caps to svgalib Move fb_get_caps() method to svgalib.c as svga_get_caps() so it can be used by s3fb, arkfb and vt8623fb. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 681e14730c73cc2c71af282c001de6bc71c22f00 Author: Ondrej Zajicek Date: Wed May 9 02:35:31 2007 -0700 arkfb: new framebuffer driver for ARK Logic cards This patch adds fbdev driver for graphics cards with ARK Logic 2000PV graphics chip with ICS 5342 ramdac. [adaplas@gmail.com: build fixes] Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 558b7bd86c32978648cda5deb5c758d77ef0c165 Author: Ondrej Zajicek Date: Wed May 9 02:35:31 2007 -0700 vt8623fb: new framebuffer driver for VIA VT8623 This patch adds fbdev driver for graphics core in VIA VT8623 [adaplas@gmail.com: build fixes] Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3c117f06e95ea993ba4ed3b246fd76f87a4683f Author: David Rientjes Date: Wed May 9 02:35:30 2007 -0700 i386 mmzone: use __maybe_unused Replace automatic variable instances of __attribute__ ((unused)) with __maybe_unused. Cc: Andy Whitcroft Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit affd872ebbe4f045d70a3f4b33b20f5f6c894bcc Author: David Rientjes Date: Wed May 9 02:35:29 2007 -0700 i386: voyager: use __maybe_unused Replace automatic variable instances of __attribute__((unused)) with __maybe_unused in mca_nmi_hook(). Cc: James Bottomley Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d16aaffa752c7fd50df951e631dd0c11f80d9cbf Author: David Rientjes Date: Wed May 9 02:35:28 2007 -0700 sh: dma: use __maybe_unused There is no such thing as labeling a variable as __attribute__((used)). Since ts_shift is not referenced in inline assembly, we assume that we're simply suppressing a warning here if the variable is declared but unreferenced. Cc: Paul Mundt Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6744c02bc50797c1a83f8303ebcc96673ca0524 Author: David Rientjes Date: Wed May 9 02:35:28 2007 -0700 i386 pci: use __maybe_unused Use the new macro here Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d7ebbbc6eaa5539f78ab20ed6ff1725a4e332ef Author: David Rientjes Date: Wed May 9 02:35:27 2007 -0700 compiler: introduce __used and __maybe_unused __used is defined to be __attribute__((unused)) for all pre-3.3 gcc compilers to suppress warnings for unused functions because perhaps they are referenced only in inline assembly. It is defined to be __attribute__((used)) for gcc 3.3 and later so that the code is still emitted for such functions. __maybe_unused is defined to be __attribute__((unused)) for both function and variable use if it could possibly be unreferenced due to the evaluation of preprocessor macros. Function prototypes shall be marked with __maybe_unused if the actual definition of the function is dependant on preprocessor macros. No update to compiler-intel.h is necessary because ICC supports both __attribute__((used)) and __attribute__((unused)) as specified by the gcc manual. __attribute_used__ is deprecated and will be removed once all current code is converted to using __used. Cc: Rusty Russell Cc: Adrian Bunk Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7e4217b007d1f73e7e3cf10ba4fea4a608c603f Author: Roman Zippel Date: Wed May 9 02:35:17 2007 -0700 rename thread_info to stack This finally renames the thread_info field in task structure to stack, so that the assumptions about this field are gone and archs have more freedom about placing the thread_info structure. Nonbroken archs which have a proper thread pointer can do the access to both current thread and task structure via a single pointer. It'll allow for a few more cleanups of the fork code, from which e.g. ia64 could benefit. Signed-off-by: Roman Zippel [akpm@linux-foundation.org: build fix] Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: Ralf Baechle Cc: Ralf Baechle Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Andi Kleen Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83 Author: Roman Zippel Date: Wed May 9 02:35:16 2007 -0700 wrap access to thread_info Recently a few direct accesses to the thread_info in the task structure snuck back, so this wraps them with the appropriate wrapper. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e61a1c1c4f240cec61300c8f27518c3e47570fd4 Author: Roman Zippel Date: Wed May 9 02:35:15 2007 -0700 Allow arch to initialize arch field of the module structure This will later allow an arch to add module specific information via linker generated tables instead of poking directly in the module object structure. Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b52f52a093bb1e841e014c2087b5bee7162da413 Author: Thomas Gleixner Date: Wed May 9 02:35:15 2007 -0700 clocksource: fix resume logic We need to make sure that the clocksources are resumed, when timekeeping is resumed. The current resume logic does not guarantee this. Add a resume function pointer to the clocksource struct, so clocksource drivers which need to reinitialize the clocksource can provide a resume function. Add a resume function, which calls the maybe available clocksource resume functions and resets the watchdog function, so a stable TSC can be used accross suspend/resume. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Andi Kleen Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4037d452202e34214e8a939fa5621b2b3bbb45b7 Author: Christoph Lameter Date: Wed May 9 02:35:14 2007 -0700 Move remote node draining out of slab allocators Currently the slab allocators contain callbacks into the page allocator to perform the draining of pagesets on remote nodes. This requires SLUB to have a whole subsystem in order to be compatible with SLAB. Moving node draining out of the slab allocators avoids a section of code in SLUB. Move the node draining so that is is done when the vm statistics are updated. At that point we are already touching all the cachelines with the pagesets of a processor. Add a expire counter there. If we have to update per zone or global vm statistics then assume that the pageset will require subsequent draining. The expire counter will be decremented on each vm stats update pass until it reaches zero. Then we will drain one batch from the pageset. The draining will cause vm counter updates which will then cause another expiration until the pcp is empty. So we will drain a batch every 3 seconds. Note that remote node draining is a somewhat esoteric feature that is required on large NUMA systems because otherwise significant portions of system memory can become trapped in pcp queues. The number of pcp is determined by the number of processors and nodes in a system. A system with 4 processors and 2 nodes has 8 pcps which is okay. But a system with 1024 processors and 512 nodes has 512k pcps with a high potential for large amount of memory being caught in them. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77461ab33229d48614402decfb1b2eaa6d446861 Author: Christoph Lameter Date: Wed May 9 02:35:13 2007 -0700 Make vm statistics update interval configurable Make it configurable. Code in mm makes the vm statistics intervals independent from the cache reaper use that opportunity to make it configurable. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1187ed21026fd512b87851d0ca26d9ae16f9059 Author: Christoph Lameter Date: Wed May 9 02:35:12 2007 -0700 vmstat: use our own timer events vmstat is currently using the cache reaper to periodically bring the statistics up to date. The cache reaper does only exists in SLUB as a way to provide compatibility with SLAB. This patch removes the vmstat calls from the slab allocators and provides its own handling. The advantage is also that we can use a different frequency for the updates. Refreshing vm stats is a pretty fast job so we can run this every second and stagger this by only one tick. This will lead to some overlap in large systems. F.e a system running at 250 HZ with 1024 processors will have 4 vm updates occurring at once. However, the vm stats update only accesses per node information. It is only necessary to stagger the vm statistics updates per processor in each node. Vm counter updates occurring on distant nodes will not cause cacheline contention. We could implement an alternate approach that runs the first processor on each node at the second and then each of the other processor on a node on a subsequent tick. That may be useful to keep a large amount of the second free of timer activity. Maybe the timer folks will have some feedback on this one? [jirislaby@gmail.com: add missing break] Cc: Arjan van de Ven Signed-off-by: Christoph Lameter Signed-off-by: Jiri Slaby Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 455c017ae3934797653549704c286e7bcc3a9397 Author: Rafael J. Wysocki Date: Wed May 9 02:35:11 2007 -0700 microcode: use suspend-related CPU hotplug notifications Make the microcode driver use the suspend-related CPU hotplug notifications to handle the CPU hotplug events occuring during system-wide suspend and resume transitions. Remove the global variable suspend_cpu_hotplug previously used for this purpose. Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d Author: Rafael J. Wysocki Date: Wed May 9 02:35:10 2007 -0700 Add suspend-related notifications for CPU hotplug Since nonboot CPUs are now disabled after tasks and devices have been frozen and the CPU hotplug infrastructure is used for this purpose, we need special CPU hotplug notifications that will help the CPU-hotplug-aware subsystems distinguish normal CPU hotplug events from CPU hotplug events related to a system-wide suspend or resume operation in progress. This patch introduces such notifications and causes them to be used during suspend and resume transitions. It also changes all of the CPU-hotplug-aware subsystems to take these notifications into consideration (for now they are handled in the same way as the corresponding "normal" ones). [oleg@tv-sign.ru: cleanups] Signed-off-by: Rafael J. Wysocki Cc: Gautham R Shenoy Cc: Pavel Machek Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f37bc2712b54ec641e0c0c8634f1a4b61d9956c0 Author: Nate Diller Date: Wed May 9 02:35:09 2007 -0700 fs: deprecate memclear_highpage_flush Now that all the in-tree users are converted over to zero_user_page(), deprecate the old memclear_highpage_flush() call. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2fff596955867d407cc7e8e426097bd9ad2be9b Author: Nate Diller Date: Wed May 9 02:35:09 2007 -0700 reiserfs: use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c11d7a9e9e9793219baf715048c190a84bead57 Author: Nate Diller Date: Wed May 9 02:35:08 2007 -0700 ext3: use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f36dca90e674a1a62cad810f630629c0008b2128 Author: Nate Diller Date: Wed May 9 02:35:07 2007 -0700 affs: use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f2705daf5a36208e69d7cf95db9c330f843af6 Author: Nate Diller Date: Wed May 9 02:35:07 2007 -0700 fs: convert core functions to zero_user_page It's very common for file systems to need to zero part or all of a page, the simplist way is just to use kmap_atomic() and memset(). There's actually a library function in include/linux/highmem.h that does exactly that, but it's confusingly named memclear_highpage_flush(), which is descriptive of *how* it does the work rather than what the *purpose* is. So this patchset renames the function to zero_user_page(), and calls it from the various places that currently open code it. This first patch introduces the new function call, and converts all the core kernel callsites, both the open-coded ones and the old memclear_highpage_flush() ones. Following this patch is a series of conversions for each file system individually, per AKPM, and finally a patch deprecating the old call. The diffstat below shows the entire patchset. [akpm@linux-foundation.org: fix a few things] Signed-off-by: Nate Diller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38a23e311b6cd389b9d8af2ea6c28c8cffbe581c Author: Jarek Poplawski Date: Wed May 9 02:35:05 2007 -0700 timer: parenthesis fix in tbase_get_deferrable() etc Signed-off-by: Jarek Poplawski Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f01cc1f512fa783302982776895c73714ebbc2 Author: Eric Dumazet Date: Wed May 9 02:35:04 2007 -0700 FUTEX: new PRIVATE futexes Analysis of current linux futex code : -------------------------------------- A central hash table futex_queues[] holds all contexts (futex_q) of waiting threads. Each futex_wait()/futex_wait() has to obtain a spinlock on a hash slot to perform lookups or insert/deletion of a futex_q. When a futex_wait() is done, calling thread has to : 1) - Obtain a read lock on mmap_sem to be able to validate the user pointer (calling find_vma()). This validation tells us if the futex uses an inode based store (mapped file), or mm based store (anonymous mem) 2) - compute a hash key 3) - Atomic increment of reference counter on an inode or a mm_struct 4) - lock part of futex_queues[] hash table 5) - perform the test on value of futex. (rollback is value != expected_value, returns EWOULDBLOCK) (various loops if test triggers mm faults) 6) queue the context into hash table, release the lock got in 4) 7) - release the read_lock on mmap_sem 8) Eventually unqueue the context (but rarely, as this part  may be done by the futex_wake()) Futexes were designed to improve scalability but current implementation has various problems : - Central hashtable : This means scalability problems if many processes/threads want to use futexes at the same time. This means NUMA unbalance because this hashtable is located on one node. - Using mmap_sem on every futex() syscall : Even if mmap_sem is a rw_semaphore, up_read()/down_read() are doing atomic ops on mmap_sem, dirtying cache line : - lot of cache line ping pongs on SMP configurations. mmap_sem is also extensively used by mm code (page faults, mmap()/munmap()) Highly threaded processes might suffer from mmap_sem contention. mmap_sem is also used by oprofile code. Enabling oprofile hurts threaded programs because of contention on the mmap_sem cache line. - Using an atomic_inc()/atomic_dec() on inode ref counter or mm ref counter: It's also a cache line ping pong on SMP. It also increases mmap_sem hold time because of cache misses. Most of these scalability problems come from the fact that futexes are in one global namespace. As we use a central hash table, we must make sure they are all using the same reference (given by the mm subsystem). We chose to force all futexes be 'shared'. This has a cost. But fact is POSIX defined PRIVATE and SHARED, allowing clear separation, and optimal performance if carefuly implemented. Time has come for linux to have better threading performance. The goal is to permit new futex commands to avoid : - Taking the mmap_sem semaphore, conflicting with other subsystems. - Modifying a ref_count on mm or an inode, still conflicting with mm or fs. This is possible because, for one process using PTHREAD_PROCESS_PRIVATE futexes, we only need to distinguish futexes by their virtual address, no matter the underlying mm storage is. If glibc wants to exploit this new infrastructure, it should use new _PRIVATE futex subcommands for PTHREAD_PROCESS_PRIVATE futexes. And be prepared to fallback on old subcommands for old kernels. Using one global variable with the FUTEX_PRIVATE_FLAG or 0 value should be OK. PTHREAD_PROCESS_SHARED futexes should still use the old subcommands. Compatibility with old applications is preserved, they still hit the scalability problems, but new applications can fly :) Note : the same SHARED futex (mapped on a file) can be used by old binaries *and* new binaries, because both binaries will use the old subcommands. Note : Vast majority of futexes should be using PROCESS_PRIVATE semantic, as this is the default semantic. Almost all applications should benefit of this changes (new kernel and updated libc) Some bench results on a Pentium M 1.6 GHz (SMP kernel on a UP machine) /* calling futex_wait(addr, value) with value != *addr */ 433 cycles per futex(FUTEX_WAIT) call (mixing 2 futexes) 424 cycles per futex(FUTEX_WAIT) call (using one futex) 334 cycles per futex(FUTEX_WAIT_PRIVATE) call (mixing 2 futexes) 334 cycles per futex(FUTEX_WAIT_PRIVATE) call (using one futex) For reference : 187 cycles per getppid() call 188 cycles per umask() call 181 cycles per ni_syscall() call Signed-off-by: Eric Dumazet Pierre Peiffer Cc: "Ulrich Drepper" Cc: "Nick Piggin" Cc: "Ingo Molnar" Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0aa7a70bf03b9de9e995ab272293be1f7937822 Author: Pierre Peiffer Date: Wed May 9 02:35:02 2007 -0700 futex_requeue_pi optimization This patch provides the futex_requeue_pi functionality, which allows some threads waiting on a normal futex to be requeued on the wait-queue of a PI-futex. This provides an optimization, already used for (normal) futexes, to be used with the PI-futexes. This optimization is currently used by the glibc in pthread_broadcast, when using "normal" mutexes. With futex_requeue_pi, it can be used with PRIO_INHERIT mutexes too. Signed-off-by: Pierre Peiffer Cc: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c19384b5b296905d4988c7c684ff540a0f9d65be Author: Pierre Peiffer Date: Wed May 9 02:35:02 2007 -0700 Make futex_wait() use an hrtimer for timeout This patch modifies futex_wait() to use an hrtimer + schedule() in place of schedule_timeout(). schedule_timeout() is tick based, therefore the timeout granularity is the tick (1 ms, 4 ms or 10 ms depending on HZ). By using a high resolution timer for timeout wakeup, we can attain a much finer timeout granularity (in the microsecond range). This parallels what is already done for futex_lock_pi(). The timeout passed to the syscall is no longer converted to jiffies and is therefore passed to do_futex() and futex_wait() as an absolute ktime_t therefore keeping nanosecond resolution. Also this removes the need to pass the nanoseconds timeout part to futex_lock_pi() in val2. In futex_wait(), if there is no timeout then a regular schedule() is performed. Otherwise, an hrtimer is fired before schedule() is called. [akpm@linux-foundation.org: fix `make headers_check'] Signed-off-by: Sebastien Dugue Signed-off-by: Pierre Peiffer Cc: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec92d08292d3e9b0823eba138a4564d2d39f25c7 Author: Pierre Peiffer Date: Wed May 9 02:35:00 2007 -0700 futex priority based wakeup Today, all threads waiting for a given futex are woken in FIFO order (first waiter woken first) instead of priority order. This patch makes use of plist (pirotity ordered lists) instead of simple list in futex_hash_bucket. All non-RT threads are stored with priority MAX_RT_PRIO, causing them to be woken last, in FIFO order (RT-threads are woken first, in priority order). Signed-off-by: Sebastien Dugue Signed-off-by: Pierre Peiffer Cc: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34c506b0385b43abd25c490335036ecbb173aed Author: Andrew Morton Date: Wed May 9 02:34:59 2007 -0700 declare struct ktime Some smarty went and inflicted ktime_t as a typedef upon us, so we cannot forward declare it. Create a new `union ktime', map ktime_t onto that. Now we need to kill off this ktime_t thing. Cc: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8522ead3534c6cd06752b47a3bc380956191a2a Author: Andrew Morton Date: Wed May 9 02:34:58 2007 -0700 aio is unlikely Stick an unlikely() around is_aio(): I assert that most IO is synchronous. Cc: Suparna Bhattacharya Cc: Ingo Molnar Cc: Benjamin LaHaise Cc: Zach Brown Cc: Ulrich Drepper Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b41eeef14d7c73af6d16c7d02b7a939082a137ff Author: NeilBrown Date: Wed May 9 02:34:57 2007 -0700 knfsd: avoid Oops if buggy userspace performs confusing filehandle->dentry mapping When a lookup request arrives, nfsd uses information provided by userspace (mountd) to find the right filesystem. It then assumes that the same filehandle type as the incoming filehandle can be used to create an outgoing filehandle. However if mountd is buggy, or maybe just being creative, the filesystem may not support that filesystem type, and the kernel could oops, particularly if 'ex_uuid' is NULL but a FSID_UUID* filehandle type is used. So add some proper checking that the fsid version/type from the incoming filehandle is actually supportable, and ignore that information if it isn't supportable. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 072f62ed85a71bbb3429a52678500ec9f9441e0d Author: NeilBrown Date: Wed May 9 02:34:57 2007 -0700 knfsd: various nfsd xdr cleanups 1/ decode_sattr and decode_sattr3 never return NULL, so remove several checks for that. ditto for xdr_decode_hyper. 2/ replace some open coded XDR_QUADLEN calls with calls to XDR_QUADLEN 3/ in decode_writeargs, simply an 'if' to use a single calculation. .page_len is the length of that part of the packet that did not fit in the first page (the head). So the length of the data part is the remainder of the head, plus page_len. 3/ other minor cleanups. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f725b217b16e2cb1777c5a6e13c99f7913f1514a Author: Christoph Hellwig Date: Wed May 9 02:34:56 2007 -0700 knfsd: trivial makefile cleanup kbuild directly interprets -y as objects to build into a module, no need to assign it to the old foo-objs variable. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05ed690efbb28b54af79f97af8c9705e82a6fbd7 Author: NeilBrown Date: Wed May 9 02:34:55 2007 -0700 knfsd: simplify a 'while' condition in svcsock.c This while loop has an overly complex condition, which performs a couple of assignments. This hurts readability. We don't really need a loop at all. We can just return -EAGAIN and (providing we set SK_DATA), the function will be called again. So discard the loop, make the complex conditional become a few clear function calls, and hopefully improve readability. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5e434c98b49f4877ea1614a629499e082b1a818 Author: Wei Yongjun Date: Wed May 9 02:34:54 2007 -0700 knfsd: rpcgss: RPC_GSS_PROC_ DESTROY request will get a bad rpc If I send a RPC_GSS_PROC_DESTROY message to NFSv4 server, it will reply with a bad rpc reply which lacks an authentication verifier. Maybe this patch is needed. Send/recv packets as following: send: RemoteProcedureCall xid rpcvers = 2 prog = 100003 vers = 4 proc = 0 cred = AUTH_GSS version = 1 gss_proc = 3 (RPCSEC_GSS_DESTROY) service = 1 (RPC_GSS_SVC_NONE) verf = AUTH_GSS checksum reply: RemoteProcedureReply xid msg_type reply_stat accepted_reply Signed-off-by: Wei Yongjun Signed-off-by: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f9247b3f6e51b24a4b7e873b3ab34d8e59dc45 Author: Frank Filz Date: Wed May 9 02:34:53 2007 -0700 knfsd: fix resource leak resulting in module refcount leak for rpcsec_gss_krb5.ko I have been investigating a module reference count leak on the server for rpcsec_gss_krb5.ko. It turns out the problem is a reference count leak for the security context in net/sunrpc/auth_gss/svcauth_gss.c. The problem is that gss_write_init_verf() calls gss_svc_searchbyctx() which does a rsc_lookup() but never releases the reference to the context. There is another issue that rpc.svcgssd sets an "end of time" expiration for the context By adding a cache_put() call in gss_svc_searchbyctx(), and setting an expiration timeout in the downcall, cache_clean() does clean up the context and the module reference count now goes to zero after unmount. I also verified that if the context expires and then the client makes a new request, a new context is established. Here is the patch to fix the kernel, I will start a separate thread to discuss what expiration time should be set by rpc.svcgssd. Acked-by: "J. Bruce Fields" Signed-off-by: Frank Filz Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 153e44d22fb5f98198f90fbf56e89b345e48534d Author: NeilBrown Date: Wed May 9 02:34:52 2007 -0700 knfsd: rpc: fix server-side wrapping of krb5i replies It's not necessarily correct to assume that the xdr_buf used to hold the server's reply must have page data whenever it has tail data. And there's no need for us to deal with that case separately anyway. Acked-by: "J. Bruce Fields" Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 402acd29e552cb80109d1d5c0ada53f634465d87 Author: NeilBrown Date: Wed May 9 02:34:52 2007 -0700 knfsd: avoid use of unitialised variables on error path when nfs exports We need to zero various parts of 'exp' before any 'goto out', otherwise when we go to free the contents... we die. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bd5f5812bfa753218e02cb773e06ede48055798 Author: Akinobu Mita Date: Wed May 9 02:34:51 2007 -0700 sunrpc: fix error path in module_init register_rpc_pipefs() needs to clean up rpc_inode_cache by kmem_cache_destroy() on register_filesystem() failure. init_sunrpc() needs to unregister rpc_pipe_fs by unregister_rpc_pipefs() when rpc_init_mempool() returns error. Signed-off-by: Akinobu Mita Cc: Neil Brown Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd123012d99fde4759500fee611e724e4f3016e3 Author: Jeff Layton Date: Wed May 9 02:34:50 2007 -0700 RPC: add wrapper for svc_reserve to account for checksum When the kernel calls svc_reserve to downsize the expected size of an RPC reply, it fails to account for the possibility of a checksum at the end of the packet. If a client mounts a NFSv2/3 with sec=krb5i/p, and does I/O then you'll generally see messages similar to this in the server's ring buffer: RPC request reserved 164 but used 208 While I was never able to verify it, I suspect that this problem is also the root cause of some oopses I've seen under these conditions: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=227726 This is probably also a problem for other sec= types and for NFSv4. The large reserved size for NFSv4 compound packets seems to generally paper over the problem, however. This patch adds a wrapper for svc_reserve that accounts for the possibility of a checksum. It also fixes up the appropriate callers of svc_reserve to call the wrapper. For now, it just uses a hardcoded value that I determined via testing. That value may need to be revised upward as things change, or we may want to eventually add a new auth_op that attempts to calculate this somehow. Unfortunately, there doesn't seem to be a good way to reliably determine the expected checksum length prior to actually calculating it, particularly with schemes like spkm3. Signed-off-by: Jeff Layton Acked-by: Neil Brown Cc: Trond Myklebust Acked-by: J. Bruce Fields Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 669716433598a1498049e75a84a5aaf69c8da173 Author: Eric W. Biederman Date: Wed May 9 02:34:49 2007 -0700 nfsd/nfs4state: remove unnecessary daemonize call Acked-by: Neil Brown Cc: Trond Myklebust Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ac1bea5507218da03f6005d228789da5a831c3f Author: NeilBrown Date: Wed May 9 02:34:48 2007 -0700 knfsd: rename sk_defer_lock to sk_lock Now that sk_defer_lock protects two different things, make the name more generic. Also don't bother with disabling _bh as the lock is only ever taken from process context. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34b95689d2ce001c157b1604289ff240b4bdee0 Author: Peter Staubach Date: Wed May 9 02:34:48 2007 -0700 The NFSv2/NFSv3 server does not handle zero length WRITE requests correctly The NFSv2 and NFSv3 servers do not handle WRITE requests for 0 bytes correctly. The specifications indicate that the server should accept the request, but it should mostly turn into a no-op. Currently, the server will return an XDR decode error, which it should not. Attached is a patch which addresses this issue. It also adds some boundary checking to ensure that the request contains as much data as was requested to be written. It also correctly handles an NFSv3 request which requests to write more data than the server has stated that it is prepared to handle. Previously, there was some support which looked like it should work, but wasn't quite right. Signed-off-by: Peter Staubach Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8842c9655b2b7f0e8e6c50a773b649e5d8a57678 Author: Adrian Bunk Date: Wed May 9 02:34:46 2007 -0700 remove nfs4_acl_add_ace() nfs4_acl_add_ace() can now be removed. Signed-off-by: Adrian Bunk Acked-by: Neil Brown Acked-by: J. Bruce Fields Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e84d644b5929789398914b0ccf447355dec6fb0 Author: Oleg Nesterov Date: Wed May 9 02:34:46 2007 -0700 make cancel_rearming_delayed_work() reliable Thanks to Jarek Poplawski for the ideas and for spotting the bug in the initial draft patch. cancel_rearming_delayed_work() currently has many limitations, because it requires that dwork always re-arms itself via queue_delayed_work(). So it hangs forever if dwork doesn't do this, or cancel_rearming_delayed_work/ cancel_delayed_work was already called. It uses flush_workqueue() in a loop, so it can't be used if workqueue was freezed, and it is potentially live- lockable on busy system if delay is small. With this patch cancel_rearming_delayed_work() doesn't make any assumptions about dwork, it can re-arm itself via queue_delayed_work(), or queue_work(), or do nothing. As a "side effect", cancel_work_sync() was changed to handle re-arming works as well. Disadvantages: - this patch adds wmb() to insert_work(). - slowdowns the fast path (when del_timer() succeeds on entry) of cancel_rearming_delayed_work(), because wait_on_work() is called unconditionally. In that case, compared to the old version, we are doing "unneeded" lock/unlock for each online CPU. On the other hand, this means we don't need to use cancel_work_sync() after cancel_rearming_delayed_work(). - complicates the code (.text grows by 130 bytes). [akpm@linux-foundation.org: fix speling] Signed-off-by: Oleg Nesterov Cc: David Chinner Cc: David Howells Cc: Gautham Shenoy Acked-by: Jarek Poplawski Cc: Srivatsa Vaddagiri Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b0834c26fd796c79dfcc3939ed2b9122b75246f Author: Gautham R Shenoy Date: Wed May 9 02:34:41 2007 -0700 Remove kthread_bind() call from _cpu_down() We are anyway kthread_stop()ping other per-cpu kernel threads after move_task_off_dead_cpu(), so we can do it with the stop_machine_run thread as well. I just checked with Vatsa if there was any subtle reason why they had put in the kthread_bind() in cpu.c. Vatsa cannot seem to recollect any and I can't see any. So let us just remove the kthread_bind. Signed-off-by: Gautham R Shenoy Cc: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10ab825bdef8df510f99c703a5a2d9b13a4e31a5 Author: Oleg Nesterov Date: Wed May 9 02:34:37 2007 -0700 change kernel threads to ignore signals instead of blocking them Currently kernel threads use sigprocmask(SIG_BLOCK) to protect against signals. This doesn't prevent the signal delivery, this only blocks signal_wake_up(). Every "killall -33 kthreadd" means a "struct siginfo" leak. Change kthreadd_setup() to set all handlers to SIG_IGN instead of blocking them (make a new helper ignore_signals() for that). If the kernel thread needs some signal, it should use allow_signal() anyway, and in that case it should not use CLONE_SIGHAND. Note that we can't change daemonize() (should die!) in the same way, because it can be used along with CLONE_SIGHAND. This means that allow_signal() still should unblock the signal to work correctly with daemonize()ed threads. However, disallow_signal() doesn't block the signal any longer but ignores it. NOTE: with or without this patch the kernel threads are not protected from handle_stop_signal(), this seems harmless, but not good. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5de18d169739293e27e0cf9acfc75a2d2f4aa572 Author: Oleg Nesterov Date: Wed May 9 02:34:36 2007 -0700 worker_thread: don't play with SIGCHLD and numa policy worker_thread() inherits ignored SIGCHLD and numa_default_policy() from its parent, kthreadd. No need to setup this again. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90cce03d9bfcb28600a56efef6b0a5a4fbf6c2b1 Author: Oleg Nesterov Date: Wed May 9 02:34:36 2007 -0700 wait_for_helper: remove unneeded do_sigaction() allow_signal(SIGCHLD) does all necessary job, no need to call do_sigaction() prior to. Signed-off-by: Oleg Nesterov Cc: Rusty Russell Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8a124da9261873e3e3541898d5c46d273afee34 Author: Oleg Nesterov Date: Wed May 9 02:34:35 2007 -0700 usbatm_heavy_init: don't use CLONE_SIGHAND usbatm_do_heavy_init() calls allow_signal() which plays with parent process's ->sighand. Signed-off-by: Oleg Nesterov Acked-by: Duncan Sands Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49d769d52e16efabd3ad47b7995522fff771371d Author: Eric W. Biederman Date: Wed May 9 02:34:33 2007 -0700 Change reparent_to_init to reparent_to_kthreadd When a kernel thread calls daemonize, instead of reparenting the thread to init reparent the thread to kthreadd next to the threads created by kthread_create. This is really just a stop gap until daemonize goes away, but it does ensure no kernel threads are under init and they are all in one place that is easy to find. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73c279927f89561ecb45b2dfdf9314bafcfd9f67 Author: Eric W. Biederman Date: Wed May 9 02:34:32 2007 -0700 kthread: don't depend on work queues Currently there is a circular reference between work queue initialization and kthread initialization. This prevents the kthread infrastructure from initializing until after work queues have been initialized. We want the properties of tasks created with kthread_create to be as close as possible to the init_task and to not be contaminated by user processes. The later we start our kthreadd that creates these tasks the harder it is to avoid contamination from user processes and the more of a mess we have to clean up because the defaults have changed on us. So this patch modifies the kthread support to not use work queues but to instead use a simple list of structures, and to have kthreadd start from init_task immediately after our kernel thread that execs /sbin/init. By being a true child of init_task we only have to change those process settings that we want to have different from init_task, such as our process name, the cpus that are allowed, blocking all signals and setting SIGCHLD to SIG_IGN so that all of our children are reaped automatically. By being a true child of init_task we also naturally get our ppid set to 0 and do not wind up as a child of PID == 1. Ensuring that tasks generated by kthread_create will not slow down the functioning of the wait family of functions. [akpm@linux-foundation.org: use interruptible sleeps] Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c93465181fed0f8f5942a41108943dadea0aa345 Author: Oleg Nesterov Date: Wed May 9 02:34:23 2007 -0700 ____call_usermodehelper: don't flush_signals() ____call_usermodehelper() has no reason for flush_signals(). It is a fresh forked process which is going to exec a user-space application or exit on failure. Signed-off-by: Oleg Nesterov Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28e53bddf814485699a4142bc056fd37d4e11dd4 Author: Oleg Nesterov Date: Wed May 9 02:34:22 2007 -0700 unify flush_work/flush_work_keventd and rename it to cancel_work_sync flush_work(wq, work) doesn't need the first parameter, we can use cwq->wq (this was possible from the very beginnig, I missed this). So we can unify flush_work_keventd and flush_work. Also, rename flush_work() to cancel_work_sync() and fix all callers. Perhaps this is not the best name, but "flush_work" is really bad. (akpm: this is why the earlier patches bypassed maintainers) Signed-off-by: Oleg Nesterov Cc: Jeff Garzik Cc: "David S. Miller" Cc: Jens Axboe Cc: Tejun Heo Cc: Auke Kok , Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5830c5902138f80b0a097b797200c739466beedd Author: Christoph Lameter Date: Wed May 9 02:34:22 2007 -0700 slab: shut down cache_reaper when cpu goes down Shutdown the cache_reaper if the cpu is brought down and set the cache_reap.func to NULL. Otherwise hotplug shuts down the reaper for good. Signed-off-by: Christoph Lameter Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4798833d26b293fd18b7bf102991426aa0b56fd Author: Oleg Nesterov Date: Wed May 9 02:34:21 2007 -0700 zap_other_threads: remove unneeded ->exit_signal change We already depend on fact that all sub-threads have ->exit_signal == -1, no need to set it in zap_other_threads(). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85f4186af944c1240c84934a9ab578743df2d69b Author: Oleg Nesterov Date: Wed May 9 02:34:20 2007 -0700 worker_thread: fix racy try_to_freeze() usage worker_thread() can miss freeze_process()->signal_wake_up() if it happens between try_to_freeze() and prepare_to_wait(). We should check freezing() before entering schedule(). This race was introduced by me in [PATCH 1/1] workqueue: don't migrate pending works from the dead CPU Looks like mm/vmscan.c:kswapd() has the same race. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9aac8e0d32499217417ff0b494731811f185b18 Author: Oleg Nesterov Date: Wed May 9 02:34:20 2007 -0700 worker_thread: don't play with signals worker_thread() doesn't need to "Block and flush all signals", this was already done by its caller, kthread(). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23b2e5991afde5af91a1a661d7f47ee56120759e Author: Oleg Nesterov Date: Wed May 9 02:34:19 2007 -0700 workqueue: kill NOAUTOREL works We don't have any users, and it is not so trivial to use NOAUTOREL works correctly. It is better to simplify API. Delete NOAUTOREL support and rename work_release to work_clear_pending to avoid a confusion. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c214b2cc5f9be7c236f9b91acf524688ff0e3e72 Author: Oleg Nesterov Date: Wed May 9 02:34:18 2007 -0700 ipvs: flush defense_work before module unload net/ipv4/ipvs/ip_vs_core.c module_exit ip_vs_cleanup ip_vs_control_cleanup cancel_rearming_delayed_work // done This is unsafe. The module may be unloaded and the memory may be freed while defense_work's handler is still running/preempted. Do flush_work(&defense_work.work) after cancel_rearming_delayed_work(). Alternatively, we could add flush_work() to cancel_rearming_delayed_work(), but note that we can't change cancel_delayed_work() in the same manner because it may be called from atomic context. Signed-off-by: Oleg Nesterov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1634c48f8b85dcb05101f1eb2eab9af40b5976da Author: Oleg Nesterov Date: Wed May 9 02:34:18 2007 -0700 make cancel_rearming_delayed_work() work on any workqueue, not just keventd_wq cancel_rearming_delayed_workqueue(wq, dwork) doesn't need the first parameter. We don't hang on un-queued dwork any longer, and work->data doesn't change its type. This means we can always figure out "wq" from dwork when it is needed. Remove this parameter, and rename the function to cancel_rearming_delayed_work(). Re-create an inline "obsolete" cancel_rearming_delayed_workqueue(wq) which just calls cancel_rearming_delayed_work(). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a848e3b67c07ed79374bd0f9b82f9ce45a419643 Author: Oleg Nesterov Date: Wed May 9 02:34:17 2007 -0700 workqueue: introduce wq_per_cpu() helper Cleanup. A number of per_cpu_ptr(wq->cpu_wq, cpu) users have to check that cpu is valid for this wq. Make a simple helper. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63bc0362521cbaae3ed17b8de7b094f9492453f0 Author: Oleg Nesterov Date: Wed May 9 02:34:16 2007 -0700 unify queue_delayed_work() and queue_delayed_work_on() Change queue_delayed_work() to use queue_delayed_work_on() to avoid the code duplication (saves 133 bytes). Q: queue_delayed_work() enqueues &dwork->work directly when delay == 0, why? [jirislaby@gmail.com: oops fix] Signed-off-by: Oleg Nesterov Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7c0feede39d70092d048ec30f59bb1df69eec6 Author: Oleg Nesterov Date: Wed May 9 02:34:16 2007 -0700 make queue_delayed_work() friendly to flush_fork() Currently typeof(delayed_work->work.data) is "struct workqueue_struct" when the timer is pending "struct cpu_workqueue_struct" whe the work is queued This makes impossible to use flush_fork(delayed_work->work) in addition to cancel_delayed_work/cancel_rearming_delayed_work, not good. Change queue_delayed_work/delayed_work_timer_fn to use cwq, not wq. This complicates (and uglifies) these functions a little bit, but alows us to use flush_fork(dwork) and imho makes the whole code more consistent. Also, document the fact that cancel_rearming_delayed_work() doesn't garantee the completion of work->func() upon return. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06ba38a9a0f6ceffe70343f684c5a690e3710ef4 Author: Oleg Nesterov Date: Wed May 9 02:34:15 2007 -0700 workqueues: shift kthread_bind() from CPU_UP_PREPARE to CPU_ONLINE CPU_UP_PREPARE binds cwq->thread to the new CPU. So CPU_UP_CANCELED tries to wake up the task which is bound to the failed CPU. With this patch we don't bind cwq->thread until CPU becomes online. The first wake_up() after kthread_create() is a bit special, make a simple helper for that. Signed-off-by: Oleg Nesterov Cc: Gautham R Shenoy Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c12920d19078eb8fd99560ec232a6e05c6ff1aa8 Author: Oleg Nesterov Date: Wed May 9 02:34:14 2007 -0700 workqueue: make init_workqueues() __init The only caller of init_workqueues() is do_basic_setup(). Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cce1a1656c9a3fdc6c6c1029b576e4ab6ecaac37 Author: Oleg Nesterov Date: Wed May 9 02:34:13 2007 -0700 workqueue: introduce workqueue_struct->singlethread Add explicit workqueue_struct->singlethread flag. This lessens .text a little, but most importantly this allows us to manipulate wq->list without changine the meaning of is_single_threaded(). Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1f4ec172f75bc2f5cc4f4be69b5587660a955d2 Author: Oleg Nesterov Date: Wed May 9 02:34:12 2007 -0700 workqueue: introduce cpu_singlethread_map The code like if (is_single_threaded(wq)) do_something(singlethread_cpu); else { for_each_cpu_mask(cpu, cpu_populated_map) do_something(cpu); } looks very annoying. We can add "static cpumask_t cpu_singlethread_map" and simplify the code. Lessens .text a bit, and imho makes the code more readable. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfb4b82e1c631b1a6057e77212996a890aa515b7 Author: Oleg Nesterov Date: Wed May 9 02:34:11 2007 -0700 workqueue: make cancel_rearming_delayed_workqueue() work on idle dwork cancel_rearming_delayed_workqueue(dwork) will hang forever if dwork was not scheduled, because in that case cancel_delayed_work()->del_timer_sync() never returns true. I don't know if there are any callers which may have problems, but this is not so convenient, and the fix is very simple. Q: looks like we don't need "struct workqueue_struct *wq" parameter. If the timer was aborted successfully, get_wq_data() == wq. Is it worth to add the new function? Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f293ea92007419e4f9c52db0cf57af17f45b9f94 Author: Oleg Nesterov Date: Wed May 9 02:34:10 2007 -0700 workqueue: don't save interrupts in run_workqueue() work->func() may sleep, it's a bug to call run_workqueue() with irqs disabled. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7097a87afe937a5879528d52880c2d95f089e96c Author: Oleg Nesterov Date: Wed May 9 02:34:10 2007 -0700 workqueue: kill run_scheduled_work() Because it has no callers. Actually, I think the whole idea of run_scheduled_work() was not right, not good to mix "unqueue this work and execute its ->func()" in one function. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3af24433efac62f451bfdb1cf1edb7181fb73645 Author: Oleg Nesterov Date: Wed May 9 02:34:09 2007 -0700 workqueue: don't migrate pending works from the dead CPU Currently CPU_DEAD uses kthread_stop() to stop cwq->thread and then transfers cwq->worklist to another CPU. However, it is very unlikely that worker_thread() will notice kthread_should_stop() before flushing cwq->worklist. It is only possible if worker_thread() was preempted after run_workqueue(cwq), a new work_struct was added, and CPU_DEAD happened before cwq->thread has a chance to run. This means that take_over_work() mostly adds unneeded complications. Note also that kthread_stop() is not good per se, wake_up_process() may confuse work->func() if it sleeps waiting for some event. Remove take_over_work() and migrate_sequence complications. CPU_DEAD sets the cwq->should_stop flag (introduced by this patch) and waits for cwq->thread to flush cwq->worklist and exit. Because the dead CPU is not on cpu_online_map, no more works can be added to that cwq. cpu_populated_map was introduced to optimize for_each_possible_cpu(), it is not strictly needed, and it is more a documentation in fact. Saves 418 bytes. Signed-off-by: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: "Pallipadi, Venkatesh" Cc: Gautham shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36aa9dfc39bf473780439f5629c30f59d677e793 Author: Oleg Nesterov Date: Wed May 9 02:34:08 2007 -0700 workqueue: don't clear cwq->thread until it exits Pointed out by Srivatsa Vaddagiri. cleanup_workqueue_thread() sets cwq->thread = NULL and does kthread_stop(). This breaks the "if (cwq->thread == current)" logic in flush_cpu_workqueue() and leads to deadlock. Kill the thead first, then clear cwq->thread. workqueue_mutex protects us from create_workqueue_thread() so we don't need cwq->lock. Signed-off-by: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: "Pallipadi, Venkatesh" Cc: Gautham shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d721304dce0ced0b3b0366996cc02929669708a8 Author: Oleg Nesterov Date: Wed May 9 02:34:07 2007 -0700 workqueue: fix flush_workqueue() vs CPU_DEAD race Many thanks to Srivatsa Vaddagiri for the helpful discussion and for spotting the bug in my previous attempt. work->func() (and thus flush_workqueue()) must not use workqueue_mutex, this leads to deadlock when CPU_DEAD does kthread_stop(). However without this mutex held we can't detect CPU_DEAD in progress, which can move pending works to another CPU while the dead one is not on cpu_online_map. Change flush_workqueue() to use for_each_possible_cpu(). This means that flush_cpu_workqueue() may hit CPU which is already dead. However in that case !list_empty(&cwq->worklist) || cwq->current_work != NULL means that CPU_DEAD in progress, it will do kthread_stop() + take_over_work() so we can proceed and insert a barrier. We hold cwq->lock, so we are safe. Also, add migrate_sequence incremented by take_over_work() under cwq->lock. If take_over_work() happened before we checked this CPU, we should see the new value after spin_unlock(). Further possible changes: remove CPU_DEAD handling (along with take_over_work, migrate_sequence) from workqueue.c. CPU_DEAD just sets cwq->please_exit_after_flush flag. CPU_UP_PREPARE->create_workqueue_thread() clears this flag, and creates the new thread if cwq->thread == NULL. This way the workqueue/cpu-hotplug interaction is almost zero, workqueue_mutex just protects "workqueues" list, CPU_LOCK_ACQUIRE/CPU_LOCK_RELEASE go away. Signed-off-by: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: "Pallipadi, Venkatesh" Cc: Gautham shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319c2a986eb45989690c955d9667b814ef0ed56f Author: Oleg Nesterov Date: Wed May 9 02:34:06 2007 -0700 workqueue: fix freezeable workqueues implementation Currently ->freezeable is per-cpu, this is wrong. CPU_UP_PREPARE creates cwq->thread which is not freezeable. Move ->freezeable to workqueue_struct. Signed-off-by: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: "Pallipadi, Venkatesh" Cc: Gautham shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38c3bd96a0a7d375e12f173c34fbebf9f153cb56 Author: Heiko Carstens Date: Wed May 9 02:34:05 2007 -0700 slab: use CPU_LOCK_[ACQUIRE|RELEASE] Looks like this was forgotten when CPU_LOCK_[ACQUIRE|RELEASE] was introduced. Cc: Pekka Enberg Cc: Srivatsa Vaddagiri Cc: Gautham Shenoy Signed-off-by: Heiko Carstens Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7407dcc69e077ac34a527842db916abfbc458df Author: Heiko Carstens Date: Wed May 9 02:34:04 2007 -0700 call cpu_chain with CPU_DOWN_FAILED if CPU_DOWN_PREPARE failed This makes cpu hotplug symmetrical: if CPU_UP_PREPARE fails we get CPU_UP_CANCELED, so we can undo what ever happened on PREPARE. The same should happen for CPU_DOWN_PREPARE. [akpm@linux-foundation.org: fix for reduce-size-of-task_struct-on-64-bit-machines] Cc: Srivatsa Vaddagiri Cc: Gautham Shenoy Signed-off-by: Heiko Carstens Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5be9361cdff17fc76fa0c3e262ead94158555f16 Author: Gautham R Shenoy Date: Wed May 9 02:34:04 2007 -0700 Eliminate lock_cpu_hotplug in kernel/schedc Eliminate lock_cpu_hotplug from kernel/sched.c and use sched_hotcpu_mutex instead to postpone a hotplug event. In the migration_call hotcpu callback function, take sched_hotcpu_mutex while handling the event CPU_LOCK_ACQUIRE and release it while handling CPU_LOCK_RELEASE event. [akpm@linux-foundation.org: fix deadlock] Signed-off-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baaca49f415b25fdbe2a8f3c22b39929e450fbfd Author: Gautham R Shenoy Date: Wed May 9 02:34:03 2007 -0700 Define and use new events,CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE This is an attempt to provide an alternate mechanism for postponing a hotplug event instead of using a global mechanism like lock_cpu_hotplug. The proposal is to add two new events namely CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE. The notification for these two events would be sent out before and after a cpu_hotplug event respectively. During the CPU_LOCK_ACQUIRE event, a cpu-hotplug-aware subsystem is supposed to acquire any per-subsystem hotcpu mutex ( Eg. workqueue_mutex in kernel/workqueue.c ). During the CPU_LOCK_RELEASE release event the cpu-hotplug-aware subsystem is supposed to release the per-subsystem hotcpu mutex. The reasons for defining new events as opposed to reusing the existing events like CPU_UP_PREPARE/CPU_UP_FAILED/CPU_ONLINE for locking/unlocking of per-subsystem hotcpu mutexes are as follow: - CPU_LOCK_ACQUIRE: All hotcpu mutexes are taken before subsystems start handling pre-hotplug events like CPU_UP_PREPARE/CPU_DOWN_PREPARE etc, thus ensuring a clean handling of these events. - CPU_LOCK_RELEASE: The hotcpu mutexes will be released only after all subsystems have handled post-hotplug events like CPU_DOWN_FAILED, CPU_DEAD,CPU_ONLINE etc thereby ensuring that there are no subsequent clashes amongst the interdependent subsystems after a cpu hotplugs. This patch also uses __raw_notifier_call chain in _cpu_up to take care of the dependency between the two consequetive calls to raw_notifier_call_chain. [akpm@linux-foundation.org: fix a bug] Signed-off-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f7cc11aa6c7d5002e16096c7590944daece70ed Author: Gautham R Shenoy Date: Wed May 9 02:34:02 2007 -0700 Extend notifier_call_chain to count nr_calls made Since 2.6.18-something, the community has been bugged by the problem to provide a clean and a stable mechanism to postpone a cpu-hotplug event as lock_cpu_hotplug was badly broken. This is another proposal towards solving that problem. This one is along the lines of the solution provided in kernel/workqueue.c Instead of having a global mechanism like lock_cpu_hotplug, we allow the subsytems to define their own per-subsystem hot cpu mutexes. These would be taken(released) where ever we are currently calling lock_cpu_hotplug(unlock_cpu_hotplug). Also, in the per-subsystem hotcpu callback function,we take this mutex before we handle any pre-cpu-hotplug events and release it once we finish handling the post-cpu-hotplug events. A standard means for doing this has been provided in [PATCH 2/4] and demonstrated in [PATCH 3/4]. The ordering of these per-subsystem mutexes might still prove to be a problem, but hopefully lockdep should help us get out of that muddle. The patch set to be applied against linux-2.6.19-rc5 is as follows: [PATCH 1/4] : Extend notifier_call_chain with an option to specify the number of notifications to be sent and also count the number of notifications actually sent. [PATCH 2/4] : Define events CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE and send out notifications for these in _cpu_up and _cpu_down. This would help us standardise the acquire and release of the subsystem locks in the hotcpu callback functions of these subsystems. [PATCH 3/4] : Eliminate lock_cpu_hotplug from kernel/sched.c. [PATCH 4/4] : In workqueue_cpu_callback function, acquire(release) the workqueue_mutex while handling CPU_LOCK_ACQUIRE(CPU_LOCK_RELEASE). If the per-subsystem-locking approach survives the test of time, we can expect a slow phasing out of lock_cpu_hotplug, which has not yet been eliminated in these patches :) This patch: Provide notifier_call_chain with an option to call only a specified number of notifiers and also record the number of call to notifiers made. The need for this enhancement was identified in the post entitled "Slab - Eliminate lock_cpu_hotplug from slab" (http://lkml.org/lkml/2006/10/28/92) by Ravikiran G Thirumalai and Andrew Morton. This patch adds two additional parameters to notifier_call_chain API namely - int nr_to_calls : Number of notifier_functions to be called. The don't care value is -1. - unsigned int *nr_calls : Records the total number of notifier_funtions called by notifier_call_chain. The don't care value is NULL. [michal.k.k.piotrowski@gmail.com: build fix] Credit: Andrew Morton Signed-off-by: Gautham R Shenoy Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c9cb38302e78d24e37f7d8a2ea7eed4ae5f2fa7 Author: Tom Zanussi Date: Wed May 9 02:34:01 2007 -0700 relay: use plain timer instead of delayed work relay doesn't need to use schedule_delayed_work() for waking readers when a simple timer will do. Signed-off-by: Tom Zanussi Cc: Satyam Sharma Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0758bc334780d70266c1d1b974ed26f740a0819 Author: Andrew Morton Date: Wed May 9 02:34:00 2007 -0700 phy: use flush_work_keventd() (akpm: bypassed maintainers, sorry. There are other patches which depend on this) Cc: "Maciej W. Rozycki" Cc: David Howells Cc: Jeff Garzik Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67ac58edf771b10f8e89bf9fe1ccf6c9b92ce063 Author: Andrew Morton Date: Wed May 9 02:33:59 2007 -0700 libata: use flush_work() (akpm: bypassed maintainers, sorry. There are other patches which depend on this) Cc: "Maciej W. Rozycki" Cc: David Howells Cc: Jeff Garzik Cc: Oleg Nesterov Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9ef8b92887c35f113cb749270530f87961f7a0a Author: Andrew Morton Date: Wed May 9 02:33:58 2007 -0700 e1000: use flush_work_keventd() Switch e1000 over to flush_work_keventd(). This probably fixes a netdev-close versus linkwatch rtnl_lock() deadlock which nobody knew about. (akpm: bypassed maintainers, sorry. There are other patches which depend on this) Cc: "Maciej W. Rozycki" Cc: David Howells Cc: "David S. Miller" Cc: Jeff Garzik Acked-by: Auke Kok Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b3cb2e778811a1df99e37fd7c359837501ab103 Author: Andrew Morton Date: Wed May 9 02:33:57 2007 -0700 tg3: use flush_work_keventd() Convert tg3 over to flush_work_keventd(). Remove nasty now-unneeded deadlock avoidance logic. (akpm: bypassed maintainers, sorry. There are other patches which depend on this) Cc: "Maciej W. Rozycki" Cc: David Howells Cc: "David S. Miller" Cc: Michael Chan Cc: Jeff Garzik Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19a75d83ffeab004cfcfac64024ad3997bac7220 Author: Andrew Morton Date: Wed May 9 02:33:56 2007 -0700 kblockd: use flush_work Switch the kblockd flushing from a global flush to a more specific flush_work(). (akpm: bypassed maintainers, sorry. There are other patches which depend on this) Cc: "Maciej W. Rozycki" Cc: David Howells Cc: Jens Axboe Cc: Nick Piggin Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9df62c7585e6caa1e7d2425b2b14460ec3afc20 Author: Andrew Morton Date: Wed May 9 02:33:54 2007 -0700 aio: use flush_work() Migrate AIO over to use flush_work(). Cc: "Maciej W. Rozycki" Cc: David Howells Cc: Zach Brown Cc: Benjamin LaHaise Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83c22520c51bf67529367e8237f95c03fe44e2da Author: Oleg Nesterov Date: Wed May 9 02:33:54 2007 -0700 flush_cpu_workqueue: don't flush an empty ->worklist Now when we have ->current_work we can avoid adding a barrier and waiting for its completition when cwq's queue is empty. Note: this change is also useful if we change flush_workqueue() to also check the dead CPUs. Signed-off-by: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: Gautham Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edab2516a6c1752e8e5e3d55727cabf12346e5df Author: Andrew Morton Date: Wed May 9 02:33:53 2007 -0700 flush_workqueue(): use preempt_disable to hold off cpu hotplug Cc: Oleg Nesterov Cc: Srivatsa Vaddagiri Cc: Gautham Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b89deed32ccc96098bd6bc953c64bba6b847774f Author: Oleg Nesterov Date: Wed May 9 02:33:52 2007 -0700 implement flush_work() A basic problem with flush_scheduled_work() is that it blocks behind _all_ presently-queued works, rather than just the work whcih the caller wants to flush. If the caller holds some lock, and if one of the queued work happens to want that lock as well then accidental deadlocks can occur. One example of this is the phy layer: it wants to flush work while holding rtnl_lock(). But if a linkwatch event happens to be queued, the phy code will deadlock because the linkwatch callback function takes rtnl_lock. So we implement a new function which will flush a *single* work - just the one which the caller wants to free up. Thus we avoid the accidental deadlocks which can arise from unrelated subsystems' callbacks taking shared locks. flush_work() non-blockingly dequeues the work_struct which we want to kill, then it waits for its handler to complete on all CPUs. Add ->current_work to the "struct cpu_workqueue_struct", it points to currently running "struct work_struct". When flush_work(work) detects ->current_work == work, it inserts a barrier at the _head_ of ->worklist (and thus right _after_ that work) and waits for completition. This means that the next work fired on that CPU will be this barrier, or another barrier queued by concurrent flush_work(), so the caller of flush_work() will be woken before any "regular" work has a chance to run. When wait_on_work() unlocks workqueue_mutex (or whatever we choose to protect against CPU hotplug), CPU may go away. But in that case take_over_work() will move a barrier we queued to another CPU, it will be fired sometime, and wait_on_work() will be woken. Actually, we are doing cleanup_workqueue_thread()->kthread_stop() before take_over_work(), so cwq->thread should complete its ->worklist (and thus the barrier), because currently we don't check kthread_should_stop() in run_workqueue(). But even if we did, everything should be ok. [akpm@osdl.org: cleanup] [akpm@osdl.org: add flush_work_keventd() wrapper] Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc2e4d70410546307344821eed6fd23803a45286 Author: Oleg Nesterov Date: Wed May 9 02:33:51 2007 -0700 reimplement flush_workqueue() Remove ->remove_sequence, ->insert_sequence, and ->work_done from struct cpu_workqueue_struct. To implement flush_workqueue() we can queue a barrier work on each CPU and wait for its completition. The barrier is queued under workqueue_mutex to ensure that per cpu wq->cpu_wq is alive, we drop this mutex before going to sleep. If CPU goes down while we are waiting for completition, take_over_work() will move the barrier on another CPU, and the handler will wake up us eventually. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18f3ffb9c3ddfc1b4ad8f38f5f2acae8c16f0c9 Author: Andrew Morton Date: Wed May 9 02:33:50 2007 -0700 schedule_on_each_cpu(): use preempt_disable() We take workqueue_mutex in there to keep CPU hotplug away. But preempt_disable() will suffice for that. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e3cf418fc1e6b13bdc472ffb60bd02735e41a6 Author: Haavard Skinnemoen Date: Wed May 9 02:33:50 2007 -0700 atmel_spi: remove unnecessary (and wrong) #ifdefs Now that the cpu_is_xxx() macros are available both on AVR32 and AT91, we can remove a couple of #ifdefs from this driver. One of them is actually wrong -- new_1 should be set on AVR32 but isn't. This causes the bus clock to run at twice the speed it is configured to. Signed-off-by: Haavard Skinnemoen Cc: David Brownell Acked-by: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7498281d3caec1141d7542ec494c4e4a1d404c9 Author: Haavard Skinnemoen Date: Wed May 9 02:33:47 2007 -0700 Use common cpu_is_xxx() macros on AT91 and AVR32 Several drivers shared between AT91 and AVR32 chips use cpu_is_xxx() to handle CPU-specific differences. Currently, such code needs to be inside #ifdef CONFIG_ARCH_AT91 because the macros don't exist on AVR32. By defining the same macros on both AT91 and AVR32, these #ifdefs can be eliminated. Since the macros will evaluate to a constant value for CPUs that aren't supported by the current architecture, any code that is only needed on AT91 will be optimized away on AVR32 and vice versa. Signed-off-by: Haavard Skinnemoen Cc: David Brownell Acked-by: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31143d5d515ece617ffccb7df5ff75e4d1dfa120 Author: David Howells Date: Wed May 9 02:33:46 2007 -0700 AFS: implement basic file write support Implement support for writing to regular AFS files, including: (1) write (2) truncate (3) fsync, fdatasync (4) chmod, chown, chgrp, utime. AFS writeback attempts to batch writes into as chunks as large as it can manage up to the point that it writes back 65535 pages in one chunk or it meets a locked page. Furthermore, if a page has been written to using a particular key, then should another write to that page use some other key, the first write will be flushed before the second is allowed to take place. If the first write fails due to a security error, then the page will be scrapped and reread before the second write takes place. If a page is dirty and the callback on it is broken by the server, then the dirty data is not discarded (same behaviour as NFS). Shared-writable mappings are not supported by this patch. [akpm@linux-foundation.org: fix a bunch of warnings] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 416351f28d2b31d15ff73e9aff699b2163704c95 Author: David Howells Date: Wed May 9 02:33:45 2007 -0700 AFS: AFS fixups Make some miscellaneous changes to the AFS filesystem: (1) Assert RCU barriers on module exit to make sure RCU has finished with callbacks in this module. (2) Correctly handle the AFS server returning a zero-length read. (3) Split out data zapping calls into one function (afs_zap_data). (4) Rename some afs_file_*() functions to afs_*() where they apply to non-regular files too. (5) Be consistent about the presentation of volume ID:vnode ID in debugging output. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef71c15c46a053818f7e69098ebb052b31ffa56b Author: David Howells Date: Wed May 9 02:33:44 2007 -0700 AFS: export a couple of core functions for AFS write support Export a couple of core functions for AFS write support to use: find_get_pages_contig() find_get_pages_tag() Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b04bd27564cfd7224e0135ba37df778f1d490bf Author: David Miller Date: Wed May 9 02:33:43 2007 -0700 Fix printk format warnings in timer_list.c u64 and s64 are not necessarily 'long long' on some 64-bit platforms, so explicit the type to kill the compiler warnings. Also consistently use '%Lu' which is unsigned. Signed-off-by: David S. Miller Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0366299bd2de283091f4394c0f446e58b5f94815 Author: Borislav Petkov Date: Wed May 9 02:33:43 2007 -0700 kernel-doc: small kernel-doc optimization Get the kernel version string only once from the environment, thus slightly speeding up kernel-doc. Signed-off-by: Borislav Petkov Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66effdc6a6a79c11f1c0d607d0de299108d69507 Author: Randy Dunlap Date: Wed May 9 02:33:42 2007 -0700 doc: what a patch series is It seems that we need to clarify that a patch series is a series of related patches rather than "here are some of my patches as multiple (numbered) emails." Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dfdd266b9a2f2d93a3fdbee89969f6ea9ec5377 Author: Josef 'Jeff' Sipek Date: Wed May 9 02:33:41 2007 -0700 fs: use path_walk in do_path_lookup Since path_walk sets the total_link_count to 0 and calls link_path_walk, we can just call path_walk directly. Signed-off-by: Josef 'Jeff' Sipek Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ce39c531860aee6c12128c629b0a82f656a306 Author: Josef 'Jeff' Sipek Date: Wed May 9 02:33:41 2007 -0700 fs: fix indentation in do_path_lookup Signed-off-by: Josef 'Jeff' Sipek Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35c35d1afa8f9afe01d922ff9668a14c5d879b02 Author: Daniel Walker Date: Wed May 9 02:33:40 2007 -0700 clocksource: spelling error in watchdog code There's more that need fixing, and fix my own subject spelling error too. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d8362d517cb2bd97761294924fe6c2a6ee5e3c Author: Andrew Morton Date: Wed May 9 02:33:39 2007 -0700 mutex_lock_interruptible(): add __must_check It's not sane to use mutex_lock_interruptible() and to then ignore the result. Ditto down_interruptible(), but I'm lazy. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae030e435f5400cff77c52506a8d3d7278f0947c Author: Paul Fulghum Date: Wed May 9 02:33:38 2007 -0700 tty_set_ldisc() receive_room fix Fix tty_set_ldisc in tty_io.c so that tty->receive_room is only cleared if actually changing line disciplines. Without this fix a problem occurs when requesting the line discipline to change to the same line discipline. In this case tty->receive_room is cleared but ldisc->open() is not called to set tty->receive_room back to a sane value. The result is that tty->receive_room is stuck at 0 preventing the tty flip buffer from passing receive data to the line discipline. For example: a switch from N_TTY to N_TTY followed by a select() call for read input results in data never being received because tty->receive_room is stuck at zero. A switch from N_TTY to N_TTY followed by a read() call works because the read() call itself sets tty->receive_room correctly (but select does not). Previously (< 2.6.18) this was not a problem because the tty flip buffer pushed data to the line discipline without regard for tty->receive room. Signed-off-by: Paul Fulghum Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55c0d1f83e481dd6c77f52f7dcfeb043b8b740fa Author: Roland McGrath Date: Wed May 9 02:33:37 2007 -0700 Move sig_kernel_* et al macros to linux/signal.h This patch moves the sig_kernel_* and related macros from kernel/signal.c to linux/signal.h, and cleans them up slightly. I need the sig_kernel_* macros for default signal behavior in the utrace code, and want to avoid duplication or overhead to share the knowledge. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84963048ca8093e0aa71ac90c2a5fe7af5f617c3 Author: WANG Cong Date: Wed May 9 02:33:36 2007 -0700 nbd: check the return value of sysfs_create_file [akpm@linux-foundation.org: fix it] Signed-off-by: WANG Cong Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8cb34481edfee6692c83d3b283e29820e840280 Author: Olof Johansson Date: Wed May 9 02:33:35 2007 -0700 pasemi: hardware rng driver Driver for the on-chip hardware random number generator on PA Semi PA6T-1682M. Signed-off-by: Egor Martovetsky Signed-off-by: Olof Johansson Signed-off-by: Michael Buesch Cc: Paul Mackerras Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3556329926bde7c1e80cd6c650525326652ea4 Author: Roland Dreier Date: Wed May 9 02:33:35 2007 -0700 Add info about whitespace to SubmitChecklist Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a63011275e1a0ec9389e8c7d9b08caab8957ca0 Author: Ken Chen Date: Wed May 9 02:33:34 2007 -0700 pretend cpuset has some form of hugetlb page reservation When cpuset is configured, it breaks the strict hugetlb page reservation as the accounting is done on a global variable. Such reservation is completely rubbish in the presence of cpuset because the reservation is not checked against page availability for the current cpuset. Application can still potentially OOM'ed by kernel with lack of free htlb page in cpuset that the task is in. Attempt to enforce strict accounting with cpuset is almost impossible (or too ugly) because cpuset is too fluid that task or memory node can be dynamically moved between cpusets. The change of semantics for shared hugetlb mapping with cpuset is undesirable. However, in order to preserve some of the semantics, we fall back to check against current free page availability as a best attempt and hopefully to minimize the impact of changing semantics that cpuset has on hugetlb. Signed-off-by: Ken Chen Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85badbdf5120d246ce2bb3f1a7689a805f9c9006 Author: Akinobu Mita Date: Wed May 9 02:33:33 2007 -0700 use simple_read_from_buffer in kernel/ Cleanup using simple_read_from_buffer() for /dev/cpuset/tasks and /proc/config.gz. Cc: Paul Jackson Cc: Randy Dunlap Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92f4c701aad794de9e4cf7341d0a486aed027c46 Author: Akinobu Mita Date: Wed May 9 02:33:32 2007 -0700 use simple_read_from_buffer() in fs/ Cleanup using simple_read_from_buffer() in binfmt_misc, configfs, and sysfs. Cc: Greg Kroah-Hartman Cc: Joel Becker Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 884c3d751093446918c2f7a4b2c745f28cf91c39 Author: Akinobu Mita Date: Wed May 9 02:33:32 2007 -0700 cm4000_cs: use bitrev Cleanup using bitrev8 in cm4000_cs driver. Cc: Harald Welte Signed-off-by: Akinobu Mita Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54493c10069741a02cd34c2b44a6bfdb85e7de6a Author: Akinobu Mita Date: Wed May 9 02:33:31 2007 -0700 cm4000_cs: fix error paths This patch fixes error paths in module_init and probe functions in cm4000_cs and cm4040_cs drivers. Cc: Harald Welte Signed-off-by: Akinobu Mita Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8813d1c00ca923c1683da625ff85959be1db9a49 Author: James Bottomley Date: Wed May 9 02:33:30 2007 -0700 mca: add integrated device bus matching The MCA bus has a few "integrated" functions, which are effectively virtual slots on the bus. The problem is that these special functions don't have dedicated pos IDs, so we have to manufacture ids for them outside the pos space ... and these ids can't be matched by the standard matching function, so add a special registration that requests a list of pos ids or a particular integrated function. Signed-off-by: James Bottomley Signed-off-by: Linus Torvalds commit 809aa5048fb7e7fd3bf0aa1fb169c42db0f63b08 Author: James Bottomley Date: Wed May 9 02:33:29 2007 -0700 mca: fix bus matching There's a bug in the MCA bus matching algorithm in that it promotes from signed short to int before comparing with the actual id and does sign extension on anything > 0x7fff (which means that pos ids > 0x7fff never get correctly matched). Signed-off-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 818563dceccf695a71f8bd683a249e7bb09e3240 Author: Fernando Luis Vazquez Cao Date: Wed May 9 02:33:28 2007 -0700 Always ask the hardware to obtain hardware processor id - ia64 Always ask the hardware to determine the hardware processor id in both UP and SMP kernels. Signed-off-by: Fernando Luis Vazquez Cao Cc: "Luck, Tony" Cc: Andi Kleen Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd988528f4a7d64908b427c251d727f3c3e88add Author: Fernando Luis Vazquez Cao Date: Wed May 9 02:33:28 2007 -0700 Use the APIC to determine the hardware processor id - x86_64 hard_smp_processor_id used to be just a macro that hard-coded hard_smp_processor_id to 0 in the non SMP case. When booting non SMP kernels on hardware where the boot ioapic id is not 0 this turns out to be a problem. This is happens frequently in the case of kdump and once in a great while in the case of real hardware. Use the APIC to determine the hardware processor id in both UP and SMP kernels to fix this issue. Notice that hard_smp_processor_id is only used by SMP code or by code that works with apics so we do not need to handle the case when apics are not present and hard_smp_processor_id should never be called there. Signed-off-by: Fernando Luis Vazquez Cao Cc: "Luck, Tony" Acked-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a36166c6ef45081fea6eeaf5ca785d7ed786b6e2 Author: Fernando Luis Vazquez Cao Date: Wed May 9 02:33:27 2007 -0700 Use the APIC to determine the hardware processor id - i386 hard_smp_processor_id used to be just a macro that hard-coded hard_smp_processor_id to 0 in the non SMP case. When booting non SMP kernels on hardware where the boot ioapic id is not 0 this turns out to be a problem. This is happens frequently in the case of kdump and once in a great while in the case of real hardware. Use the APIC to determine the hardware processor id in both UP and SMP kernels to fix this issue. Notice that hard_smp_processor_id is only used by SMP code or by code that works with apics so we do not need to handle the case when apics are not present and hard_smp_processor_id should never be called there. Signed-off-by: Fernando Luis Vazquez Cao Cc: "Luck, Tony" Acked-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f Author: Fernando Luis Vazquez Cao Date: Wed May 9 02:33:25 2007 -0700 Remove hardcoding of hard_smp_processor_id on UP systems With the advent of kdump, the assumption that the boot CPU when booting an UP kernel is always the CPU with a particular hardware ID (often 0) (usually referred to as BSP on some architectures) is not valid anymore. The reason being that the dump capture kernel boots on the crashed CPU (the CPU that invoked crash_kexec), which may be or may not be that particular CPU. Move definition of hard_smp_processor_id for the UP case to architecture-specific code ("asm/smp.h") where it belongs, so that each architecture can provide its own implementation. Signed-off-by: Fernando Luis Vazquez Cao Cc: "Luck, Tony" Acked-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd2a345f8f002845636dbf5d2d768bb5cd8a5f59 Author: Dave Gilbert Date: Wed May 9 02:33:24 2007 -0700 Display all possible partitions when the root filesystem failed to mount Display all possible partitions when the root filesystem is not mounted. This helps to track spell'o's and missing drivers. Updated to work with newer kernels. Example output: VFS: Cannot open root device "foobar" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: 0800 8388608 sda driver: sd 0801 192748 sda1 0802 8193150 sda2 0810 4194304 sdb driver: sd Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [akpm@linux-foundation.org: cleanups, fix printk warnings] Signed-off-by: Jan Engelhardt Cc: Dave Gilbert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e7d18b57c39bedcbd181e3c06d13572b33e5380 Author: Miklos Szeredi Date: Wed May 9 02:33:22 2007 -0700 uml: turn build warnings into comments These haven't been fixed for ages. Just make comments out of them. arch/um/kernel/skas/process.c:181:2: warning: #warning Need to look up +userspace_pid by cpu arch/um/kernel/skas/process.c:187:2: warning: #warning Need to look up +userspace_pid by cpu arch/um/kernel/skas/process.c:194:2: warning: #warning need to loop over +userspace_pids in kill_off_processes_skas Signed-off-by: Miklos Szeredi Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb0c78cc94a63871cad051674516b38e4a8aef95 Author: Jeff Dike Date: Wed May 9 02:33:22 2007 -0700 Fix Linuxdoc comment A linuxdoc comment had fallen out of date - it refers to an argument which no longer exists. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 231f7e9d029a710c14352bff3b8d3753cb9bfde8 Author: Jeff Dike Date: Wed May 9 02:33:21 2007 -0700 uml: mark a tt-only function Mark another function as tt-mode only. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ff563830209d2f5ea2ece071f7ea71aff934544 Author: Peter Zijlstra Date: Wed May 9 02:33:20 2007 -0700 uml: turn on SCSI support Enable (i)SCSI on UML, dunno why SCSI was deemed broken, it works like a charm. Signed-off-by: Peter Zijlstra Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e0cb0c3bf04850fa6fb300293d9e85ba81b605f Author: Jeff Dike Date: Wed May 9 02:33:19 2007 -0700 uml: fix build breakage UML now needs required-features.h to build - an empty one suffices. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d25c275d383975504dc53c25b691df59bd3c48 Author: Rafael J. Wysocki Date: Wed May 9 02:33:18 2007 -0700 PM: Separate hibernation code from suspend code [ With Johannes Berg ] Separate the hibernation (aka suspend to disk code) from the other suspend code. In particular: * Remove the definitions related to hibernation from include/linux/pm.h * Introduce struct hibernation_ops and a new hibernate() function to hibernate the system, defined in include/linux/suspend.h * Separate suspend code in kernel/power/main.c from hibernation-related code in kernel/power/disk.c and kernel/power/user.c (with the help of hibernation_ops) * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops Signed-off-by: Rafael J. Wysocki Cc: Greg KH Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d60846c4d16f9518b098b905af2b87cb6bf6dc42 Author: Andrew Morton Date: Wed May 9 02:33:17 2007 -0700 swsusp: clean up printk Remove an inexplicable / Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ace4bd29c248b51db3f8a97e9b59740dc6caa074 Author: Ken Chen Date: Wed May 9 02:33:09 2007 -0700 fix leaky resv_huge_pages when cpuset is in use The internal hugetlb resv_huge_pages variable can permanently leak nonzero value in the error path of hugetlb page fault handler when hugetlb page is used in combination of cpuset. The leaked count can permanently trap N number of hugetlb pages in unusable "reserved" state. Steps to reproduce the bug: (1) create two cpuset, user1 and user2 (2) reserve 50 htlb pages in cpuset user1 (3) attempt to shmget/shmat 50 htlb page inside cpuset user2 (4) kernel oom the user process in step 3 (5) ipcrm the shm segment At this point resv_huge_pages will have a count of 49, even though there are no active hugetlbfs file nor hugetlb shared memory segment in the system. The leak is permanent and there is no recovery method other than system reboot. The leaked count will hold up all future use of that many htlb pages in all cpusets. The culprit is that the error path of alloc_huge_page() did not properly undo the change it made to resv_huge_page, causing inconsistent state. Signed-off-by: Ken Chen Cc: David Gibson Cc: Adam Litke Cc: Martin Bligh Acked-by: David Gibson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba8b45cea5f632540d561d37d94c71c07f6af1aa Author: Jonathan Brassow Date: Wed May 9 02:33:08 2007 -0700 dm log: fix resume failed log device This patch removes the possibility of having uninitialized log state if the log device has failed. When a mirror resumes operation, it calls 'resume' on the logging module. If disk based logging is being used, the log device is read to fill in the log state. If the log device has failed, we cannot simply return, because this would leave the in-memory log state uninitialized. Instead, we assume all regions are out-of-sync and reset the log state. Failure to do this could result in the logging code reporting a region as in-sync, even though it isn't; which could result in a corrupted mirror. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b997b82d266c9fb910fc2ad95b9bb93b3bccf9be Author: Jonathan Brassow Date: Wed May 9 02:33:08 2007 -0700 dm raid1: switch rh_in_sync to blocking in do_reads The call to rh_in_sync() in do_reads() should be allowed to block. It is in the mirror worker thread which already permits blocking operations. This will be needed to support clustered mirroring which will perform network operations. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5353cd7c9cd10cdf9d62a5487f3db77b7b68105 Author: Jonathan Brassow Date: Wed May 9 02:33:07 2007 -0700 dm raid1: fix to commit pending clear region requests With the code as it is, it is possible for oustanding clear region requests never to get flushed when a mirror is deactivated or suspended. This means there will always be some resync work required when a mirror is activated, even though it may very well be in-sync. Always requesting the flush doesn't hurt us. This is because the log tracks whether any changes occurred and, if not, no flush is performed. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26b9f228703f0518a90e7513d6fe7b6abeed5138 Author: Heinz Mauelshagen Date: Wed May 9 02:33:06 2007 -0700 dm: delay target New device-mapper target that can delay I/O (for testing). Reads can be separated from writes, redirected to different underlying devices and delayed by differing amounts of time. Signed-off-by: Heinz Mauelshagen Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ba699347e96b5468b42b3decf1f381abbf99652 Author: Heinz Mauelshagen Date: Wed May 9 02:33:05 2007 -0700 dm: bio list helpers More bio_list helper functions for new targets (including dm-delay and dm-loop) to manipulate lists of bios. Signed-off-by: Heinz Mauelshagen Signed-off-by: Bryn Reeves Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf17ce3a604d943f29bf1bc1a66a4e0d2ad4ec96 Author: Milan Broz Date: Wed May 9 02:33:05 2007 -0700 dm io: remove old interface Remove old dm-io interface. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88be163abb5324bab09f5eff9646590eec5314eb Author: Milan Broz Date: Wed May 9 02:33:04 2007 -0700 dm raid1: update dm io interface This patch ports dm-raid1.c to the new dm-io interface. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d234d1e03d0a4cef4da32177be6657b45cc513f Author: Heinz Mauelshagen Date: Wed May 9 02:33:03 2007 -0700 dm log: update dm io interface This patch ports dm-log.c to the new dm-io interface in order to make it scalable to have a large number of persistent dirty logs active in parallel. Signed-off-by: Heinz Mauelshagen Cc: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cca1e7af543aa396b3e4919c251080741a49e69 Author: Heinz Mauelshagen Date: Wed May 9 02:33:02 2007 -0700 dm exception store: update dm io interface This patch ports dm-exception-store.c to the new, scalable dm_io() interface. It replaces dm_io_get()/dm_io_put() by dm_io_client_create()/dm_io_client_destroy() calls and dm_io_sync_vm() by dm_io() to achive this. Signed-off-by: Heinz Mauelshagen Cc: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 373a392bd76c4cc2cbbdab3906aee2ae4dc6702e Author: Milan Broz Date: Wed May 9 02:33:02 2007 -0700 dm kcopyd: update dm io interface This patch ports kcopyd.c to the new, scalable dm_io() interface. Signed-off-by: Milan Broz Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8b03afe3d38a635861e4bfa5c563d844e754a91 Author: Heinz Mauelshagen Date: Wed May 9 02:33:01 2007 -0700 dm io: new interface Add a new API to dm-io.c that uses a private mempool and bio_set for each client. The new functions to use are dm_io_client_create(), dm_io_client_destroy(), dm_io_client_resize() and dm_io(). Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 891ce207011d3d9219f79fd5114c8594bbacc653 Author: Heinz Mauelshagen Date: Wed May 9 02:33:00 2007 -0700 dm io: prepare for new interface Introduce struct dm_io_client to prepare for per-client mempools and bio_sets. Temporary functions bios() and io_pool() choose between the per-client structures and the global ones so the old and new interfaces can co-exist. Make error_bits optional. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c897feb3dcf3c3300849056ee82b01df7bf66d3c Author: Heinz Mauelshagen Date: Wed May 9 02:33:00 2007 -0700 dm io: delay dec_count Delay decrementing the 'struct io' reference count until after the bio has been freed so that a bio destructor function may reference it. Required by a later patch. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8e6afa2363de7ee0dea1a3297f6236f421c2dd4 Author: Jonathan E Brassow Date: Wed May 9 02:32:59 2007 -0700 dm raid1: add handle_errors feature flag This patch adds the ability to specify desired features in the mirror constructor/mapping table. The first feature of interest is "handle_errors". Currently, mirroring will ignore any I/O errors from the devices. Subsequent patches will check for this flag and handle the errors. If flag/feature is not present, mirror will do nothing - maintaining backwards compatibility. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 315dcc226f066c1d3cef79283dcde807fe0e32d1 Author: Jonathan E Brassow Date: Wed May 9 02:32:58 2007 -0700 dm log: report fault status This patch reports the status of the log device so that userspace can detect the error and take appropriate action. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01d03a660e73fb524957c09825a3eb7c2ae7c205 Author: Jonathan E Brassow Date: Wed May 9 02:32:57 2007 -0700 dm log: fault detection This patch gives the disk logging code the ability to store the fact that an error occured on the log device. In addition, an event is raised when an error is encountered during I/O to the log device. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cd54d9bedb79a97f014e86c0da393416b264eb3 Author: Mike Anderson Date: Wed May 9 02:32:57 2007 -0700 dm: allow offline devices Allow check_device_area to succeed if a device has an i_size of zero. This addresses an issue seen on DASD devices setting up a multipath table for paths in online and offline state. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79eb885c96b5ccf8bbffd0dddc4c15a5dd436a1c Author: Edward Goggin Date: Wed May 9 02:32:56 2007 -0700 dm mpath: log device name Make the mapped device structure accessible to hardware handlers so error messages can include the device name. Signed-off-by: Edward Goggin Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46b477306afcd0516924b26792c7a42f4dbfa9f0 Author: Ludwig Nussel Date: Wed May 9 02:32:55 2007 -0700 dm crypt: add null iv Add a new IV generation method 'null' to read old filesystem images created with SuSE's loop_fish2 module. Signed-off-by: Ludwig Nussel Acked-By: Christophe Saout Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f97380bcadd6bd2e368727de4061aaba4989c426 Author: Olaf Kirch Date: Wed May 9 02:32:54 2007 -0700 dm crypt: use smaller bvecs in clones Allocate smaller clones With the previous dm-crypt fixes, there is no need for the clone bios to have the same bvec size as the original - we just need to make them big enough for the remaining number of pages. The only requirement is that we clear the "out" index in convert_context, so that crypt_convert starts storing data at the right position within the clone bio. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9941b6c55d70103c1bc3f2c7676acd9f20bf8a Author: Olaf Kirch Date: Wed May 9 02:32:53 2007 -0700 dm crypt: fix remove first_clone Get rid of first_clone in dm-crypt This gets rid of first_clone, which is not really needed. Apparently, cloned bios used to share their bvec some time way in the past - this is no longer the case. Contrarily, this even hurts us if we try to create a clone off first_clone after it has completed, and crypt_endio has destroyed its bvec. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98221eb757de03d9aa6262b1eded2be708640ccc Author: Olaf Kirch Date: Wed May 9 02:32:52 2007 -0700 dm crypt: fix avoid cloned bio ref after free Do not access the bio after generic_make_request We should never access a bio after generic_make_request - there's no guarantee it still exists. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027581f3515b5ec2218847dab578afa439a9d6b9 Author: Olaf Kirch Date: Wed May 9 02:32:52 2007 -0700 dm crypt: fix call to clone_init Call clone_init early We need to call clone_init as early as possible - at least before call bio_put(clone) in any error path. Otherwise, the destructor will try to dereference bi_private, which may still be NULL. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c89f8be1a7d14aad9d2c3f7d90d7d88f82c61e2 Author: Milan Broz Date: Wed May 9 02:32:51 2007 -0700 dm crypt: disable barriers Disable barriers in dm-crypt because of current workqueue processing can reorder requests. This must be addresed later but for now disabling barriers is needed to prevent data corruption. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ad36fe2b451cc85cc7b14f4128286759e217124 Author: Holger Smolinski Date: Wed May 9 02:32:50 2007 -0700 dm raid1: one kmirrord per mirror This patch replaces the single instance of kmirrord by one instance per mirror set. This change is required to avoid a deadlock in kmirrord when the persistent dirty log of a mirror itself resides on a mirror. The single instance of kmirrord then issues a sync write to the dirty log in write_bits which gets deferred to kmirrord itself later in the call chain. But kmirrord never does the deferred work because it is still waiting for the sync write_bits. _mirror_sets is removed as it no longer needed, and we always flush the workqueue before destroying it to ensure all work is complete before destroying it. Signed-off-by: Holger Smolinski Signed-off-by: Alasdair G Kergon Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8defab33774a5c33920196a2ee9c0a946d22ba67 Author: Christoph Lameter Date: Wed May 9 02:32:48 2007 -0700 FRV: Replace pgd management via slabs through quicklists This is done in order to be able to run SLUB which expects no modifications to its page structs. Signed-off-by: Christoph Lameter Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34013886ef47ea72e412beb04558431b57a68d51 Author: Christoph Lameter Date: Wed May 9 02:32:47 2007 -0700 Fix spellings of slab allocator section in init/Kconfig Fix some of the spelling issues. Fix sentences. Discourage SLOB use since SLUB can pack objects denser. Signed-off-by: Christoph Lameter Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ae439ce0c01d7db0c70d1542985969e95ef750d Author: Pekka J Enberg Date: Wed May 9 02:32:46 2007 -0700 krealloc: fix kerneldoc comments No "blank" (or "*") line is allowed between the function name and lines for it parameter(s). Cc: Randy Dunlap Signed-off-by: Pekka Enberg Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e6d444ea1f72b8148354a9baf0ea8fa3dd0425b Author: Christoph Lameter Date: Wed May 9 02:32:46 2007 -0700 SLUB: rework slab order determination In some cases SLUB is creating uselessly slabs that are larger than slub_max_order. Also the layout of some of the slabs was not satisfactory. Go to an iterarive approach. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45edfa580b8e638c44ec26872bfe75b307ba12d1 Author: Christoph Lameter Date: Wed May 9 02:32:45 2007 -0700 SLUB: include lifetime stats and sets of cpus / nodes in tracking output We have information about how long an object existed and about the nodes and cpus where the allocations and frees took place. Add that information to the tracking output in /sys/slab/xx/alloc_calls and /sys/slab/free_calls This will then enable slabinfo to output nice reports like this: christoph@qirst:~/slub$ ./slabinfo kmalloc-128 Slabcache: kmalloc-128 Aliases: 0 Order : 0 Sizes (bytes) Slabs Debug Memory ------------------------------------------------------------------------ Object : 128 Total : 12 Sanity Checks : On Total: 49152 SlabObj: 200 Full : 7 Redzoning : On Used : 24832 SlabSiz: 4096 Partial: 4 Poisoning : On Loss : 24320 Loss : 72 CpuSlab: 1 Tracking : On Lalig: 13968 Align : 8 Objects: 20 Tracing : Off Lpadd: 1152 kmalloc-128 has no kmem_cache operations kmalloc-128: Kernel object allocation ----------------------------------------------------------------------- 6 param_sysfs_setup+0x71/0x130 age=284512/284512/284512 pid=1 nodes=0-1,3 11 percpu_populate+0x39/0x80 age=283914/284428/284512 pid=1 nodes=0 21 __register_chrdev_region+0x31/0x170 age=282896/284347/284473 pid=1-1705 nodes=0-2 1 sys_inotify_init+0x76/0x1c0 age=283423 pid=1004 nodes=0 19 as_get_io_context+0x32/0xd0 age=6/247567/283988 pid=1-11782 nodes=0,2 10 ida_pre_get+0x4a/0x80 age=277666/283773/284526 pid=0-2177 nodes=0,2 24 kobject_kset_add_dir+0x37/0xb0 age=282727/283860/284472 pid=1-1723 nodes=0-2 1 acpi_ds_build_internal_buffer_obj+0xd3/0x11d age=284508 pid=1 nodes=0 24 con_insert_unipair+0xd7/0x110 age=284438/284438/284438 pid=1 nodes=0,2 1 uart_open+0x2d2/0x4b0 age=283896 pid=1 nodes=0 26 dma_pool_create+0x73/0x1a0 age=282762/282833/282916 pid=1705-1723 nodes=0 1 neigh_table_init_no_netlink+0xd2/0x210 age=284461 pid=1 nodes=0 2 neigh_parms_alloc+0x2b/0xe0 age=284410/284411/284412 pid=1 nodes=2 2 neigh_resolve_output+0x1e1/0x280 age=276289/276291/276293 pid=0-2443 nodes=0 1 netlink_kernel_create+0x90/0x170 age=284472 pid=1 nodes=0 4 xt_alloc_table_info+0x39/0xf0 age=283958/283958/283959 pid=1 nodes=1 3 fn_hash_insert+0x473/0x720 age=277653/277661/277666 pid=2177-2185 nodes=0 1 get_mtrr_state+0x285/0x2a0 age=284526 pid=0 nodes=0 1 cacheinfo_cpu_callback+0x26d/0x3e0 age=284458 pid=1 nodes=0 29 kernel_param_sysfs_setup+0x25/0x90 age=284511/284511/284512 pid=1 nodes=0-1,3 5 process_zones+0x5e/0x170 age=284546/284546/284546 pid=0 nodes=0 1 drm_core_init+0x48/0x160 age=284421 pid=1 nodes=2 kmalloc-128: Kernel object freeing ------------------------------------------------------------------------ 163 age=4295176847 pid=0 nodes=0-3 1 __vunmap+0x6e/0xf0 age=282907 pid=1723 nodes=0 28 free_as_io_context+0x12/0x90 age=9243/262197/283474 pid=42-11754 nodes=0 1 acpi_get_object_info+0x1b7/0x1d4 age=284475 pid=1 nodes=0 1 do_acpi_find_child+0x45/0x4e age=284475 pid=1 nodes=0 NUMA nodes : 0 1 2 3 ------------------------------------------ All slabs 7 2 2 1 Partial slabs 2 2 0 0 Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41ecc55b8a8ca618e6d490982c7ce45d230d4399 Author: Christoph Lameter Date: Wed May 9 02:32:44 2007 -0700 SLUB: add CONFIG_SLUB_DEBUG CONFIG_SLUB_DEBUG can be used to switch off the debugging and sysfs components of SLUB. Thus SLUB will be able to replace SLOB. SLUB can arrange objects in a denser way than SLOB and the code size should be minimal without debugging and sysfs support. Note that CONFIG_SLUB_DEBUG is materially different from CONFIG_SLAB_DEBUG. CONFIG_SLAB_DEBUG is used to enable slab debugging in SLAB. SLUB enables debugging via a boot parameter. SLUB debug code should always be present. CONFIG_SLUB_DEBUG can be modified in the embedded config section. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02cbc874463924de2c3403379b698bce3cd277a5 Author: Christoph Lameter Date: Wed May 9 02:32:43 2007 -0700 SLUB: move tracking definitions and check_valid_pointer() away from debug code Move the tracking definitions and the check_valid_pointer() function away from the debugging related functions. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 636f0d7de8dc0282cce9905e035c04dd60db19dd Author: Christoph Lameter Date: Wed May 9 02:32:42 2007 -0700 SLUB: consolidate trace code Trace in both slab_alloc and slab_free has a lot of common code. Use a single function for both. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35e5d7ee27680aef6dc3fab45a5ecd9952d9791a Author: Christoph Lameter Date: Wed May 9 02:32:42 2007 -0700 SLUB: introduce DebugSlab(page) This replaces the PageError() checking. DebugSlab is clearer and allows for future changes to the page bit used. We also need it to support CONFIG_SLUB_DEBUG. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b345970905e34c1b632fe4d80e2af14c7de99b45 Author: Christoph Lameter Date: Wed May 9 02:32:41 2007 -0700 SLUB: move resiliency check into SYSFS section Move the resiliency check into the SYSFS section after validate_slab that is used by the resiliency check. This will avoid a forward declaration. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7656c72b5a631452ace361037ccf8384454d0f72 Author: Christoph Lameter Date: Wed May 9 02:32:40 2007 -0700 SLUB: add macros for scanning objects in a slab Scanning of objects happens in a number of functions. Consolidate that code. DECLARE_BITMAP instead of coding the declaration for bitmaps. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 672bba3a4b2e65ed95ebd0cf764bd628bd1da74f Author: Christoph Lameter Date: Wed May 9 02:32:39 2007 -0700 SLUB: update comments Update comments throughout SLUB to reflect the new developments. Fix up various awkward sentences. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26a7bd030254c462a9e771f6edc54cb972044034 Author: Christoph Lameter Date: Wed May 9 02:32:39 2007 -0700 SLUB: get rid of finish_bootstrap Its only purpose was to bring some sort of symmetry to sysfs usage when dealing with bootstrapping per cpu flushing. Since we do not time out slabs anymore we have no need to run finish_bootstrap even without sysfs. Fold it back into slab_sysfs_init and drop the initcall for the !SYFS case. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f99a283dc13b167b93b2e453a30782955f165c2 Author: Christoph Lameter Date: Wed May 9 02:32:38 2007 -0700 SLUB: clean up krealloc We really do not need all this gaga there. ksize gives us all the information we need to figure out if the object can cope with the new size. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abcd08a6f564171ffa05bc77d1c2ba4cfa949653 Author: Christoph Lameter Date: Wed May 9 02:32:37 2007 -0700 SLUB: use check_valid_pointer in kmem_ptr_validate We needlessly duplicate code. Also make check_valid_pointer inline. Signed-off-by: Christoph LAemter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a87615b8f9e2349f6d3770af3d72fd6a41ab4239 Author: Christoph Lameter Date: Wed May 9 02:32:37 2007 -0700 SLUB: slabinfo upgrade -e Show empty slabs -d Modification of slab debug options at runtime -o Operations. Display of ctor / dtor etc. -r Report: Display all available information about a slabcache. Cleanup tracking display and make it work right. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be7b3fbcef34452127bed93632b8e788f685d70e Author: Christoph Lameter Date: Wed May 9 02:32:36 2007 -0700 SLUB: after object padding only needed for Redzoning If no redzoning is selected then we do not need padding before the next object. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65c02d4cfbbd10188ded3d6577922ab034d943ba Author: Christoph Lameter Date: Wed May 9 02:32:35 2007 -0700 SLUB: add support for dynamic cacheline size determination SLUB currently assumes that the cacheline size is static. However, i386 f.e. supports dynamic cache line size determination. Use cache_line_size() instead of L1_CACHE_BYTES in the allocator. That also explains the purpose of SLAB_HWCACHE_ALIGN. So we will need to keep that one around to allow dynamic aligning of objects depending on boot determination of the cache line size. [akpm@linux-foundation.org: need to define it before we use it] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97416ce82e20a9511ec369822098a8d20998398a Author: Stephen Rothwell Date: Wed May 9 02:32:35 2007 -0700 Declare {compat_}sys_utimensat This is needed before Powerpc can wire up the syscall. Signed-off-by: Stephen Rothwell Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f41ec7b36e14da18a4e162ef697ae358f36e37 Author: Andrew Morton Date: Wed May 9 02:32:34 2007 -0700 mmc build fix Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7aa48be1e7a11e36448a7db58931bbf735d2718 Author: David Woodhouse Date: Wed May 9 13:34:37 2007 +0100 [MTD] [CHIPS] Remove MTD_OBSOLETE_CHIPS (jedec, amd_flash, sharp) Signed-off-by: David Woodhouse commit 42f209d3c94516affeb5e578fae62925f531a2d9 Author: Robert P. J. Day Date: Fri May 4 15:49:38 2007 -0400 [MTD] Delete allegedly obsolete "bank_size" field of mtd_info. Delete the allegedly obsolete "bank_size" member of struct mtd_info. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 36200b76008d52d16b170d4f7dae9cfe00f5eb2b Author: Robert P. J. Day Date: Thu May 3 15:58:49 2007 -0400 [MTD] Remove unnecessary user space check from mtd.h. Since the header file include/linux/mtd/mtd.h is not exported to user space, remove the user space check and error. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit a3cf4ea8729a5d448742fd5a0a003827c9f25cb6 Author: Paul Mundt Date: Wed May 9 18:55:14 2007 +0900 sh: Fix stacktrace simplification fallout. When the stacktrace simplification changes went in the function definition on SH got skipped, fix it up so things build again. Signed-off-by: Paul Mundt commit 805f53f085346b6765eda02820721a14ce0d644f Merge: 23688e9... b85fe92... c5f1250... cc150b0... Author: Russell King Date: Wed May 9 10:41:28 2007 +0100 Merge branches 'armv7', 'at91', 'misc' and 'omap' into devel commit cc150b03ae79b20e4c023f71913c1225f8a19a6b Author: David Brownell Date: Wed Mar 28 16:38:14 2007 -0700 ARM: OMAP: Fix GCC-reported compile time bug Fix GCC-reported compile time bug which prevents booting when the framebuffer code is disabled. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 25ff0a653067eec56efc730dbed664d5cc77e9f3 Author: David Brownell Date: Wed Mar 28 13:21:20 2007 -0700 ARM: OMAP: restore CONFIG_GENERIC_TIME Somehow this got lost in a merge ... Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit e0b50d3c644f10a0022b23fccb58c8003741db52 Author: David Brownell Date: Wed Mar 28 13:09:36 2007 -0700 ARM: OMAP: partial LED fixes Partial fix for CONFIG_LEDS breakage ... at least allow platforms using the debug-leds support (H4 for now) to build with the generic LED support, and default the LED that would be the timer LED to trigger using the "heartbeat" (timer driven, rate depends on load). Right now only H2 and P2 seem to have working LED support; this at least makes H4 less broken. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b1465bf7098fa761962f09a6bb2c0e831af85e63 Author: Imre Deak Date: Tue Mar 6 03:52:01 2007 -0800 ARM: OMAP: add SoSSI clock (call propagate_rate for childrens) Clocks with the follow parent rate mode were not updating their children at propagate rate time. Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b7cc6d46b4f8157bfc58a6ed143ffa83575e236a Author: Imre Deak Date: Tue Mar 6 03:16:36 2007 -0800 ARM: OMAP: FB sync with N800 tree (support for dynamic SRAM allocations) - in addition to fixed FB regions - as passed by the bootloader - allow dynamic allocations - do some more checking against overlapping / reserved regions - move the FB specific parts out from sram.c to fb.c Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b01d96d653b1387ee0a91094ee54a8c523c3be09 Author: Kai Svahn Date: Thu Feb 1 16:19:15 2007 -0800 ARM: OMAP: Sync framebuffer headers with N800 tree This patch syncs framebuffer headers with N800 tree. Signed-off-by: Kai Svahn Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit d82973d1cdc149d06ac9685ae008105d382c4236 Author: Tony Lindgren Date: Fri Jan 26 12:01:17 2007 -0800 ARM: OMAP: Mostly cosmetic to sync up with linux-omap tree Mostly cosmetic to sync up with linux-omap tree Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 39b8e6986739c34da4e45eb4b8d2bb707292c591 Author: Tony Lindgren Date: Tue Dec 12 23:02:43 2006 -0800 ARM: OMAP: Fix gpmc header Fix gpmc header Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 340a614ac6766df18cba87ff7e66182193c2bd6d Author: Hiroshi DOYU Date: Thu Dec 7 15:43:59 2006 -0800 ARM: OMAP: Add mailbox support for IVA This patch adds a generic mailbox interface for for DSP and IVA (Image Video Accelerator). This patch itself doesn't contain any IVA driver. Signed-off-by: Hiroshi DOYU Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit ca3dd88e411648c76e1911a729440e3763ba5049 Author: David S. Miller Date: Wed May 9 02:35:27 2007 -0700 [SPARC64] PCI: Consolidate PCI access code into pci_common.c All the sun4u controllers do the same thing to compute the physical I/O address to poke, and we can move the sun4v code into this common location too. This one needs a bit of testing, in particular the Sabre code had some funny stuff that would break up u16 and/or u32 accesses into pieces and I didn't think that was needed any more. If it is we need to find out why and add back code to do it again. Signed-off-by: David S. Miller commit 23688e999eda70f1ce1c61a68b865b996e3c6c4c Author: Catalin Marinas Date: Tue May 8 22:45:26 2007 +0100 [ARM] armv7: add Makefile and Kconfig entries This patch adds the necessary lines to the Makefile and Kconfig files for enabling the compilation of the ARMv7 CPU support. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 065cf519c32984b7a78777aae3859baf5f5fd3d3 Author: Catalin Marinas Date: Wed May 9 09:50:23 2007 +0100 [ARM] armv7: add support for asid-tagged VIVT I-cache ARMv7 can have VIPT, PIPT or ASID-tagged VIVT I-cache. This patch adds the necessary invalidation of the I-cache when the ASID numbers are re-used. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 025257c7a7665a117b72097cc12021140eac8a34 Author: David Gibson Date: Wed May 9 17:13:31 2007 +1000 [MTD] [MAPS] Remove flash maps for no longer supported 405LP boards drivers/mtd/maps includes flash maps for the Beech and Arctic PowerPC 405LP based boards. However, the 405LP was discontinued before any quantity were distributed and those boards no longer have kernel support in general. Therefore, this patch removes this obsolete code. Signed-off-by: David Gibson Signed-off-by: David Woodhouse commit 2d0fa586facb740b9ef9a01dcedc94c126c6f148 Author: David Gibson Date: Wed May 9 11:55:51 2007 +1000 [MTD] [MAPS] Fix missing printk() parameter in physmap_of.c MTD driver Squashes a compiler warning, and provides more useful information in the case messed up device tree information. Signed-off-by: David Gibson Signed-off-by: David Woodhouse commit fc467a2623029976899261d6d379779c950ddcba Author: Manuel Lauss Date: Wed May 9 17:36:15 2007 +0900 sh: SH7760 DMABRG support. The DMABRG is a special DMA unit within the SH7760 which does data transfers from main memory to Audio units and USB shared memory. It has 3 IRQ lines which generate 10 events, which have to be masked unmasked and acked in a single 32bit register. It works independently from the tradition SH DMAC, but blocks usage of DMAC channel 0. This patch adds 2 functions to associate callbacks with DMABRG events and initialization. Signed-off-by: Manuel Lauss Signed-off-by: Paul Mundt commit 57be2b484a417bffae66359b9b89e7239480b729 Author: Paul Mundt Date: Wed May 9 17:33:24 2007 +0900 sh: clockevent/clocksource/hrtimers/nohz TMU support. This adds basic support for clockevents and clocksources, presently only implemented for TMU-based systems (which are the majority of SH-3 and SH-4 systems). The old NO_IDLE_HZ implementation is also dropped completely, the only users of this were on TMU-based systems anyways. More work needs to be done to generalize the TMU handling, in that the current implementation is rather tied to the notion of TMU0 and TMU1 utilization. Additionally, as more SH timers switch over to this scheme, we'll be able to gut most of the remaining system timer infrastructure that existed before. Signed-off-by: Paul Mundt commit 47cc3e780474be2e462278d63d77c27a493b28ed Author: Haavard Skinnemoen Date: Wed May 9 10:23:11 2007 +0200 [AVR32] Wire up sys_utimensat Tested with a slightly hacked version of the test case included with the original utimensat patch. All OK. Signed-off-by: Haavard Skinnemoen commit b3cfe0cb37ac7c3ca05a29e308f01c8eb27e06d4 Author: Haavard Skinnemoen Date: Wed May 9 09:26:18 2007 +0200 [AVR32] Fix section mismatch .taglist -> .init.text Rename .taglist to .taglist.init to silence section mismatch warnings. The .taglist.init section was already placed in the .init output section along with .init.text, so the warning didn't indicate any real problems. Signed-off-by: Haavard Skinnemoen commit 7bb2acb76e8168ca5d0bde5a5a56585a11b3525a Author: John Anthony Kazos Jr Date: Wed May 9 08:41:36 2007 +0200 sound: convert "sound" subdirectory to UTF-8 Convert the "sound" subdirectory to UTF-8. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 9ae5e3bc316e753d76950ded0ea75d77e9459ba6 Author: Simon Arlott Date: Wed May 9 08:38:10 2007 +0200 MAINTAINERS: Add cxacru website/mailing list Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 121e70b69aef898a3c02fa90d0a2108381bcf975 Author: John Anthony Kazos Jr Date: Wed May 9 08:30:57 2007 +0200 include files: convert "include" subdirectory to UTF-8 Convert the "include" subdirectory to UTF-8. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit f42df9e658be10ca10d0d9b19a0e9d484694f04f Author: John Anthony Kazos Jr Date: Wed May 9 08:23:08 2007 +0200 general: convert "kernel" subdirectory to UTF-8 Convert the "kernel" subdirectory of the tree to UTF-8. The only file modified is . Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit be2a608bd08ec00e19e14b322e07f443d2711084 Author: John Anthony Kazos Jr Date: Wed May 9 08:50:42 2007 +0200 documentation: convert the Documentation directory to UTF-8 Convert files within the Documentation directory to UTF-8. Adrian Bunk: small additional fixes Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit dd4ef01c4004410e6515d9dd0d92dec133c60b9b Author: John Anthony Kazos Jr Date: Wed May 9 08:06:37 2007 +0200 Convert the toplevel files CREDITS and MAINTAINERS to UTF-8. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 2c2a8c531e953c753b06605c8ad6a9161ca527fa Author: Markus Dahms Date: Wed May 9 07:58:10 2007 +0200 remove broken URLs from net drivers' output Remove broken URLs (www.scyld.com) from network drivers' logging output. URLs in comments and other strings are left intact. Signed-off-by: Markus Dahms Acked-by: Jesper Juhl Acked-by: Alan Cox igned-off-by: Adrian Bunk commit b96687768a9ac0fdd005c7700093ebb24b93450f Author: Jesper Juhl Date: Wed May 9 07:54:49 2007 +0200 Magic number prefix consistency change to Documentation/magic-number.txt Signed-off-by: Jesper Juhl Signed-off-by: Adrian Bunk commit a7bc02f4f47fd0e7860c6589f0ad000d1476f7a3 Author: Artem Bityutskiy Date: Wed May 9 07:53:16 2007 +0200 trivial: s/i_sem /i_mutex/ This patch substitutes i_sem by i_mutex in Documentation/filesystems/Locking. The patch also removes a couple of trailing white-spaces. Signed-off-by: Artem Bityutskiy Signed-off-by: Adrian Bunk commit 5886269962f94fa9185c32db3ec936c612503235 Author: Uwe Kleine-König Date: Wed May 9 07:51:49 2007 +0200 fix file specification in comments Many files include the filename at the beginning, serveral used a wrong one. Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 01afd80626e98c2347bc25be92ee4a3faf314514 Author: Márton Németh Date: Wed May 9 07:48:05 2007 +0200 drivers/base/platform.c: fix small typo in doc Typo: iwithout -> without. Signed-off-by: Márton Németh Signed-off-by: Adrian Bunk commit a982ac06b069f6ee9ea1b64f4ce68cdf2e138742 Author: Matt LaPlante Date: Wed May 9 07:35:06 2007 +0200 misc doc and kconfig typos Fix various typos in kernel docs and Kconfigs, 2.6.21-rc4. Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 148e423f909e14564d8af13239c5d060f7df273e Author: Alexander E. Patrakov Date: Wed May 9 07:31:54 2007 +0200 Remove obsolete fat_cvf help text The text removed by the following patch refers to functionality that never worked, to non-existing documentation file, and to mount options marked as obsolete in the module. Signed-off-by: Alexander E. Patrakov Signed-off-by: Adrian Bunk commit 59c51591a0ac7568824f541f57de967e88adaa07 Author: Michael Opdenacker Date: Wed May 9 08:57:56 2007 +0200 Fix occurrences of "the the " Signed-off-by: Michael Opdenacker Signed-off-by: Adrian Bunk commit a492dbb9e3d04db138f2841648d1904d38a5295d Author: Haavard Skinnemoen Date: Tue Mar 20 14:41:13 2007 +0100 [AVR32] Implement dma_{alloc,free}_writecombine() Implement dma_alloc_writecombine() and its dma_free_writecombine() counterpart. These will do basically the same thing as dma_alloc_coherent() except that the virtual mapping will allow write buffering, causing better performance for certain use cases like frame buffers. The same API is already available on ARM. Signed-off-by: Haavard Skinnemoen commit e89b064a4fd18b9c57b7aecbe7101d782759cf81 Author: Thomas Gleixner Date: Sun Apr 29 16:10:34 2007 +0000 AVR32: Spinlock initializer cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Haavard Skinnemoen commit c19aa754f32ff1dd7cb8e96454f5eba95c20585e Author: Haavard Skinnemoen Date: Mon Apr 30 17:15:46 2007 +0200 [AVR32] Use correct config symbol when setting cpuflags As Robert P. J. Day pointed out, the CONFIG_CPU_AT32AP7000 symbol wasn't used for anything. It should have been used to select the correct -mcpu= options for CFLAGS. -mcpu=ap7000 is the default anyway, so this patch shouldn't really make any difference, but it's always nice to do things correctly. Signed-off-by: Haavard Skinnemoen commit f1a1eb299a8422c3e8d41753095bec44b2493398 Author: David Gibson Date: Wed May 9 15:20:37 2007 +1000 [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32 Commit d1953c8888ef034b912ee33bc2ea2cce6a414402 removed the use of 4level-fixup.h for 32-bit systems under arch/powerpc. However, I missed a few things activated on some configurations, resulting in some warnings (at least with STRICT_MM_TYPECHECKS enabled) and build errors in some circumstances. This fixes it. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit fcf9892b553ba638e6c8f9b6a140c99927c69693 Author: Linas Vepstas Date: Wed May 9 09:36:21 2007 +1000 [POWERPC] EEH: log all PCI-X and PCI-E AER registers When an EEH event is detected, and after the device driver has been notified, but before the device is reset, enable MMIO to the adapter, and grab the contents of the PCI status and command registers, the PCI-X status and command, and the PCI-E capability 10 and AER registers. Pass these up to the RTAS error log, and also printk them. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d99bb1db798f49eacb27e087da7e62433361174d Author: Linas Vepstas Date: Wed May 9 09:35:32 2007 +1000 [POWERPC] EEH: capture and log pci state on error If an EEH event is observed, capture PCI config space info about the device, wrap it up and pass it to the event logger. This pach just slots in the basic logging function. A later patch will provide for more through data gathering. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit b455b24cf2512e9578a4ddd66ec91c3100c78127 Author: Linas Vepstas Date: Wed May 9 09:34:40 2007 +1000 [POWERPC] EEH: Split up long error msg Make some minor adjustments to the EEH error messages. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit ede8ca269f9f3e3fa4fb8561671f0699eefc32c5 Author: Linas Vepstas Date: Wed May 9 09:33:29 2007 +1000 [POWERPC] EEH: log error only after driver notification. It turns out many/most versions of firmware enable MMIO when the slto-error-detail rtas call is made (in violation of the architecture). Thus, it would be best to call slot-error-detail only after notifying device drivers of a freeze, as otherwise, a variety of strange and unexpected things may happen. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit b7a6912969af7586ade62667d6d1c7ecc534faa1 Author: Scott Wood Date: Wed May 9 03:15:34 2007 +1000 [POWERPC] fsl_soc: Make mac_addr const in fs_enet_of_init(). of_get_mac_address() returns a const pointer, so the result should be stored in a const pointer. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 517e22638c282bb07c52a11f928961ed4822196b Author: Hugh Dickins Date: Wed May 9 14:38:48 2007 +1000 [POWERPC] Don't use SLAB/SLUB for PTE pages The SLUB allocator relies on struct page fields first_page and slab, overwritten by ptl when SPLIT_PTLOCK: so the SLUB allocator cannot then be used for the lowest level of pagetable pages. This was obstructing SLUB on PowerPC, which uses kmem_caches for its pagetables. So convert its pte level to use normal gfp pages (whereas pmd, pud and 64k-page pgd want partpages, so continue to use kmem_caches for pmd, pud and pgd). Signed-off-by: Hugh Dickins Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f1fa74f4afe96b0e4ac2beaa61fa4f4667acdcbb Author: Benjamin Herrenschmidt Date: Tue May 8 16:27:29 2007 +1000 [POWERPC] Spufs support for 64K LS mappings on 4K kernels This adds an option to spufs when the kernel is configured for 4K page to give it the ability to use 64K pages for SPE local store mappings. Currently, we are optimistic and try order 4 allocations when creating contexts. If that fails, the code will fallback to 4K automatically. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 16c2d476232523260c495eafbf9cdc1be984b7df Author: Benjamin Herrenschmidt Date: Tue May 8 16:27:28 2007 +1000 [POWERPC] Add ability to 4K kernel to hash in 64K pages This adds the ability for a kernel compiled with 4K page size to have special slices containing 64K pages and hash the right type of hash PTEs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d0f13e3c20b6fb73ccb467bdca97fa7cf5a574cd Author: Benjamin Herrenschmidt Date: Tue May 8 16:27:27 2007 +1000 [POWERPC] Introduce address space "slices" The basic issue is to be able to do what hugetlbfs does but with different page sizes for some other special filesystems; more specifically, my need is: - Huge pages - SPE local store mappings using 64K pages on a 4K base page size kernel on Cell - Some special 4K segments in 64K-page kernels for mapping a dodgy type of powerpc-specific infiniband hardware that requires 4K MMU mappings for various reasons I won't explain here. The main issues are: - To maintain/keep track of the page size per "segment" (as we can only have one page size per segment on powerpc, which are 256MB divisions of the address space). - To make sure special mappings stay within their allotted "segments" (including MAP_FIXED crap) - To make sure everybody else doesn't mmap/brk/grow_stack into a "segment" that is used for a special mapping Some of the necessary mechanisms to handle that were present in the hugetlbfs code, but mostly in ways not suitable for anything else. The patch relies on some changes to the generic get_unmapped_area() that just got merged. It still hijacks hugetlb callbacks here or there as the generic code hasn't been entirely cleaned up yet but that shouldn't be a problem. So what is a slice ? Well, I re-used the mechanism used formerly by our hugetlbfs implementation which divides the address space in "meta-segments" which I called "slices". The division is done using 256MB slices below 4G, and 1T slices above. Thus the address space is divided currently into 16 "low" slices and 16 "high" slices. (Special case: high slice 0 is the area between 4G and 1T). Doing so simplifies significantly the tracking of segments and avoids having to keep track of all the 256MB segments in the address space. While I used the "concepts" of hugetlbfs, I mostly re-implemented everything in a more generic way and "ported" hugetlbfs to it. Slices can have an associated page size, which is encoded in the mmu context and used by the SLB miss handler to set the segment sizes. The hash code currently doesn't care, it has a specific check for hugepages, though I might add a mechanism to provide per-slice hash mapping functions in the future. The slice code provide a pair of "generic" get_unmapped_area() (bottomup and topdown) functions that should work with any slice size. There is some trickiness here so I would appreciate people to have a look at the implementation of these and let me know if I got something wrong. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 16f1c746755836aa823658000493cdab8ce7b098 Author: Benjamin Herrenschmidt Date: Tue May 8 16:27:27 2007 +1000 [POWERPC] Small fixes & cleanups in segment page size demotion The code for demoting segments to 4K had some issues, like for example, when using _PAGE_4K_PFN flag, the first CPU to hit it would do the demotion, but other CPUs hitting the same page wouldn't properly flush their SLBs if mmu_ci_restriction isn't set. There are also potential issues with hash_preload not handling _PAGE_4K_PFN. All of these are non issues on current hardware but might bite us in the future. This patch thus fixes it by: - Taking the test comparing the mm and current CPU context page sizes to decide to flush SLBs out of the mmu_ci_restrictions test since that can also be triggered by _PAGE_4K_PFN pages - Due to the above being done all the time, demote_segment_4k doesn't need update the context and flush the SLB - demote_segment_4k can be static and doesn't need an EXPORT_SYMBOL - Making hash_preload ignore anything that has either _PAGE_4K_PFN or _PAGE_NO_CACHE set, thus avoiding duplication of the complicated logic in hash_page() (and possibly making hash_preload a little bit faster for the normal case). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b15f792fafb7e0524907ddd9e035d73dddeed89c Author: Stephen Rothwell Date: Tue May 8 15:05:31 2007 +1000 [POWERPC] iSeries: Make HVC_ISERIES the default This makes the new iSeries virtual console drivers (nvc_iseries) the default and prevents viocons being built unless explicitly selected. Also it makes no sense to have the console as a module. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8cf44080ebc372d4d0d2997a0c015add0afcd65d Author: Stephen Rothwell Date: Thu May 3 15:19:05 2007 +1000 [POWERPC] iSeries: suppress build warning in lparmap.c lparmap.c: Assembler messages: lparmap.c:51: Warning: ignoring changed section attributes for .text Idea from Segher Boessenkool. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4e8ad3e816cca76ff8550e531103fc5e20471654 Author: Johannes Berg Date: Tue May 8 19:25:00 2007 +1000 [POWERPC] Mark pages that don't exist as nosave On some powerpc architectures (notably 64-bit powermac) there is a memory hole, for example on powermacs between 2G and 4G. Since we use the flat memory model regardless, these pages must be marked as nosave (for suspend to disk.) Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 940d67f6b95166475ff6e600ef7658e1cd441278 Author: Johannes Berg Date: Tue May 8 19:23:49 2007 +1000 [POWERPC] swsusp: Introduce register_nosave_region_late This patch introduces a new register_nosave_region_late function that can be called from initcalls when register_nosave_region can no longer be used because it uses bootmem. Signed-off-by: Johannes Berg Acked-by: Rafael J. Wysocki Signed-off-by: Paul Mackerras commit 02a3e59a088749c08b0293ee1535f5bf48f5926c Author: Robert P. J. Day Date: Wed May 9 07:26:28 2007 +0200 Fix minor typoes in kernel/module.c Fix minor (comment) typoes in kernel/module.c. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit b0e37650404b2302416ad3dbe649fdecba8d35d4 Author: Robert P. J. Day Date: Wed May 9 07:25:13 2007 +0200 Kconfig: Remove reference to external mqueue library Remove the reference to an external mqueue library since that was merged into glibc in 2004. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit fd2dbc92e318ee9d306c4c3f393eef7294a5a30c Author: Robert P. J. Day Date: Wed May 9 07:23:41 2007 +0200 Kconfig: A couple of grammatical fixes in arch/i386/Kconfig Fix a couple grammatical errors in arch/i386/Kconfig. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c685ce059d42ebda7822786498dfd366695457f6 Author: Robert P. J. Day Date: Wed May 9 07:21:11 2007 +0200 Correct comments in genrtc.c to refer to correct /proc file. Correct documentation in genrtc.c to refer to the correct /proc file that's used to export information: /proc/driver/rtc. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 8b60756a628a73bc8bf8b59d8716cb3f09b7e7eb Author: Randy Dunlap Date: Wed May 9 07:19:14 2007 +0200 Fix more "deprecated" spellos. Signed-off-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 1591275cb57bc5df7ff59774b85c8af84bc45e87 Author: Robert P. J. Day Date: Wed May 9 07:18:01 2007 +0200 Fix "deprecated" typoes. Fix remaining misspellings of "depreciated" to "deprecated." Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit beb7dd86a101263bf63a78c7c6d4da3849b35bd6 Author: Robert P. J. Day Date: Wed May 9 07:14:03 2007 +0200 Fix misspellings collected by members of KJ list. Fix the misspellings of "propogate", "writting" and (oh, the shame :-) "kenrel" in the source tree. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 3dde6ad8fc3939d345a3768464ecff43c91d511a Author: David Sterba Date: Wed May 9 07:12:20 2007 +0200 Fix trivial typos in Kconfig* files Fix several typos in help text in Kconfig* files. Signed-off-by: David Sterba Signed-off-by: Adrian Bunk commit ccf6780dc3d228f380e17b6858b93fc48e40afd4 Author: WANG Cong Date: Wed May 9 07:10:02 2007 +0200 Style fix in fs/select.c Signed-off-by: WANG Cong Signed-off-by: Adrian Bunk commit d3e6975e0f25044c4c86f5a42c9917090973636b Author: Randy Dunlap Date: Wed May 9 07:02:59 2007 +0200 devres: kernel-doc and DocBook Make devres.c ready for adding to DocBook. Add devres.c to DocBook. Signed-off-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 0f8952c2fa981c75dbbb363ac83b320068fffa69 Author: Ronni Nielsen Date: Wed May 9 06:44:57 2007 +0200 fs/libfs.c: >80 columns line break fix Signed-off-by: Ronni Nielsen Signed-off-by: Adrian Bunk commit 1ce7ddd5f4cc754b6afe9eec5cee89ede75348ea Author: Paul Mundt Date: Wed May 9 13:20:52 2007 +0900 sh: Truncate MAX_ACTIVE_REGIONS for the common case. Most SH platforms aren't going to need more than a single active region, ones that need more can pad this out as necessary. Signed-off-by: Paul Mundt commit de372ecd80a42c4fb485c7232475301a18d05184 Author: H. Peter Anvin Date: Tue May 8 20:37:02 2007 -0700 Documentation/i386/boot.txt: update and correct In the process of rewriting the x86 setup code, I found a number of inaccuracies and outdated recommendations in the boot protocol documentation. Revamp to make it more up to date. In particular, the common use of the heap actually requires (slightly) more than 4K of heap plus stack, which is the recommended amount in the document; currently the code compensates by being smaller than specified, but we can't assume that will be true forever. Thus, recommend that if we have a modern bzImage kernel, that the bootloader maximizes the available space. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit d5f9f942c601fdebe57f7805e4b4fbad9c28ada8 Author: Andrew Morton Date: Tue May 8 20:27:06 2007 -0700 revert 'sched: redundant reschedule when set_user_nice() boosts a prio of a task from the "expired" array' Revert commit bd53f96ca54a21c07e7a0ae1886fa623d370b85f. Con says: This is no good, sorry. The one I saw originally was with the staircase deadline cpu scheduler in situ and was different. #define TASK_PREEMPTS_CURR(p, rq) \ ((p)->prio < (rq)->curr->prio) (((p)->prio < (rq)->curr->prio) && ((p)->array == (rq)->active)) This will fail to wake up a runqueue for a task that has been migrated to the expired array of a runqueue which is otherwise idle which can happen with smp balancing, Cc: Dmitry Adamushko Cc: Con Kolivas Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da4e8ca376a1b3dca470eba14dcec321a6a27b8b Author: Jean Delvare Date: Tue May 8 20:27:05 2007 -0700 applesmc: Use standard sysfs names for labels We have a standard suffix to associate a designation string to a sensor: _label. Use it instead of _position so that libsensors will catch it. (This isn't implemented yet, but should be soon.) Signed-off-by: Jean Delvare Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddfbf2afd538b38139267f71a185eb9434465440 Author: Jean Delvare Date: Tue May 8 20:27:04 2007 -0700 applesmc: Use the address as platform device ID Let the applesmc device export its address to userspace. libsensors needs this to recognize the device and give it a unique ID. Signed-off-by: Jean Delvare Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21d364954f5a2a97b4e378f34a13fbf296aa16ec Author: Tilman Schmidt Date: Tue May 8 20:27:03 2007 -0700 usb_gigaset: don't kmalloc(0) Zero-sized allocations are pointless anyway, and the SLUB allocator complains about them, so stop doing that. Signed-off-by: Tilman Schmidt Signed-off-by: Hansjoerg Lipp Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b590d2baf17f8890f648e76436abdb8674d564eb Author: Geert Uytterhoeven Date: Tue May 8 20:27:03 2007 -0700 m68k: needs The recent cleanup uncovered that include/asm-m68k/scatterlist.h needs to include Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5616df204ecf164ef2b124a17fd3cadd87954628 Author: David Howells Date: Tue May 8 20:27:02 2007 -0700 FRV: Miscellaneous fixes Miscellaneous fixes to bring FRV up to date: (1) Copy the new syscall numbers from i386 to asm-frv/unistd.h and fill out the syscall table in entry.S too. (2) Mark __frv_uart0 and __frv_uart1 __pminitdata rather than __initdata so that determine_clocks() can access them when CONFIG_PM=y. (3) Make arch/frv/mm/elf-fdpic.c include asm/mman.h so that MAP_FIXED is available (fixes commit 2fd3bebaad9da3b3b99c46a3389099424bf7ee35). Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b8df8915a6980f476e1fa8f4d156e36cb63bf76 Author: David Rientjes Date: Tue May 8 20:27:01 2007 -0700 smaps: only define clear_refs for CONFIG_MMU /proc/pid/clear_refs is only defined in the CONFIG_MMU case, so make sure we don't have any references to clear_refs_smap() in generic procfs code. Signed-off-by: David Rientjes Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e81ab9d3d9a22fb7b20c56f0cabc8ef51954014 Author: Yasunori Goto Date: Tue May 8 20:27:01 2007 -0700 Fix unnecesary meminit This is to fix unnecessary __meminit definition. These are exported for kernel modules. I compiled on ia64/x86-64 with memory hotplug on/off. Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a361a68bc510b91b50462433cfa65c6b620a80c3 Author: Paul Mundt Date: Wed May 9 12:37:53 2007 +0900 rtc: rtc-sh: Fix rtc_dev pointer for rtc_update_irq(). When the rtc_update_irq() callsites stopped passing in the class_dev, the rtc_dev references weren't fixed. Fix it up, so we pass in the proper pointer. Signed-off-by: Paul Mundt commit f4ebc993759dc25dc3db6b6f1a13a23df8264d4b Merge: 0c23664... 1605b84... Author: Linus Torvalds Date: Tue May 8 20:33:59 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cryptomgr: Fix use after free commit 0c23664ee8c42f247dba7ceb620baabd892cef88 Merge: 6ec129c... 127cda1... Author: Linus Torvalds Date: Tue May 8 20:32:43 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Optimize fault kprobe handling just like powerpc. [SPARC]: Wire up utimensat syscall. [SPARC64]: Fix request_irq() ignored result warnings in PCI controller code. [SPARC64]: Kill asm-sparc64/pbm.h [ATYFB]: Fix sparc includes. [QLA2XXX]: Fix build on sparc. [SPARC64]: Removal of trivial pci_controller_info uses. [SPARC64]: Move index info pci_pbm_info. [SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info. [SPARC64]: Move pci_ops into pci_pbm_info. [SPARC64] SBUS: Error interrupt registry cleanups. [SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's [SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX. [SPARC64] PCI: Use common routine to fetch PBM properties. commit 6ec129c3a2f8b38bc37e42348470ccfcb7460146 Merge: 01e73be... b64ddf9... Author: Linus Torvalds Date: Tue May 8 20:32:16 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (58 commits) [SCSI] zfcp: clear boxed flag on unit reopen. [SCSI] zfcp: clear adapter failed flag if an fsf request times out. [SCSI] zfcp: rework request ID management. [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI [SCSI] zfcp: Locking for req_no and req_seq_no [SCSI] zfcp: print S_ID and D_ID with 3 bytes [SCSI] ipr: Use PCI-E reset API for new ipr adapter [SCSI] qla2xxx: Update version number to 8.01.07-k7. [SCSI] qla2xxx: Add MSI support. [SCSI] qla2xxx: Correct pci_set_msi() usage semantics. [SCSI] qla2xxx: Attempt to stop firmware only if it had been previously executed. [SCSI] qla2xxx: Honor NVRAM port-down-retry-count settings. [SCSI] qla2xxx: Error-out during probe() if we're unable to complete HBA initialization. [SCSI] zfcp: Stop system after memory corruption [SCSI] mesh: cleanup variable usage in interrupt handler [SCSI] megaraid: replace yield() with cond_resched() [SCSI] megaraid: fix warnings when CONFIG_PROC_FS=n [SCSI] aacraid: correct SUN products to README [SCSI] aacraid: superfluous adapter reset for IBM 8 series ServeRAID controllers [SCSI] aacraid: kexec fix (reset interrupt handler) ... commit 01e73be3c8f254ef19d787f9b6757468175267eb Author: Linus Torvalds Date: Tue May 8 20:12:30 2007 -0700 Revert "fbdev: ignore VESA modes if framebuffer is disabled" This reverts commit 464bdd33e9baad9806c7adbd8dfc37081a55f27e. Peter Anvin correctly points out that VESA modes have nothing to do with frame buffers per se - they are often just regular extended text modes. Disabling them just because we don't have frame buffer support is very wrong. Cc: H. Peter Anvin Cc: Antonino A. Daplas , Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 7b82dc0e64e93f430182f36b46b79fcee87d3532 Author: Linus Torvalds Date: Tue May 8 20:10:00 2007 -0700 Remove suid/sgid bits on [f]truncate() .. to match what we do on write(). This way, people who write to files by using [f]truncate + writable mmap have the same semantics as if they were using the write() family of system calls. Signed-off-by: Linus Torvalds commit 1605b8471d64c855bc2493abf3adf6a1ebc3e645 Author: Herbert Xu Date: Wed May 9 13:04:39 2007 +1000 [CRYPTO] cryptomgr: Fix use after free By the time kthread_run returns the param may have already been freed so writing the returned thread_struct pointer to param is wrong. In fact, we don't need it in param anyway so this patch simply puts it on the stack. Signed-off-by: Herbert Xu commit b118ca572db5af832c6fc1af7b301105378d1a08 Author: Paul Mundt Date: Wed May 9 10:55:38 2007 +0900 sh: Convert to common die chain. This went in immediately after SH added the die chain notifiers, so move over to that instead.. Signed-off-by: Paul Mundt commit 21ec4c6453790cb9bfa996ab8f27f22dd47c516a Author: Paul Mundt Date: Wed May 9 10:42:48 2007 +0900 sh: Wire up utimensat syscall. Signed-off-by: Paul Mundt commit f6a3c1ca00ce9a43942364a0cc15601b291df281 Author: kogiidena Date: Tue May 8 20:49:46 2007 +0900 sh: landisk mv_nr_irqs definition. Fix up the landisk build. When NR_IRQS was removed, landisk got missed in the updates. Update the machvec for the landisk IRQs to get it working again. Signed-off-by: kogiidena Signed-off-by: Paul Mundt commit c71861e65e2898850478a7ac6c4b8cc9f7007e9e Author: kogiidena Date: Tue May 8 20:45:46 2007 +0900 sh: Fixup ndelay() xloops calculation for alternate HZ. Currently the xloops calculation in ndelay() gets set to 0 when calculated with HZ=250, fix up how we do the HZ factoring in order to get this right for differing values. Signed-off-by: kogiidena Signed-off-by: Paul Mundt commit 074f98df0547b7d15f78db9a17e985da0c22af28 Author: Paul Mundt Date: Tue May 8 15:45:33 2007 +0900 sh: Add 32-bit opcode feature CPU flag. Add a CPU flag for the CPUs that support 32-bit opcodes, which gets passed down to userspace. Signed-off-by: Paul Mundt commit 53f983a90d7908bcece51f86180c7c9b575a1e4d Author: Paul Mundt Date: Tue May 8 15:31:48 2007 +0900 sh: Fix PC adjustments for varying opcode length. There are a few different cases for figuring out how to size the instruction. We read in the instruction located at regs->pc - 4 when rewinding the opcode to figure out if there's a 32-bit opcode before the faulting instruction, with a default of a - 2 adjustment on a mismatch. In practice this works for the cases where pc - 4 is just another 16-bit opcode, or we happen to have a 32-bit and a 16-bit immediately preceeding the pc value. In the cases where we aren't rewinding, this is much less ugly.. We also don't bother fixing up the places where we're explicitly dealing with 16-bit instructions, since this might lead to confusion regarding the encoding size possibilities on other CPU variants. Signed-off-by: Paul Mundt commit bd0799977cb9b68aa6a39e9630aeea4778a58385 Author: Paul Mundt Date: Tue May 8 14:50:59 2007 +0900 sh: Support for SH-2A 32-bit opcodes. SH-2A supports both 16 and 32-bit instructions, add a simple helper for figuring out the instruction size in the places where there are hardcoded 16-bit assumptions. Signed-off-by: Paul Mundt commit 51c8b856f5edfa45d956721aa6d6ebaa15699062 Author: Paul Mundt Date: Tue May 8 13:16:57 2007 +0900 sh: Kill off redundant __div64_32 symbol export. modpost noticed that __div64_32 was being exported twice: WARNING: lib/built-in: '__div64_32' exported twice. Previous export was in arch/sh/kernel/built-in.ko kill off the duplicate. Signed-off-by: Paul Mundt commit 00bf0610e4cdbb9fd79ce4718e12b24cd7876dd7 Author: Paul Mundt Date: Tue May 8 13:01:37 2007 +0900 sh: Share exception vector table for SH-3/4. The only difference between these at the moment are the FPU exceptions, and these are hidden away under CONFIG_SH_FPU (which is only set for the SH-4 case anyways..). This consolidates the two tables, and updates SH-4 to use the updated copy. Signed-off-by: Paul Mundt commit 44530c696b3fc2c8a45bdc798af85528e065ed80 Author: Paul Mundt Date: Tue May 8 12:14:54 2007 +0900 sh: Always define TRAPA_BUG_OPCODE. Previously this was only set when CONFIG_BUG=y. While we rely on that for handle_BUG() dispatch, we still want to hand the opcode off to the die chain notifier for determining the trap value. Signed-off-by: Paul Mundt commit 1039b9a9d830e906efa770db75db8a3e11c47c1a Author: Paul Mundt Date: Tue May 8 12:07:21 2007 +0900 sh: __GFP_REPEAT for pte allocations, too. This got dropped in the quicklist conversion, add it back in.. Signed-off-by: Paul Mundt commit 435c55d1ef3ec5460fab8c332a693ef5fad18454 Author: Paul Mundt Date: Tue May 8 11:56:27 2007 +0900 rtc: rtc-sh: Fix up dev_dbg() warnings. Signed-off-by: Paul Mundt commit 5f8c9908f200b775a3d6c345bc6f3e928e2426a9 Author: Paul Mundt Date: Tue May 8 11:55:21 2007 +0900 sh: generic quicklist support. This moves SH over to the generic quicklists. As per x86_64, we have special mappings for the PGDs, so these go on their own list.. Signed-off-by: Paul Mundt commit 127cda1e8cc282de1ca7a9dcc3866841977b9fcc Author: David S. Miller Date: Tue May 8 18:25:14 2007 -0700 [SPARC64]: Optimize fault kprobe handling just like powerpc. And eliminate DIE_GPF while we're at it. Signed-off-by: David S. Miller commit 225c7b1feef1b41170f7037a5b10a65cd8a42c54 Author: Roland Dreier Date: Tue May 8 18:00:38 2007 -0700 IB/mlx4: Add a driver Mellanox ConnectX InfiniBand adapters Add an InfiniBand driver for Mellanox ConnectX adapters. Because these adapters can also be used as ethernet NICs and Fibre Channel HBAs, the driver is split into two modules: mlx4_core: Handles low-level things like device initialization and processing firmware commands. Also controls resource allocation so that the InfiniBand, ethernet and FC functions can share a device without stepping on each other. mlx4_ib: Handles InfiniBand-specific things; plugs into the InfiniBand midlayer. Signed-off-by: Roland Dreier commit 1bf66a30421ca772820f489d88c16d0c430d6a67 Author: Roland Dreier Date: Wed Apr 18 20:20:28 2007 -0700 IB: Put rlimit accounting struct in struct ib_umem When memory pinned with ib_umem_get() is released, ib_umem_release() needs to subtract the amount of memory being unpinned from mm->locked_vm. However, ib_umem_release() may be called with mm->mmap_sem already held for writing if the memory is being released as part of an munmap() call, so it is sometimes necessary to defer this accounting into a workqueue. However, the work struct used to defer this accounting is dynamically allocated before it is queued, so there is the possibility of failing that allocation. If the allocation fails, then ib_umem_release has no choice except to bail out and leave the process with a permanently elevated locked_vm. Fix this by allocating the structure to defer accounting as part of the original struct ib_umem, so there's no possibility of failing a later allocation if creating the struct ib_umem and pinning memory succeeds. Signed-off-by: Roland Dreier commit f7c6a7b5d59980b076abbf2ceeb8735591290285 Author: Roland Dreier Date: Sun Mar 4 16:15:11 2007 -0800 IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules Export ib_umem_get()/ib_umem_release() and put low-level drivers in control of when to call ib_umem_get() to pin and DMA map userspace, rather than always calling it in ib_uverbs_reg_mr() before calling the low-level driver's reg_user_mr method. Also move these functions to be in the ib_core module instead of ib_uverbs, so that driver modules using them do not depend on ib_uverbs. This has a number of advantages: - It is better design from the standpoint of making generic code a library that can be used or overridden by device-specific code as the details of specific devices dictate. - Drivers that do not need to pin userspace memory regions do not need to take the performance hit of calling ib_mem_get(). For example, although I have not tried to implement it in this patch, the ipath driver should be able to avoid pinning memory and just use copy_{to,from}_user() to access userspace memory regions. - Buffers that need special mapping treatment can be identified by the low-level driver. For example, it may be possible to solve some Altix-specific memory ordering issues with mthca CQs in userspace by mapping CQ buffers with extra flags. - Drivers that need to pin and DMA map userspace memory for things other than memory regions can use ib_umem_get() directly, instead of hacks using extra parameters to their reg_phys_mr method. For example, the mlx4 driver that is pending being merged needs to pin and DMA map QP and CQ buffers, but it does not need to create a memory key for these buffers. So the cleanest solution is for mlx4 to call ib_umem_get() in the create_qp and create_cq methods. Signed-off-by: Roland Dreier commit 6c1142602c9c8faedbc1321892a169652a173fc7 Author: David S. Miller Date: Tue May 8 17:50:14 2007 -0700 [SPARC]: Wire up utimensat syscall. Signed-off-by: David S. Miller commit af80318eb71e234a59957cd1d2d7c3fa2ea27313 Author: David S. Miller Date: Tue May 8 17:23:31 2007 -0700 [SPARC64]: Fix request_irq() ignored result warnings in PCI controller code. Signed-off-by: David S. Miller commit c57c2ffb153a99769a15a2ff1729371ddee5601a Author: David S. Miller Date: Tue May 8 00:43:56 2007 -0700 [SPARC64]: Kill asm-sparc64/pbm.h Everything it contains can be hidden in pci_impl.h Signed-off-by: David S. Miller commit 63c3f460cb47c2e06f1726e18534d0e1fe8652a7 Author: David S. Miller Date: Tue May 8 00:37:23 2007 -0700 [ATYFB]: Fix sparc includes. No need to use asm/pbm.h here. Signed-off-by: David S. Miller commit 15576bc8adb33d58867942385ae849cc48379610 Author: David S. Miller Date: Tue May 8 00:36:49 2007 -0700 [QLA2XXX]: Fix build on sparc. We now use pci_device_to_OF_node() to get properties and of_get_property() returns const pointers. Signed-off-by: David S. Miller commit 28113a9941c8cb6ca90ab4a66876db84342a084b Author: David S. Miller Date: Tue May 8 00:19:02 2007 -0700 [SPARC64]: Removal of trivial pci_controller_info uses. Signed-off-by: David S. Miller commit 6c108f1299754877bb5f73ccac5621eb603b97eb Author: David S. Miller Date: Mon May 7 23:49:01 2007 -0700 [SPARC64]: Move index info pci_pbm_info. Signed-off-by: David S. Miller commit e9870c4c0aef94580e28be11a1c6246dcabbe528 Author: David S. Miller Date: Mon May 7 23:28:50 2007 -0700 [SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info. Signed-off-by: David S. Miller commit f1cd8de2c951e206b57fd76aff279cf13ea25815 Author: David S. Miller Date: Mon May 7 23:24:05 2007 -0700 [SPARC64]: Move pci_ops into pci_pbm_info. Signed-off-by: David S. Miller commit 96a496fd49fb2c3178128237ae4691b7c7df3a3d Author: David S. Miller Date: Mon May 7 23:08:39 2007 -0700 [SPARC64] SBUS: Error interrupt registry cleanups. Do not use IRQF_SHARED, these interrupt numbers should all be unique. Also use name strings without spaces in them just like PCI controller drivers do, for consistency. Signed-off-by: David S. Miller commit 34768bc8329194b14e42ee408a84edfa40059046 Author: David S. Miller Date: Mon May 7 23:06:27 2007 -0700 [SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's The idea is to move more and more things into the pbm, with the eventual goal of eliminating the pci_controller_info entirely as there really isn't any need for it. This stage of the transformations requires some reworking of the PCI error interrupt handling. It might be tricky to get rid of the pci_controller_info parenting for a few reasons: 1) When we get an uncorrectable or correctable error we want to interrogate the IOMMU and streaming cache of both PBMs for error status. These errors come from the UPA front-end which is shared between the two PBM PCI bus segments. Historically speaking this is why I choose the datastructure hierarchy of pci_controller_info-->pci_pbm_info 2) The probing does a portid/devhandle match to look for the 'other' pbm, but this is entirely an artifact and can be eliminated trivially. What we could do to solve #1 is to have a "buddy" pointer from one pbm to another. Signed-off-by: David S. Miller commit 5a4a3e592d0d66653297049373caa7ac5b4febe0 Author: David S. Miller Date: Mon May 7 21:54:28 2007 -0700 [SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX. They are totally unused. Signed-off-by: David S. Miller commit cfa0652c4eb4ca37f88fcdd7d871cf98d9d98c0e Author: David S. Miller Date: Mon May 7 21:51:41 2007 -0700 [SPARC64] PCI: Use common routine to fetch PBM properties. Namely bus-range and ino-bitmap. This allows us also to eliminate pci_controller_info's pci_{first,last}_busno fields as only the pbm ones are used now. Signed-off-by: David S. Miller commit e180583b85f4a48bd55924712c88e5d8eb182e08 Author: Alexey Kuznetsov Date: Tue May 8 15:57:59 2007 -0700 [IA64] wire up pselect, ppoll Signed-off-by: Alexey Kuznetsov Signed-off-by: Alexey Dobriyan Signed-off-by: Tony Luck commit 56163fcf194fb688fcf3cefa9b90c5ad41f74059 Author: Catalin Marinas Date: Tue May 8 22:53:44 2007 +0100 [ARM] armv7: add dedicated ARMv7 barrier instructions Starting with ARMv7, there are dedicated instruction for the ISB, DSB and DMB barriers and there is no need to execute them as CP15 operations. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit aaf83acba9fb1f93d2e656c7e4dda4e38c1cb490 Author: Catalin Marinas Date: Tue May 8 22:38:40 2007 +0100 [ARM] armv7: Add ARMv7 cacheid macros This patch renames the old __cacheid_* macros to __cacheid_*_prev7 and adds support for the new format. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit bbe888864ec32435e93923c40b9d6ce2bb73844b Author: Catalin Marinas Date: Tue May 8 22:27:46 2007 +0100 [ARM] armv7: add support for ARMv7 cores. This patch adds support for the ARMv7 cores. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 4a177cbf84f827cf9f1d6cfa5264fafd3cc33ce0 Author: Alexey Dobriyan Date: Tue Jan 23 19:03:17 2007 +0300 [IA64] Add TIF_RESTORE_SIGMASK Preparation for pselect and ppoll. ia32 compat code not tested. :-( Signed-off-by: Alexey Kuznetsov Signed-off-by: Alexey Dobriyan Signed-off-by: Tony Luck commit 690def21414fa43fac1b8053fd952c0366c476de Author: Kirill Korotaev Date: Mon Mar 19 14:04:20 2007 +0300 [IA64] unwind did not work for processes born with CLONE_STOPPED Minor problem for mainstream. Big problem for checkpoint/restore, because all the stopped/traced processes are born in this state, hence they cannot be checkpointed again due to failing unwind. The problem was identified as assumption in kernel unwind library that top level frame is different of syscall frame. It is the case unless process was born with CLONE_STOPPED. Author: Alexey Kuznetsov Signed-Off-By: Alexey Kuznetsov Signed-Off-By: Kirill Korotaev Signed-off-by: Tony Luck commit 3be44b9cc33d26930cb3bb014f35f582c6522481 Author: Jack Steiner Date: Tue May 8 14:50:43 2007 -0700 [IA64] Optional method to purge the TLB on SN systems This patch adds an optional method for purging the TLB on SN IA64 systems. The change should not affect any non-SN system. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit c5f125031f416ba6350e84462e9039737b6e2bab Author: Kevin Welton Date: Tue May 8 22:05:25 2007 +0100 [ARM] Fix ARM branch relocation range Branches in the ARM architecture are restricted to a range of +/- 32MB. However, the code in .../arch/arm/kernel/module.c::apply_relocate() was checking offset against a range of +/- 64MB. Signed-off-by: Kevin Welton Signed-off-by: Russell King commit 1efd48b3ae8f89a1d04f1e36be96764d7bf43ae9 Author: Pierre Ossman Date: Tue May 8 22:35:17 2007 +0200 mmc: use lock instead of claim in debug check As mmc_detect_change() can be called from irq context, using claim (which can sleep) is inherently unsafe. Use the host spinlock instead, which also is faster. Signed-off-by: Pierre Ossman commit 790864dcc2b3fe65355dd84ef8481e54b1bc61b6 Author: Jan Engelhardt Date: Tue May 8 22:30:32 2007 +0200 mmc: Use menuconfig objects Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Pierre Ossman commit 055b8224140e7a7515bf8113ce675d58abffedf1 Author: Alex Dubov Date: Tue May 1 20:14:55 2007 -0700 disable socket power in adapter driver instead of media one Socket power must be fully controlled by adapter driver. This also prevents unnecessary power-off of the socket when media driver is unloaded, yet media remains in the socket. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit b85fe92766dfc0c4e803cb0cead4c780cd0c02f9 Author: Andrew Victor Date: Tue May 8 07:51:23 2007 +0100 [ARM] 4363/1: AT91: Remove legacy PIO definitions Remove the legacy PIO pin definitions for the AT91 processors. The standard (and portable between the different AT91 processors) method is to use the AT91_PIN_* defines and the GPIO API. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8eef3896b352a8760ab04293174444da4e8c8127 Author: Andrew Victor Date: Mon May 7 15:17:47 2007 +0100 [ARM] 4361/1: AT91: Build error Fix a build error due to a missing semicolon. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c40fae9525e6c29c87a4f4361ff0a8d67a36e448 Author: Tony Lindgren Date: Thu Dec 7 13:58:10 2006 -0800 ARM: OMAP: Sync core code with linux-omap This patch syncs omap specific core code with linux-omap. Most of the changes are needed to fix bitrot caused by driver updates in linux-omap tree. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f4e4c324a5f81f18156499d1ade3732ba1f5b523 Author: Tony Lindgren Date: Thu Dec 7 13:57:38 2006 -0800 ARM: OMAP: Sync headers with linux-omap This patch syncs omap specific headers with linux-omap. Most of the changes needed because of bitrot caused by driver changes in linux-omap tree. Integrating this is needed for adding support for various omap drivers. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 994c84ea526ea1c348f63dc3aa7cfeec931bb612 Author: David Brownell Date: Wed Dec 6 17:14:03 2006 -0800 ARM: OMAP: h4 must have blinky leds!! This adds generic support for the "debug board" LEDs used by most of TI's OMAP reference boards, and board-specific support for the H4. It's derived from the not-as-generic stuff used by OMAP1 H2/H3/P2. Those should be able to switch easily to this version, and clean up some of the omap1-specific code. In addition to H4 support, one key improvement is supporting not just the "old" ARM debug LED API (with timer and idle LEDs, plus four that can be handy for kernel debugging), but it also supports the "new" generic LED API (most useful for usermode stuff IMO). Either or both APIs can be enabled. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 771af222eb98a60629aa1437901c7f266ff4dc89 Author: Imre Deak Date: Wed Dec 6 17:13:50 2006 -0800 ARM: OMAP: FB: add controller platform data Add controller platform data Signed-off-by: Imre Deak Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 0ce3356394dadc4704d42beb3788d7d78bda8ff2 Author: Juha Yrjola Date: Wed Dec 6 17:13:49 2006 -0800 ARM: OMAP: Add function to print clock usecounts Useful for debugging power management code. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 3151369d7467a37386e955e6f1ba5b9b5bea7500 Author: Juha Yrjola Date: Wed Dec 6 17:13:47 2006 -0800 ARM: OMAP: Add DMA IRQ sanity checks Add DMA IRQ sanity checks Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 277d58efadd67e73aa2860e41042d8d7fc750cea Author: David Brownell Date: Wed Dec 6 17:13:59 2006 -0800 ARM: OMAP: gpio init section cleanups Minor GPIO cleanups: remove needless #include, and omap_gpio_init() should be __init, as well as all the board init code calling it. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 36f021b579d195cdc5fa6f3e2bab198b4bf70643 Merge: 215d067... 1d72acf... Author: Linus Torvalds Date: Tue May 8 12:07:28 2007 -0700 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (32 commits) Use menuconfig objects - hwmon hwmon/smsc47b397: Use dynamic sysfs callbacks hwmon/smsc47b397: Convert to a platform driver hwmon/w83781d: Deprecate W83627HF support hwmon/w83781d: Use dynamic sysfs callbacks hwmon/w83781d: Be less i2c_client-centric hwmon/w83781d: Clean up conversion macros hwmon/w83781d: No longer use i2c-isa hwmon/ams: Do not print error on systems without apple motion sensor hwmon/ams: Fix I2C read retry logic hwmon: New AD7416, AD7417 and AD7418 driver hwmon/coretemp: Add documentation hwmon: New coretemp driver i386: Use functions from library in msr driver i386: Add safe variants of rdmsr_on_cpu and wrmsr_on_cpu hwmon/lm75: Use dynamic sysfs callbacks hwmon/lm78: Use dynamic sysfs callbacks hwmon/lm78: Be less i2c_client-centric hwmon/lm78: No longer use i2c-isa hwmon: New max6650 driver ... commit 215d06780d13fd7de629b02b61b7b7bf88ce5039 Author: Geert Uytterhoeven Date: Tue May 8 11:37:26 2007 +0200 Fix sunrpc warning noise Commit c5a4dd8b7c15927a8fbff83171b57cad675a79b9 introduced the following compiler warnings: net/sunrpc/sched.c:766: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t' net/sunrpc/sched.c:785: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'size_t' - Use %zu to format size_t - Kill 2 useless casts Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8678c1f04277daaa914abb107fb9fe71298d916d Author: Russell King Date: Tue May 8 20:03:09 2007 +0100 [ARM] Fix ASID version switch Close a hole in the ASID version switch, particularly the following scenario: CPU0 MM PID CPU1 MM PID idle A pid(A) A idle(lazy tlb) * new asid version triggered by B * B pid(B) A pid(A) * MM A gets new asid version * A idle(lazy tlb) A pid(A) * CPU1 doesn't see the new ASID * The result is that CPU1 continues running with the hardware set for the original (stale) ASID value, but mm->context.id contains the new ASID value. The result is that the next MM fault on CPU1 updates the page table entries, but flush_tlb_page() fails due to wrong ASID. There is a related case with a threaded application is allocated a new ASID on one CPU while another of its threads is running on some different CPU. This scenario is not fixed by this commit. Signed-off-by: Russell King commit 8737d59579c5e61ea3d5da4bd63303159fd1cf7e Author: Milind Arun Choudhary Date: Sun Apr 15 22:51:23 2007 +0530 [IA64] SPIN_LOCK_UNLOCKED macro cleanup in arch/ia64 SPIN_LOCK_UNLOCKED macro cleanup, use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Milind Arun Choudhary Signed-off-by: Tony Luck commit 60c9b2746f589b0b809582b0471cf30ad3ae439f Merge: 4750def... f7c66ce... Author: Linus Torvalds Date: Tue May 8 11:59:33 2007 -0700 Merge git://oss.sgi.com:8090/xfs/xfs-2.6 * git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] Add lockdep support for XFS [XFS] Fix race in xfs_write() b/w dmapi callout and direct I/O checks. [XFS] Get rid of redundant "required" in msg. [XFS] Export via a function xfs_buftarg_list for use by kdb/xfsidbg. [XFS] Remove unused ilen variable and references. [XFS] Fix to prevent the notorious 'NULL files' problem after a crash. [XFS] Fix race condition in xfs_write(). [XFS] Fix uquota and oquota enforcement problems. [XFS] propogate return codes from flush routines [XFS] Fix quotaon syscall failures for group enforcement requests. [XFS] Invalidate quotacheck when mounting without a quota type. [XFS] reducing the number of random number functions. [XFS] remove more misc. unused args [XFS] the "aendp" arg to xfs_dir2_data_freescan is always NULL, remove it. [XFS] The last argument "lsn" of xfs_trans_commit() is always called with commit 4750def52cb2c21732dda9aa1d43a07db37b0186 Merge: 9028780... 27c78b3... Author: Linus Torvalds Date: Tue May 8 11:58:20 2007 -0700 Merge branch 'reset-seq' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'reset-seq' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata reset-seq] build and merge fixes libata: reimplement reset sequencing libata: improve ata_std_prereset() libata: improve 0xff status handling libata: add deadline support to prereset and reset methods commit 9028780a3e6d2c3dd940e89b377765cca008b6df Merge: 5335a40... e824f78... Author: Linus Torvalds Date: Tue May 8 11:57:17 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits) [netdrvr] atl1: fix build pasemi_mac: Use local-mac-address instead of mac-address if available pasemi_mac: PHY support pasemi_mac: Add msglevel support and "debug" module param pasemi_mac: Logic cleanup / rx performance improvements pasemi_mac: Minor cleanup / define fixes pasemi_mac: Add SKB reuse / copy-break pasemi_mac: Timer and interrupt fixes pasemi_mac: Abstract and fix up interrupt restart routines pasemi_mac: Move the IRQ mapping from the PCI layer to the driver tc35815: Remove unnecessary skb->dev assignment drivers/net/dm9000: Convert to generic boolean AT91RM9200 Ethernet: Fix multicast addressing AT91RM9200 Ethernet: Support additional PHYs PCMCIA-NETDEV : xirc2ps_cs: bugfix of multicast code sky2: re-enable 88E8056 for most motherboards MIPS: Drop unnecessary CONFIG_ISA from RBTX49XX ne: MIPS: Use platform_driver for ne on RBTX49XX ne: Add NEEDS_PORTLIST to control ISA auto-probe ne: Misc fixes for platform driver. ... Fix conflict in drivers/net/pasemi_mac.c (get_property() got renamed to of_get_property()) manually. Signed-off-by: Linus Torvalds commit 1cfb9c94b6525763ee0eb9551842ded093c5827f Author: vignesh babu Date: Tue May 8 11:53:27 2007 -0700 [IA64-SN2][KJ] mmtimer.c-kzalloc Replacing kmalloc/memset combination with kzalloc. Signed-off-by: vignesh babu Signed-off-by: Tony Luck commit 5335a40be6867eff986a31bcd8fc82a5cb1e16bb Merge: 393bfca... ef68d29... Author: Linus Torvalds Date: Tue May 8 11:52:35 2007 -0700 Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6: via: Make sure we flush write-combining using a follow-up read. via: Try to improve command-buffer chaining. drm: remove old taskqueue remnant drm: rename badly named define and cleanup ioctl code spacing radeon: Don't mess up page flipping when a file descriptor is closed. drm/radeon: upgrade to 1.27 - make PCI GART more flexible commit 393bfca19ecdce60a8d9a4d2577cac11ca924a25 Merge: df6d391... ba0acb5... Author: Linus Torvalds Date: Tue May 8 11:51:43 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input * master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: Input: move USB miscellaneous devices under drivers/input/misc Input: move USB mice under drivers/input/mouse Input: move USB gamepads under drivers/input/joystick Input: move USB touchscreens under drivers/input/touchscreen Input: move USB tablets under drivers/input/tablet Input: i8042 - fix AUX port detection with some chips Input: aaed2000_kbd - convert to use polldev library Input: drivers/usb/input - usb_buffer_free() cleanup Input: synaptics - don't complain about failed resets Input: pull input.h into uinpit.h Input: drivers/usb/input - fix sparse warnings (signedness) Input: evdev - fix some sparse warnings (signedness, shadowing) Input: drivers/joystick - fix various sparse warnings Input: force feedback - make sure effect is present before playing commit df6d3916f3b7b7e2067567a256dd4f0c1ea854a2 Merge: 74add80... 197686d... Author: Linus Torvalds Date: Tue May 8 11:50:19 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits) [POWERPC] Abolish powerpc_flash_init() [POWERPC] Early serial debug support for PPC44x [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc [POWERPC] Add device tree for Ebony [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now [POWERPC] MPIC U3/U4 MSI backend [POWERPC] MPIC MSI allocator [POWERPC] Enable MSI mappings for MPIC [POWERPC] Tell Phyp we support MSI [POWERPC] RTAS MSI implementation [POWERPC] PowerPC MSI infrastructure [POWERPC] Rip out the existing powerpc msi stubs [POWERPC] Remove use of 4level-fixup.h for ppc32 [POWERPC] Add powerpc PCI-E reset API implementation [POWERPC] Holly bootwrapper [POWERPC] Holly DTS [POWERPC] Holly defconfig [POWERPC] Add support for 750CL Holly board [POWERPC] Generalize tsi108 PCI setup [POWERPC] Generalize tsi108 PHY types ... Fixed conflict in include/asm-powerpc/kdebug.h manually Signed-off-by: Linus Torvalds commit 74add80cbd7fe246c893b93ee75ac59acdd01dd4 Author: Roland McGrath Date: Tue May 8 11:19:38 2007 -0700 Remove unused variable in get_unmapped_area Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 02a93208edec0d655c9f18613d830dc6afeda7d4 Merge: 18062a9... 821de3a... Author: Linus Torvalds Date: Tue May 8 11:34:52 2007 -0700 Merge branch 'for-2.6.22' of git://git.kernel.dk/data/git/linux-2.6-block * 'for-2.6.22' of git://git.kernel.dk/data/git/linux-2.6-block: [PATCH] ll_rw_blk: fix missing bounce in blk_rq_map_kern() [PATCH] splice: always call into page_cache_readahead() [PATCH] splice(): fix interaction with readahead commit 18062a91d2ddc40e19fc674afeb7cad58cfa23ab Merge: be3478d... 05ec9e2... Author: Linus Torvalds Date: Tue May 8 11:32:30 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Fix race waking up jfsIO kernel thread JFS: use __set_current_state() Copy i_flags to jfs inode flags on write JFS: document uid, gid, and umask mount options in jfs.txt commit 66761522a7bca951c1214498b80260533957e3ad Author: Markus F.X.J. Oberhumer Date: Mon Apr 23 12:00:05 2007 +0200 [IA64] fix stack alignment for ia32 signal handlers This fixes the setup of the alignment of the signal frame, so that all signal handlers are run with a properly aligned stack frame. The current code "over-aligns" the stack pointer so that the stack frame is effectively always mis-aligned by 4 bytes. But what we really want is that on function entry ((sp + 4) & 15) == 0, which matches what would happen if the stack were aligned before a "call" instruction. i386 and x86_64 are already fixed by d347f372273c2b3d86a66e2e1c94c790c208e166 Signed-off-by: Markus F.X.J. Oberhumer Signed-off-by: Tony Luck commit be3478ddb8a3902b588c840b42e166a0e64a87b3 Author: Andrew Morton Date: Tue May 8 00:40:22 2007 -0700 sm501fb printk warning fixes drivers/video/sm501fb.c: In function 'sm501fb_cursor': drivers/video/sm501fb.c:992: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' drivers/video/sm501fb.c:992: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 147394c8ece44be85d692cc92cc0d047e4d8fb69 Author: Andrei Konovalov Date: Tue May 8 00:40:18 2007 -0700 xilinxfb: xilinx framebuffer device driver Add support for the video controller IP block included into Xilinx ML300 and ML403 reference designs. Signed-off-by: Andrei Konovalov Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 435d56fcd45cdf32bfb4db5d4e1efe17f3da95b2 Author: Krzysztof Helt Date: Tue May 8 00:40:16 2007 -0700 pm2fb: fix of jumps in pm2fb_probe This patch fixes incorrect targets of jumps when an error occurs in the pm2fb_probe. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19c1a8b3122e7b2007cfd2836da2318816f324cc Author: Krzysztof Helt Date: Tue May 8 00:40:14 2007 -0700 skeletonfb: improvements This patch adds a macro to register PCI ids table and corrects type of xxxfb_fix variable to avoid modpost warnings. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4560daaf07ab68bef5e70355d1565b2e0a1a3bcf Author: Krzysztof Helt Date: Tue May 8 00:40:12 2007 -0700 pm2fb: removal of pm2fb_par fields This patch removes two redundant fields in the pm2fb_par structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c7bf38699aed591b6624add40acfa71fe6d902c Author: Krzysztof Helt Date: Tue May 8 00:40:10 2007 -0700 skeletonfb: more corrections More corrections to skeletonfb.c file: - fixed types of more arguments - removed returned values in void functions - removed not existing fb_poll function - fixed closing comment typo - corrected misleading constant name ADDR Signed-off-by: Krzysztof Helt Acked-By: James Simmons Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e645ffd83f987c8650e9dd0f22a0c57296ed458 Author: Antonino A. Daplas Date: Tue May 8 00:40:08 2007 -0700 vga16fb: actually support widths in multiples of 8 vga16fb does not just support 8-pixel wide rectangles, but rectangles with widths in multiples of 8. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ae854777592856ad8ce4d4cdb6114804e2e28f6 Author: Antonino A. Daplas Date: Tue May 8 00:40:06 2007 -0700 vgacon: disallow console operations when in KD_GRAPHICS mode Reported by James Pearson as: boot to run level 3 if not root, then make sure /dev/console is writeable login and type: setterm -blank 0 start X type into an xterm: while true; do echo "" > /dev/console; usleep 100000; done while the above loop is running switch to the text console and back again (Ctrl-Alt-F1 then Ctrl-Alt-F7) ... and the screen will be shifting (and wrapping) to the left. This problem stems from continuously writing text to the system console (which is in KD_TEXT mode) while the foreground console is in KD_GRAPHICS mode. Somewhere along the way, console printing got confused and omitted the KD_GRAPHICS/KD_TEXT test. Thus, vgacon attempted to scroll the screen of X, which causes X to shift. Fix by disallowing vgacon to touch the hardware when the vc is in KD_GRAPHICS mode. A definitive fix entails a full audit of the console code. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32dd38030b3b4ca0aa18a5402059de27bf69ed6b Author: Jan Engelhardt Date: Tue May 8 00:40:04 2007 -0700 Use menuconfig objects II: video/logo Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87a7cc685a847800482db1fd74504b9b4b42264e Author: Krzysztof Helt Date: Tue May 8 00:40:02 2007 -0700 pm2fb: accelerated fillrect and copyarea This is a port of accelerated functions from 2.4 kernel. Only fillrect and copyarea are accelerated. Fillrect is not accelerated in 24-bit mode. [adaplas] Add appropriate flags Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ed25f50b347c7e1ff78f9308e025ddd57c2f20 Author: Ondrej Zajicek Date: Tue May 8 00:40:00 2007 -0700 s3fb: updates Move s3fb_get_tilemax to svgalib.c as svga_get_tilemax, because it reports limitation of other code from svgalib (svga_settile, svga_tilecopy, ...) Limit font width to 8 pixels in 4 bpp mode. Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a31f0f7679aeaf79c613feaa3f4170741ccb218 Author: Krzysztof Helt Date: Tue May 8 00:39:57 2007 -0700 pm2fb: memclock setting corrections This patch disables a memory clock setting if a board has been initialized by BIOS. This allows using the memory clock set by manufacturer of the board. This patch also sets default clock for 3dlabs Permedia 2V reference board's clock to 75MHz (BIOS setting for EONtronic Permedia 2Vboard), because the default 83MHz can be too high. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76c7d3ffe3acddf5619bd796e0b8fa5dc6ecdb39 Author: krzysztof.h1@wp.pl Date: Tue May 8 00:39:56 2007 -0700 pm2fb: reset transparency settings This patch resets transparency settings when depth changes. Otherwise the 16 and 24-bit modes work incorrectly after switching from 32-bit mode. Signed-off-by: Krzysztof Helt < krzysztof.h1@wp.pl> Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 167f07f1bc20ea1ab51d833deb0c18f5ab93618f Author: Antonino A. Daplas Date: Tue May 8 00:39:54 2007 -0700 fbcon: check console-fb mapping in fbcon_get_requirement - Check the console-to-fb mapping in fbcon_get_requirement(), otherwise the value returned may not be valid for the driver. - Minor cleanup Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1e7223f28b4ed5073d2029a3597bf514ff514f2 Author: Antonino A. Daplas Date: Tue May 8 00:39:52 2007 -0700 fbdev: clean up exit patch of fb_set_var Clean up exit patch of fb_set_var(): - consolidate all return values into a single local variable - ensure that return values are valid error codes - fix fb_set_var() returning success when fb_check_caps() failed Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0959f0ca29244ae983b406fba313816a29244be7 Author: Adrian Bunk Date: Tue May 8 00:39:50 2007 -0700 drivers/video/sis/: remove more kernel 2.4 code Signed-off-by: Adrian Bunk Cc: Thomas Winischhofer Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c831c338f0ad299fcd1592c6e4f30657480f39af Author: Matthias Kaehlcke Date: Tue May 8 00:39:49 2007 -0700 use mutex instead of semaphore in virtual console driver The virtual console driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 159dde93692ef549a0b2012c9f25feb4df638c9c Author: Ville Syrjala Date: Tue May 8 00:39:47 2007 -0700 atyfb: halve XCLK with Mobility and 32bit memory Laptops with Rage Mobility and 32bit memory interface seem to require halved XCLK to operate correctly. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4e124c138558a0cff51398ddff9a8e44ed0b529 Author: Ville Syrjala Date: Tue May 8 00:39:45 2007 -0700 atyfb: reorganize clock init Reorganize atyfb clock init code so command line clock overrides are effective for all chips. The old code would silently ignore some of the command line clock overrides with some chips. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94f45bcd1c29e773b6bf189ef7b9a3437d016320 Author: Ville Syrjala Date: Tue May 8 00:39:44 2007 -0700 atyfb: increase SPLL delay Wait 5 ms instead of 500 us for the SPLL to lock. This matches the recommendation in mach64 programmer's guide. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2620c6e31735248ac26403558bd4279a8af619d8 Author: Antonino A. Daplas Date: Tue May 8 00:39:42 2007 -0700 nvidiafb: fix return value of nvidiafb_open() Fix return value of nvidiafb_open(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0449359f053829ec89c026b5fb80bbe7190a5fe8 Author: Ondrej Zajicek Date: Tue May 8 00:39:41 2007 -0700 vga: vgastate fix 1) sets 'palette access disabled' during read from AR10. This is usually documented as needed for access AR01-AR0F, but on ARK Logic card it is needed for AR10 (otherwise read returns some nonsence and save_vga_text() returns before do anything). 2) do not restore AR10, because it was not changed during 3) remove modification of misc reg: /* force graphics mode */ vga_w(state->vgabase, VGA_MIS_W, misc | 1); as comment is misleading - LSB of misc reg does not set/reset graphics mode, but set color/mono adresses of CRT and some other regs. but these regs are not used during save/restore fonts. (it worked even when (misc | 1) was replaced by (misc & ~1) ). Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56c7554938e5945b770365e326f0c3d031ca231f Author: Antonino A. Daplas Date: Tue May 8 00:39:39 2007 -0700 s3fb: implement fb_get_caps Implement fb_get_caps(). This will allow the driver to tell upper layer that it can only support 256 8x16 bitmaps when in tileblitting mode (var->bits_per_pixel == 0); Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38a3dc51852d8350b156ea909c5aa8767d71b005 Author: Antonino A. Daplas Date: Tue May 8 00:39:37 2007 -0700 fbdev: fbcon: check if mode can handle new screen Check if the mode can properly display the screen. This will be needed by drivers where the capability is not constant with each mode. The function fb_set_var() will query fbcon the requirement, then it will query the driver (via a new hook fb_get_caps()) its capability. If the driver's capability cannot handle fbcon's requirement, then fb_set_var() will fail. For example, if a particular driver supports 2 modes where: mode1 = can only display 8x16 bitmaps mode2 = can display any bitmap then if current mode = mode2 and current font = 12x22 fbset /* mode1 cannot handle 12x22 */ fbset will fail Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e15de77e74d429f14641ebe7a29ccd8aa6656f3c Author: Dave Jones Date: Tue May 8 00:39:35 2007 -0700 nvidiafb: prevent triggering of softlockup If the chip locks up, we get into a long polling loop, where the softlockup detector kicks in. See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=151878 for an example. [adaplas] Chip lockup can occur at 3 points (flush, sync, and wait). Consolidate and allow the driver to go to safe mode cleanly. Signed-off-by: Dave Jones Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4a96b53125c3d31266c05f2a8432d956dd26141 Author: Krzysztof Helt Date: Tue May 8 00:39:33 2007 -0700 pm2fb: pixclock setting restriction This patch adds restrictions to calculations of m, n and p factors which sets the pixclock for the Permedia 2V. I found during tests that synchronization is unstable if m (divisor) is bigger than half of the n (numerator). The patch disallows such settings combination. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d809d774fc8aa76899bde3235afb046728feed Author: Krzysztof Helt Date: Tue May 8 00:39:32 2007 -0700 pm2fb: Permedia 2V memory clock setting Permedia 2V uses its own registers to set a memory clock. The patch adds these registers and uses them in the set_memclock() function. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1c15f938d810b5eb38c85a28e5e9d2af07d135a Author: Krzysztof Helt Date: Tue May 8 00:39:30 2007 -0700 pm2fb: 3dlabs Permedia 2V reference board added This patch adds support for 3dlabs Permedia reference board. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37363409bacd1142c6e49edfb3e1f8b153d47dc Author: Alan Cox Date: Tue May 8 00:39:28 2007 -0700 nvidiafb/rivafb: switch to pci_get refcounting Switch to pci_get refcounting APIs [adaplas] Fix a long-standing bug where the return value of pci_find_slot()/pci_get_bus_and_slot() is ignored. Signed-off-by: Alan Cox Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbe7e429fedb3fbc93b496cc1c3eb4fc28333ac0 Author: Alan Hourihane Date: Tue May 8 00:39:25 2007 -0700 vmlfb: framebuffer driver for Intel Vermilion Range Add the Intel Vermilion Range framebuffer support. Signed-off-by: Alan Hourihane Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 249bdbbf0dbab5554a4bfe55639e324d4758da96 Author: Ondrej Zajicek Date: Tue May 8 00:39:24 2007 -0700 s3fb: driver fixes This fixes broken fbcon on Virge VX in 24 bpp mode, and contains several other small updates. Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4941cb7a18fd84d4d8cd097d2beada3c79c8f781 Author: Antonino A. Daplas Date: Tue May 8 00:39:22 2007 -0700 fbdev: save the activate field before calling fb_check_var() Some drivers may reset the var->activate field on fb_check_var(). This can lead to undefined behavior. For example, doing fbset -a