summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2008-02-23futex: runtime enable pi and robust functionalityThomas Gleixner
Not all architectures implement futex_atomic_cmpxchg_inatomic(). The default implementation returns -ENOSYS, which is currently not handled inside of the futex guts. Futex PI calls and robust list exits with a held futex result in an endless loop in the futex code on architectures which have no support. Fixing up every place where futex_atomic_cmpxchg_inatomic() is called would add a fair amount of extra if/else constructs to the already complex code. It is also not possible to disable the robust feature before user space tries to register robust lists. Compile time disabling is not a good idea either, as there are already architectures with runtime detection of futex_atomic_cmpxchg_inatomic support. Detect the functionality at runtime instead by calling cmpxchg_futex_value_locked() with a NULL pointer from the futex initialization code. This is guaranteed to fail, but the call of futex_atomic_cmpxchg_inatomic() happens with pagefaults disabled. On architectures, which use the asm-generic implementation or have a runtime CPU feature detection, a -ENOSYS return value disables the PI/robust features. On architectures with a working implementation the call returns -EFAULT and the PI/robust features are enabled. The relevant syscalls return -ENOSYS and the robust list exit code is blocked, when the detection fails. Fixes http://lkml.org/lkml/2008/2/11/149 Originally reported by: Lennart Buytenhek Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: Riku Voipio <riku.voipio@movial.fi> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23efs: move headers out of include/linux/Christoph Hellwig
Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h. efs_vh.h remains there because this is the IRIX volume header and shouldn't really be handled by efs but by the partitioning code. efs_sb.h remains there for now because it's exported to userspace. Of course this wrong and aboot should have a copy of it's own, but I'll leave that to a separate patch to avoid any contention. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23spi: pxa2xx_spi clock polarity fixNed Forrester
Fixes a sequencing bug in spi driver pxa2xx_spi.c in which the chip select for a transfer may be asserted before the clock polarity is set on the interface. As a result of this bug, the clock signal may have the wrong polarity at transfer start, so it may need to make an extra half transition before the intended clock/data signals begin. (This probably means all transfers are one bit out of sequence.) This only occurs on the first transfer following a change in clock polarity in systems using more than one more than one such polarity. The fix assures that the clock mode is properly set before asserting chip select. This bug was introduced in a patch merged on 2006/12/10, kernel 2.6.20. The patch defines an additional bit in: include/asm-arm/arch-pxa/regs-ssp.h for 2.6.25 and newer kernels but this addition must be made in: include/asm-arm/arch-pxa/pxa-regs.h for kernels between 2.6.20 and 2.6.24, inclusive Signed-off-by: Ned Forrester <nforrester@whoi.edu> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Russell King <rmk@arm.linux.org.uk> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23NOMMU: is_vmalloc_addr() won't compile if !MMUDavid Howells
Make is_vmalloc_addr() contingent on CONFIG_MMU=y, as it won't compile in !MMU mode. [ Bug introduced in commit 9e2779fa281cfda13ac060753d674bbcaa23367e: "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries" ]. Signed-off-by: David Howells <dhowells@redhat.com> Cc: Greg Ungerer <gerg@snapgear.com> Cc: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23sparc: fix buildDavid Rientjes
Fix build failure on sparc: In file included from include/linux/mm.h:39, from include/linux/memcontrol.h:24, from include/linux/swap.h:8, from include/linux/suspend.h:7, from init/do_mounts.c:6: include/asm/pgtable.h:344: warning: parameter names (without types) in function declaration include/asm/pgtable.h:345: warning: parameter names (without types) in function declaration include/asm/pgtable.h:346: error: expected '=', ',', ';', 'asm' or '__attribute__' before '___f___swp_entry' viro sayeth: I've run allmodconfig builds on a bunch of target, FWIW (essentially the same patch). Note that these includes are recent addition caused by added inline function that had since then become a define. So while I agree with your comments in general, in _this_ case it's pretty safe. The commit that had done it is 3062fc67dad01b1d2a15d58c709eff946389eca4 ("memcontrol: move mm_cgroup to header file") and the switch to #define is in commit 60c12b1202a60eabb1c61317e5d2678fcea9893f ("memcontrol: add vm_match_cgroup()") (BTW, that probably warranted mentioning in the changelog of the latter). Cc: Adrian Bunk <bunk@kernel.org> Cc: Robert Reif <reif@earthlink.net> Signed-off-by: David Rientjes <rientjes@google.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23MN10300: define SO_MARKDavid Howells
Define SO_MARK for MN10300. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23MN10300: define HZ as a config optionDavid Howells
Define HZ as a config option. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23percpu: fix DEBUG_PREEMPT per_cpu checkingHugh Dickins
2.6.25-rc1 percpu changes broke CONFIG_DEBUG_PREEMPT's per_cpu checking on several architectures. On s390, sparc64 and x86 it's been weakened to not checking at all; whereas on powerpc64 it's become too strict, issuing warnings from __raw_get_cpu_var in io_schedule and init_timer for example. Fix this by weakening powerpc's __my_cpu_offset to use the non-checking local_paca instead of get_paca (which itself contains such a check); and strengthening the generic my_cpu_offset to go the old slow way via smp_processor_id when CONFIG_DEBUG_PREEMPT (debug_smp_processor_id is where all the knowledge of what's correct when lives). Signed-off-by: Hugh Dickins <hugh@veritas.com> Reviewed-by: Mike Travis <travis@sgi.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-23PM: Introduce PM_EVENT_HIBERNATE callback stateRafael J. Wysocki
During the last step of hibernation in the "platform" mode (with the help of ACPI) we use the suspend code, including the devices' ->suspend() methods, to prepare the system for entering the ACPI S4 system sleep state. But at least for some devices the operations performed by the ->suspend() callback in that case must be different from its operations during regular suspend. For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and pass it to the device drivers' ->suspend() methods during the last phase of hibernation, so that they can distinguish this case and handle it as appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a special way and need to handle PM_EVENT_HIBERNATE in the same way. These changes are necessary to fix a hibernation regression related to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Tested-by: Jeff Chua <jeff.chua.linux@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-22[ALSA] opl3 - Fix compilation without sequencer supportTakashi Iwai
Add proper ifdef's to the patch loading code moved from the old instr layer so that opl3 driver can be compiled without the sequencer support. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-21MM: Fix macro argument substitution in PageHead() and PageTail()David Howells
Fix macro argument substitution in PageHead() and PageTail() - 'page' should have brackets surrounding it (commit 6d7779538f765963ced45a3fa4bed7ba8d2c277d). Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-21Merge branch 'release' of ↵Linus Torvalds
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: (26 commits) PM: Make suspend_device() static PCI ACPI: Fix comment describing acpi_pci_choose_state Hibernation: Handle DEBUG_PAGEALLOC on x86 ACPI: fix build warning ACPI: TSC breaks atkbd suspend ACPI: remove is_processor_present prototype acer-wmi: Add DMI match for mail LED on Acer TravelMate 4200 series ACPI: sparse fix, replace macro with static function ACPI: thinkpad-acpi: add tablet-mode reporting ACPI: thinkpad-acpi: minor hotkey_radio_sw fixes ACPI: thinkpad-acpi: improve thinkpad-acpi input device documentation ACPI: thinkpad-acpi: issue input events for tablet swivel events ACPI: thinkpad-acpi: make the video output feature optional ACPI: thinkpad-acpi: synchronize input device switches ACPI: thinkpad-acpi: always track input device open/close ACPI: thinkpad-acpi: trivial fix to documentation ACPI: thinkpad-acpi: trivial fix to module_desc typo intel_menlo: extract return values using PTR_ERR ACPI video: check for error from thermal_cooling_device_register ACPI thermal: extract return values using PTR_ERR ...
2008-02-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: Fix wrong reference counter check for proc_dir_entry PCI: fix up setup-bus.c #ifdef PCI: don't load acpi_php when acpi is disabled PCI: quirks: set 'En' bit of MSI Mapping for devices onHT-based nvidia platform PCI: kernel-doc: fix pci-acpi warning PCI: irq: patch for Intel ICH10 DeviceID's PCI: pci_ids: patch for Intel ICH10 DeviceID's PCI: AMD SATA IDE mode quirk PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes PCI: hotplug: acpiphp_ibm: Remove get device information
2008-02-21Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4835/1: Fix stale comment in struct machine_desc description [ARM] 4829/1: add .get method to pxa-cpufreq to silence a warning [ARM] 4828/1: fix 3 warnings in drivers/video/pxafb.c [ARM] 4827/1: fix two warnings in drivers/i2c/busses/i2c-pxa.c [ARM] 4826/1: Orion: Register the RTC interrupt on the TS-209 [ARM] pxa: fix clock lookup to find specific device clocks
2008-02-21Merge branch 'merge' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] pasemi: Remove warning in mpic_pasemi_msi.c [POWERPC] pasemi: Register i2c devices at boot [POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg} [POWERPC] Fix warning in pseries/power.c [POWERPC] Fix bootwrapper builds with older gcc versions [POWERPC] Fix dt_mem_next_cell() to read the full address [POWERPC] Kill sparse warnings in kprobes [POWERPC] spufs: fix scheduler starvation by idle contexts [POWERPC] 44x: Add multiplatform defconfig [POWERPC] 44x: Fix Kconfig formatting [POWERPC] 4xx: Update defconfigs for 2.6.25 [POWERPC] 4xx: Remove "i2c" and "xxmii-interface" device_types from dts [POWERPC] PPC440EP Interrupt Triggering and Level Settings [POWERPC] net: NEWEMAC: Remove "rgmii-interface" from rgmii matching table
2008-02-21PCI: pci_ids: patch for Intel ICH10 DeviceID'sJason Gaston
This patch adds the Intel ICH10 LPC and SMBus Controller DeviceID's. Signed-off-by: Jason Gaston <jason.d.gaston@intel.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-21[ARM] 4835/1: Fix stale comment in struct machine_desc descriptionLeonid Evdokimov
This patch updates stale comment that pointed to nonexistent file. Signed-off-by: Leonid Evdokimov <leon@darkk.net.ru> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-02-21Hibernation: Handle DEBUG_PAGEALLOC on x86Rafael J. Wysocki
Make hibernation work with CONFIG_DEBUG_PAGEALLOC set on x86, by checking if the pages to be copied are marked as present in the kernel mapping and temporarily marking them as present if that's not the case. No functional modifications are introduced if CONFIG_DEBUG_PAGEALLOC is unset. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Len Brown <len.brown@intel.com>
2008-02-20FRV: Change the timerfd syscalls to be the same as i386David Howells
Change the FRV timerfd syscalls to be the same as i386 timerfd syscalls. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-20Merge branch 'upstream-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: fix kernel-doc parameter warning sata_mv: remove iounmap in mv_platform_remove and use devm_iomap ata: fix sparse warning in libata.h libata: implement libata.force module parameter sata_mv: use hpriv->base instead of the host->iomap sata_mv: Define module alias for platform device ata: fix sparse warnings in pata_legacy.c
2008-02-20Remove empty file remnants that were left in the tree by mistakeLinus Torvalds
Noted by various people (Sam, Jeff, Roland..) Commit 58b7983d15a422d9616bdc4e245d5c31dfaefbe2 intended to remove the xfs "Makefile-linux-2.6" file, but it was mistakenly still left in the tree as a empty file, and would cause git to correctly complain about a tracked file being removed after a "make distclean" (which removes empty files as garbage). And the asm-x86/desc_64.h file was supposed to be removed by commit c81c6ca45a69478c7877b729af1942d2b80ef582, but instead stayed around containing just a single newline. Get rid of them both properly. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-20ata: fix sparse warning in libata.hHarvey Harrison
Avoids lots of these, also is more readable. include/linux/libata.h:1210:13: warning: potentially expensive pointer subtraction Change the subtraction to addition on the other side of the comparison. Thanks to Christer Weinigel for the suggestion. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-02-20[POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg}Andre Detsch
At present, the __spufs_trap_data_map and __spu_trap_data_seq functions exit if spu->flags has the SPU_CONTEXT_SWITCH_ACTIVE set. This was resulting in suprious returns from these functions, as they may be legitimately called when we have this bit set. We only use it in these two sanity checks, so this change removes the flag completely. This fixes hangs in the page-fault path of SPE apps. Signed-off-by: Andre Detsch <adetsch@br.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-02-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits) x86: fix page_is_ram() thinko x86: fix WARN_ON() message: teach page_is_ram() about the special 4Kb bios data page x86: i8259A: remove redundant irq_descinitialization x86: fix vdso_install breaks user "make install" x86: change IO delay back to 0x80 x86: lds - Use THREAD_SIZE instead of numeric constant x86: lds - Use PAGE_SIZE instead of numeric constant x86 cleanup: suspend_asm_64.S - use X86_CR4_PGE instead of numeric value x86: docs fixes to Documentation/i386/IO-APIC.txt x86: fix printout ugliness in cpu info printk x86: clean up csum-wrappers_64.c some more x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c x86: coding style fixes in arch/x86/lib/io_64.c x86: exclude vsyscall files from stackprotect x86: add pgd_large() on 64-bit, for consistency x86: minor cleanup of comments in processor.h x86: annotate pci/common.s:pci_scan_bus_with_sysdata with __devinit x86: fix section mismatch in head_64.S:initial_code x86: fix section mismatch in srat_64.c:reserve_hotadd x86: fix section mismatch warning in topology.c:arch_register_cpu ...
2008-02-19Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] BCM47XX: Use new SSB SPROM data structure [MIPS] WGT634U: Register MTD as platform device. [MIPS] BCM47xx: Add defconfig file. [MIPS] RM: fix EISA=n compilation [MIPS] PCI: Coding style fixes for pcibios_enable_resources. [MIPS] PCI: Port i386 PCI fixes. [MIPS] Qemu: finish platform removal [MIPS] Wire up the timerfd_*() o32 system calls [MIPS] IP28: Add defconfig file [MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure. [MIPS] BCM1480: Remove stray function call resulting in infinite recursion [MIPS] Fix buggy invocations of kmap_coherent() [MIPS] Fix broken rm7000/rm9000 interrupt handling [MIPS] Handle I-cache coherency in flush_cache_range() [MIPS] IP27: Add missing ~ in DMA code. [MIPS] Use find_task_by_vpid in system calls
2008-02-19Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: (29 commits) [XTENSA] Allow debugger to modify the WINDOWBASE register. [XTENSA] Fix makefile to work with binutils-2.18. [XTENSA] Fix register corruption for certain processor configurations [XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing [XTENSA] Exclude thread-global registers from the xtregs structures. [XTENSA] Add support for the sa_restorer function [XTENSA] Add support for configurable registers and coprocessors [XTENSA] Clean up stat structs. [XTENSA] Use preprocessor to generate the linker script for the ELF boot image [XTENSA] Add missing RELOCATE_ENTRY for debug vector [XTENSA] Add volatile keyword to asm statements accessing counter registers [XTENSA] Remove unused code [XTENSA] Fix modules for non-exec processor configurations [XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS() [XTENSA] Fix comments regarding the number of frames to save [XTENSA] Add missing a2 register restore in register spill routine [XTENSA] adjust boot linker script start addresses [XTENSA] Remove oldmask from sigcontext and fix register flush [XTENSA] Clean up elf-gregset. [XTENSA] Fix icache flush for cache aliasing ...
2008-02-19Add missing init section definitionsSam Ravnborg
When adding __devinitconst etc. the __initconst variant were missed. Add this one and proper definitions for .head.text for use in .S files. The naming .head.text is preferred over .text.head as the latter will conflict for a function named head when introducing -ffunctions-sections. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-02-19[MIPS] RM: fix EISA=n compilationAdrian Bunk
This patch fixes the following build error with CONFIG_EISA=n caused by commit 231a35d37293ab88d325a9cb94e5474c156282c0: <-- snip --> ... LD .tmp_vmlinux1 arch/mips/sni/built-in.o: In function `snirm_a20r_setup_devinit': a20r.c:(.init.text+0x42c): undefined reference to `sni_eisa_root_init' a20r.c:(.init.text+0x42c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init' arch/mips/sni/built-in.o: In function `snirm_setup_devinit': rm200.c:(.init.text+0x52c): undefined reference to `sni_eisa_root_init' rm200.c:(.init.text+0x52c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-02-19[MIPS] Qemu: finish platform removalAdrian Bunk
Two files were omitted from the recent removal of the qemu platform. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-02-19[MIPS] Wire up the timerfd_*() o32 system callsDmitri Vorobiev
This patch enables the system calls timerfd_create(), timerfd_settime() and timerfd_gettime() for MIPS architecture. Please see the following Bugzilla entry for more details: http://bugzilla.kernel.org/show_bug.cgi?id=10038 This was tested using a Malta 4Kc board in both little-endian and big-endian modes. The unit test program is available from the URL above. Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com> [Ralf: Added N64, N32 and O32 bits on 64-bit kernels.] Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-02-19[MIPS] IP27: Add missing ~ in DMA code.Ralf Baechle
Harmless since this function is not being called on I/O coherent systems such as IP27. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-02-19Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] qdio: FCP/SCSI write I/O stagnates on LPAR [S390] Fix futex_atomic_cmpxchg_std inline assembly. [S390] dcss: Fix Unlikely(x) != y [S390] sclp: clean up send/receive naming scheme [S390] etr: fix compile error on !SMP [S390] qdio: fix qdio_activate timeout handling. [S390] Initialize per cpu lowcores on cpu hotplug. [S390] find bit corner case. [S390] dasd: fix locking in __dasd_device_process_final_queue [S390] Make sure enabled wait psw is loaded in default_idle. [S390] Let NR_CPUS default to 32/64 on s390/s390x. [S390] cio: Do timed recovery on workqueue. [S390] cio: Remember to initialize recovery_lock.
2008-02-19Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: libata: implement drain buffers libata: eliminate the home grown dma padding in favour of block: clear drain buffer if draining for write command block: implement request_queue->dma_drain_needed block: add request->raw_data_len block: update bio according to DMA alignment padding libata: update ATAPI overflow draining elevator: make elevator_get() attempt to load the appropriate module cfq-iosched: add hlist for browsing parallel to the radix tree block: make blk_rq_map_user() clear ->bio if it unmaps it fs/block_dev.c: remove #if 0'ed code make struct def_blk_aops static make blk_settings_init() static make blk_ioc_init() static make blk-core.c:request_cachep static again
2008-02-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Add regs_return_value(). [SPARC64]: Kill pcic_present(). [SPARC]: Kill 'prom_palette'. [ATYFB]: Kill 'prom_palette' sparc code. [SPARC64]: Kill 'prom_keyboard'. [SPARC]: Kill extern decl of 'panic_setup'. [SPARC64]: Delete 'boot_flags'. [SPARC64]: Kill unused function 'kernel_enter_debugger'. [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros [SPARC64]: Always register a PROM based early console. [SPARC64]: Update defconfig. [SPARC64]: Add -mtune=ultrasparc3 if possible. [SPARC64]: Remove Makefile code for ancient gcc and binutils. [SPARC64]: Remove DEBUG_BOOTMEM. [SPARC64]: Use shorter "get_zeroed_page" call. [SPARC]: Use shorter form of "get_zeroed_page". [SPARC]: video/cg14.c and video/sbuslib.c build fixes
2008-02-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits) [NIU]: Bump driver version and release date. [NIU]: Fix BMAC alternate MAC address indexing. net: fix kernel-doc warnings in header files [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route. [IPV6]: dst_entry leak in ip4ip6_err. (resend) bluetooth: do not move child device other than rfcomm bluetooth: put hci dev after del conn [NET]: Elminate spurious print_mac() calls. [BLUETOOTH] hci_sysfs.c: Kill build warning. [NET]: Remove MAC_FMT net/8021q/vlan_dev.c: Use print_mac. [XFRM]: Fix ordering issue in xfrm_dst_hash_transfer(). [BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros [IPV6]: Fix hardcoded removing of old module code [NETLABEL]: Move some initialization code into __init section. [NETLABEL]: Shrink the genl-ops registration code. [AX25] ax25_out: check skb for NULL in ax25_kick() [TCP]: Fix tcp_v4_send_synack() comment [IPV4]: fix alignment of IP-Config output Documentation: fix tcp.txt ...
2008-02-19x86: add pgd_large() on 64-bit, for consistencyH. Peter Anvin
In order to have it at all levels, add pgd_large() which only returns 0. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-02-19x86: minor cleanup of comments in processor.hMike Travis
Signed-off-by: Mike Travis <travis@sgi.com> Cc: Christoph Lameter <clameter@sgi.com> Cc: Jack Steiner <steiner@sgi.com> Cc: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-02-19x86: make mxcsr_feature_mask static againAdrian Bunk
Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Roland McGrath <roland@redhat.com> Cc: hpa@zytor.com Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-02-19remove mca-pentiumAdrian Bunk
This patch removes the mca-pentium boot option that was a noop. besides the source code cleanup factor, this saves some text as well: arch/x86/kernel/cpu/bugs.o: text data bss dec hex filename 651 77 4 732 2dc bugs.o.before 631 53 4 688 2b0 bugs.o.after Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-02-19[S390] find bit corner case.Martin Schwidefsky
Fix [ext2_]find_first_[zero_]bit for the corner case of an all clear or all set bit field by always handling that last word of the bit field with __ffz_word/__ffs_word. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-02-19libata: eliminate the home grown dma padding in favour ofJames Bottomley
that provided by the block layer ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a dma_alignment variable which ensures both the beginning and length of a DMA transfer are aligned on the dma_alignment boundary. Although the block layer does adjust the beginning of the transfer to ensure this happens, it doesn't actually adjust the length, it merely makes sure that space is allocated for transfers beyond the declared length. The upshot of this is that scatterlists may be padded to any size between the actual length and the length adjusted to the dma_alignment safely knowing that memory is allocated in this region. Right at the moment, SCSI takes the default dma_aligment which is on a 512 byte boundary. Note that this aligment only applies to transfers coming in from user space. However, since all kernel allocations are automatically aligned on a minimum of 32 byte boundaries, it is safe to adjust them in this manner as well. tj: * Adjusting sg after padding is done in block layer. Make libata set queue alignment correctly for ATAPI devices and drop broken sg mangling from ata_sg_setup(). * Use request->raw_data_len for ATAPI transfer chunk size. * Killed qc->raw_nbytes. * Separated out killing qc->n_iter. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19block: implement request_queue->dma_drain_neededTejun Heo
Draining shouldn't be done for commands where overflow may indicate data integrity issues. Add dma_drain_needed callback to request_queue. Drain buffer is appened iff this function returns non-zero. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19block: add request->raw_data_lenTejun Heo
With padding and draining moved into it, block layer now may extend requests as directed by queue parameters, so now a request has two sizes - the original request size and the extended size which matches the size of area pointed to by bios and later by sgs. The latter size is what lower layers are primarily interested in when allocating, filling up DMA tables and setting up the controller. Both padding and draining extend the data area to accomodate controller characteristics. As any controller which speaks SCSI can handle underflows, feeding larger data area is safe. So, this patch makes the primary data length field, request->data_len, indicate the size of full data area and add a separate length field, request->raw_data_len, for the unmodified request size. The latter is used to report to higher layer (userland) and where the original request size should be fed to the controller or device. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19cfq-iosched: add hlist for browsing parallel to the radix treeJens Axboe
It's cumbersome to browse a radix tree from start to finish, especially since we modify keys when a process exits. So add a hlist for the single purpose of browsing over all known cfq_io_contexts, used for exit, io prio change, etc. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=9948 Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19fs/block_dev.c: remove #if 0'ed codeAdrian Bunk
Commit b2e895dbd80c420bfc0937c3729b4afe073b3848 #if 0'ed this code stating: <-- snip --> [PATCH] revert blockdev direct io back to 2.6.19 version Andrew Vasquez is reporting as-iosched oopses and a 65% throughput slowdown due to the recent special-casing of direct-io against blockdevs. We don't know why either of these things are occurring. The patch minimally reverts us back to the 2.6.19 code for a 2.6.20 release. <-- snip --> It has since been dead code, and unless someone wants to revive it now it's time to remove it. This patch also makes bio_release_pages() static again and removes the ki_bio_count member from struct kiocb, reverting changes that had been done for this dead code. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
2008-02-19make struct def_blk_aops staticAdrian Bunk
This patch makes the needlessly global struct def_blk_aops static. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
2008-02-19[SPARC64]: Add regs_return_value().David S. Miller
Needed for kretprobes. Noticed by Ananth N Mavinakayanahalli. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-18net: fix kernel-doc warnings in header filesRandy Dunlap
Add missing structure kernel-doc descriptions to sock.h & skbuff.h to fix kernel-doc warnings. (I think that Stephen H. sent a similar patch, but I can't find it. I just want to kill the warnings, with either patch.) Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-18[NET]: Elminate spurious print_mac() calls.David S. Miller
Patrick McHardy notes that print_mac() can get invoked even if the result it unused (f.e. as an argument to pr_debug() when DEBUG is not defined). Mark this function as "__pure" to eliminate this problem. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19linux/hdsmart.h: fix goofups (take 2)Bartlomiej Zolnierkiewicz
Fix goofups of commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c ("<linux/hdsmart.h> is not used by kernel code"). Also update include/linux/Kbuild to reflect the fact that hdsmart.h uses __KERNEL__ ifdefs now. Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>