09 Mar, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits)
    msi-laptop: depends on RFKILL
    msi-laptop: Detect 3G device exists by standard ec command
    msi-laptop: Add resume method for set the SCM load again
    msi-laptop: Support some MSI 3G netbook that is need load SCM
    msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
    msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
    Driver core: create lock/unlock functions for struct device
    sysfs: fix for thinko with sysfs_bin_attr_init()
    sysfs: Kill unused sysfs_sb variable.
    sysfs: Pass super_block to sysfs_get_inode
    driver core: Use sysfs_rename_link in device_rename
    sysfs: Implement sysfs_rename_link
    sysfs: Pack sysfs_dirent more tightly.
    sysfs: Serialize updates to the vfs inode
    sysfs: windfarm: init sysfs attributes
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
    sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
    sysfs: Use one lockdep class per sysfs attribute.
    sysfs: Only take active references on attributes.
    ...

    Linus Torvalds
     

08 Mar, 2010

14 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] i6300esb.c: change platform_driver to pci_driver
    [WATCHDOG] i6300esb: fix unlock register with
    [WATCHDOG] drivers/watchdog/wdt.c:wdt_ioctl(): make `ident' non-static
    [WATCHDOG] change reboot_notifier to platform-shutdown method.
    [WATCHDOG] watchdog_info constify
    [WATCHDOG] gef_wdt: Author corrections following split of GE Fanuc joint venture
    [WATCHDOG] iTCO_wdt: clean up probe(), modify err msg
    [WATCHDOG] ep93xx: watchdog timer driver for TS-72xx SBCs cleanup
    [WATCHDOG] support for max63xx watchdog timer chips
    [WATCHDOG] ep93xx: added platform side support for TS-72xx WDT driver
    [WATCHDOG] ep93xx: implemented watchdog timer driver for TS-72xx SBCs

    Linus Torvalds
     
  • Declare the smsgiucv prefix char pointer as "const" and use
    use const char pointers in callback functions.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • zfcp and qeth are setting flags for the qdio-layer, but these flags
    are not used in qdio. Patch removes the flag definitions from qdio
    and their settings in zfcp and qeth.

    Cc: Jan Glauber
    Cc: Christof Schmitt
    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • This replaces direct xtime usage in the s390 arch with timekeeping accessors,
    so we can further clean up the timekeeping core.

    Cc: Thomas Gleixner
    Signed-off-by: John Stultz
    Signed-off-by: Martin Schwidefsky

    John Stultz
     
  • If there is no in kernel image caller modules will suffer:

    ERROR: "copy_from_user_overflow" [net/core/pktgen.ko] undefined!
    ERROR: "copy_from_user_overflow" [net/can/can-raw.ko] undefined!
    ERROR: "copy_from_user_overflow" [fs/cifs/cifs.ko] undefined!

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • These are the non-static sysfs attributes that exist on
    my test machine. Fix them to use sysfs_attr_init or
    sysfs_bin_attr_init as appropriate. It simply requires
    making a sysfs attribute present to see this. So this
    is a little bit tedious but otherwise not too bad.

    Signed-off-by: Eric W. Biederman
    Acked-by: WANG Cong
    Cc: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • A pointer to a probe callback is passed to the core via
    platform_driver_register and so the function must not disappear when the
    .init sections are discarded. Otherwise (if also having HOTPLUG=y)
    unbinding and binding a device to the driver via sysfs will result in an
    oops as does a device being registered late.

    An alternative to this patch is using platform_driver_probe instead of
    platform_driver_register plus removing the pointer to the probe function
    from the struct platform_driver.

    Signed-off-by: Uwe Kleine-König
    Cc: Andrew Morton
    Cc: Ben Dooks
    Cc: Dmitry Baryshkov
    Cc: Eric Miao
    Cc: Liam Girdwood
    Cc: Paul Sokolovsky
    Cc: Richard Purdie
    Cc: Russell King
    Acked-by: Arnaud Patard
    Acked-by: Dmitry Eremin-Solenikov
    Acked-by: Kristoffer Ericson
    Signed-off-by: Greg Kroah-Hartman

    Uwe Kleine-König
     
  • Constify struct sysfs_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Acked-by: David Teigland
    Acked-by: Matt Domsch
    Acked-by: Maciej Sosnowski
    Acked-by: Hans J. Koch
    Acked-by: Pekka Enberg
    Acked-by: Jens Axboe
    Acked-by: Stephen Hemminger
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     
  • In linux-next "sysdev: Pass attribute in sysdev_class attributes show/store"
    forgot to convert one place in s390 code. Here is the missing part.

    Cc: Andi Kleen
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Greg Kroah-Hartman

    Heiko Carstens
     
  • Passing the attribute to the low level IO functions allows all kinds
    of cleanups, by sharing low level IO code without requiring
    an own function for every piece of data.

    Also drivers can extend the attributes with own data fields
    and use that in the low level function.

    Similar to sysdev_attributes and normal attributes.

    This is a tree-wide sweep, converting everything in one go.

    No functional changes in this patch other than passing the new
    argument everywhere.

    Tested on x86, the non x86 parts are uncompiled.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     
  • * 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
    x86, mrst: Fix whitespace breakage in apb_timer.c
    x86, mrst: Fix APB timer per cpu clockevent
    x86, mrst: Remove X86_MRST dependency on PCI_IOAPIC
    x86, olpc: Use pci subarch init for OLPC
    x86, pci: Add arch_init to x86_init abstraction
    x86, mrst: Add Kconfig dependencies for Moorestown
    x86, pci: Exclude Moorestown PCI code if CONFIG_X86_MRST=n
    x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI
    x86, pci: Add sanity check for PCI fixed bar probing
    x86, legacy_irq: Remove duplicate vector assigment
    x86, legacy_irq: Remove left over nr_legacy_irqs
    x86, mrst: Platform clock setup code
    x86, apbt: Moorestown APB system timer driver
    x86, mrst: Add vrtc platform data setup code
    x86, mrst: Add platform timer info parsing code
    x86, mrst: Fill in PCI functions in x86_init layer
    x86, mrst: Add dummy legacy pic to platform setup
    x86/PCI: Moorestown PCI support
    x86, ioapic: Add dummy ioapic functions
    x86, ioapic: Early enable ioapic for timer irq
    ...

    Fixed up semantic conflict of new clocksources due to commit
    17622339af25 ("clocksource: add argument to resume callback").

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits)
    sh: Convert sh to use read/update_persistent_clock
    sh: Move PMB debugfs entry initialization to later stage
    sh: Fix up flush_cache_vmap() on SMP.
    sh: fix up MMU reset with variable PMB mapping sizes.
    sh: establish PMB mappings for NUMA nodes.
    sh: check for existing mappings for bolted PMB entries.
    sh: fixed virt/phys mapping helpers for PMB.
    sh: make pmb iomapping configurable.
    sh: reworked dynamic PMB mapping.
    sh: Fix up cpumask_of_pcibus() for the NUMA build.
    serial: sh-sci: Tidy up build warnings.
    sh: Fix up ctrl_read/write stragglers in migor setup.
    serial: sh-sci: Add DMA support.
    dmaengine: shdma: extend .device_terminate_all() to record partial transfer
    sh: merge sh7722 and sh7724 DMA register definitions
    sh: activate runtime PM for dmaengine on sh7722 and sh7724
    dmaengine: shdma: add runtime PM support.
    dmaengine: shdma: separate DMA headers.
    dmaengine: shdma: convert to platform device resources
    dmaengine: shdma: fix DMA error handling.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
    parisc: use __ratelimit in unaligned.c
    parisc: Convert to read/update_persistent_clock
    parisc: Simplify param.h by including
    parisc: drop unnecessary cast in __ldcw_align() macro
    parisc: add strict copy size checks (v2)
    parisc: remove trailing space in messages
    parisc: ditto sys_accept4
    parisc: wire up sys_recvmmsg

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Fix cast warning in pcc driver.
    [CPUFREQ] Processor Clocking Control interface driver

    Linus Torvalds
     

07 Mar, 2010

21 commits

  • make the watchdog_info struct const where possible.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Replace open-coded rate limiting logic with __ratelimit().

    Signed-off-by: Akinobu Mita
    Signed-off-by: Kyle McMartin

    Akinobu Mita
     
  • This patch converts the parisc architecture to use the generic
    read_persistent_clock and update_persistent_clock interfaces, reducing
    the amount of arch specific code we have to maintain, and allowing for
    further cleanups in the future.

    I have not built or tested this patch, so help from arch maintainers
    would be appreciated.

    Signed-off-by: John Stultz
    Acked-by: Helge Deller
    Signed-off-by: Kyle McMartin

    john stultz
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Kyle McMartin

    Robert P. J. Day
     
  • __ldcw_align() can directly access the slock member of struct arch_spinlock_t
    instead of using an ugly cast.

    Signed-off-by: Helge Deller
    Signed-off-by: Kyle McMartin

    Helge Deller
     
  • Add CONFIG_DEBUG_STRICT_USER_COPY_CHECKS, copied from the x86
    implementation. Tested with 32 and 64bit kernel.

    Signed-off-by: Helge Deller
    Signed-off-by: Kyle McMartin

    Helge Deller
     
  • Signed-off-by: Frans Pop
    Cc: linux-parisc@vger.kernel.org
    Cc: Kyle McMartin
    Cc: Helge Deller
    Signed-off-by: Kyle McMartin

    Frans Pop
     
  • tested with test_accept4.c from de11defebf00007677fb7ee91d9b089b78786fbb

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • Signed-off-by: Helge Deller
    Signed-off-by: Kyle McMartin

    Helge Deller
     
  • The current ELF dumper implementation can produce broken corefiles if
    program headers exceed 65535. This number is determined by the number of
    vmas which the process have. In particular, some extreme programs may use
    more than 65535 vmas. (If you google max_map_count, you can find some
    users facing this problem.) This kind of program never be able to generate
    correct coredumps.

    This patch implements ``extended numbering'' that uses sh_info field of
    the first section header instead of e_phnum field in order to represent
    upto 4294967295 vmas.

    This is supported by
    AMD64-ABI(http://www.x86-64.org/documentation.html) and
    Solaris(http://docs.sun.com/app/docs/doc/817-1984/).
    Of course, we are preparing patches for gdb and binutils.

    Signed-off-by: Daisuke HATAYAMA
    Cc: "Luck, Tony"
    Cc: Jeff Dike
    Cc: David Howells
    Cc: Greg Ungerer
    Cc: Roland McGrath
    Cc: Oleg Nesterov
    Cc: Ingo Molnar
    Cc: Alexander Viro
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke HATAYAMA
     
  • elf_core_dump() and elf_fdpic_core_dump() use #ifdef and the corresponding
    macro for hiding _multiline_ logics in functions. This patch removes
    #ifdef and replaces ELF_CORE_EXTRA_* by corresponding functions. For
    architectures not implemeonting ELF_CORE_EXTRA_*, we use weak functions in
    order to reduce a range of modification.

    This cleanup is for my next patches, but I think this cleanup itself is
    worth doing regardless of my firnal purpose.

    Signed-off-by: Daisuke HATAYAMA
    Cc: "Luck, Tony"
    Cc: Jeff Dike
    Cc: David Howells
    Cc: Greg Ungerer
    Cc: Roland McGrath
    Cc: Oleg Nesterov
    Cc: Ingo Molnar
    Cc: Alexander Viro
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke HATAYAMA
     
  • The macro any_online_node() is prone to producing sparse warnings due to
    the local symbol 'node'. Since all the in-tree users are really
    requesting the first online node (the mask argument is either
    NODE_MASK_ALL or node_online_map) just use the first_online_node macro and
    remove the any_online_node macro since there are no users.

    Signed-off-by: H Hartley Sweeten
    Acked-by: David Rientjes
    Reviewed-by: KAMEZAWA Hiroyuki
    Cc: Mel Gorman
    Cc: Lee Schermerhorn
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Dave Hansen
    Cc: Milton Miller
    Cc: Nathan Fontenot
    Cc: Geoff Levand
    Cc: Grant Likely
    Cc: J. Bruce Fields
    Cc: Neil Brown
    Cc: Trond Myklebust
    Cc: David S. Miller
    Cc: Benny Halevy
    Cc: Chuck Lever
    Cc: Ricardo Labiaga
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     
  • Tell git to ignore the generated files under um, except:

    include/shared/kern_constants.h
    include/shared/user_constants.h

    which will be moved to include/generated.

    Signed-off-by: WANG Cong
    Cc: Al Viro
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Assign tty only if line is not NULL.

    [akpm@linux-foundation.org: simplification]
    Signed-off-by: Alexander Beregalov
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Beregalov
     
  • With id 1 the wrong bp was unwatched.

    Signed-off-by: Roel Kluin
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • size_t desc_len cannot be less than 0, test before the subtraction.

    Signed-off-by: Roel Kluin
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • Convert cris to use GENERIC_TIME via the arch_getoffset() infrastructure,
    reducing the amount of arch specific code we need to maintain.

    Signed-off-by: John Stultz
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • The initial -EINVAL value is overwritten by `retval = PTR_ERR(name)'. If
    this isn't an error pointer and typenr is not 1, 6 or 9, then this retval,
    a pointer cast to a long, is returned.

    Signed-off-by: Roel Kluin
    Acked-by: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • No architecture except for frv has pci_dma_sync_single() and
    pci_dma_sync_sg(). The APIs are deprecated.

    Signed-off-by: FUJITA Tomonori
    Acked-by: David S. Miller
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • The old anon_vma code can lead to scalability issues with heavily forking
    workloads. Specifically, each anon_vma will be shared between the parent
    process and all its child processes.

    In a workload with 1000 child processes and a VMA with 1000 anonymous
    pages per process that get COWed, this leads to a system with a million
    anonymous pages in the same anon_vma, each of which is mapped in just one
    of the 1000 processes. However, the current rmap code needs to walk them
    all, leading to O(N) scanning complexity for each page.

    This can result in systems where one CPU is walking the page tables of
    1000 processes in page_referenced_one, while all other CPUs are stuck on
    the anon_vma lock. This leads to catastrophic failure for a benchmark
    like AIM7, where the total number of processes can reach in the tens of
    thousands. Real workloads are still a factor 10 less process intensive
    than AIM7, but they are catching up.

    This patch changes the way anon_vmas and VMAs are linked, which allows us
    to associate multiple anon_vmas with a VMA. At fork time, each child
    process gets its own anon_vmas, in which its COWed pages will be
    instantiated. The parents' anon_vma is also linked to the VMA, because
    non-COWed pages could be present in any of the children.

    This reduces rmap scanning complexity to O(1) for the pages of the 1000
    child processes, with O(N) complexity for at most 1/N pages in the system.
    This reduces the average scanning cost in heavily forking workloads from
    O(N) to 2.

    The only real complexity in this patch stems from the fact that linking a
    VMA to anon_vmas now involves memory allocations. This means vma_adjust
    can fail, if it needs to attach a VMA to anon_vma structures. This in
    turn means error handling needs to be added to the calling functions.

    A second source of complexity is that, because there can be multiple
    anon_vmas, the anon_vma linking in vma_adjust can no longer be done under
    "the" anon_vma lock. To prevent the rmap code from walking up an
    incomplete VMA, this patch introduces the VM_LOCK_RMAP VMA flag. This bit
    flag uses the same slot as the NOMMU VM_MAPPED_COPY, with an ifdef in mm.h
    to make sure it is impossible to compile a kernel that needs both symbolic
    values for the same bitflag.

    Some test results:

    Without the anon_vma changes, when AIM7 hits around 9.7k users (on a test
    box with 16GB RAM and not quite enough IO), the system ends up running
    >99% in system time, with every CPU on the same anon_vma lock in the
    pageout code.

    With these changes, AIM7 hits the cross-over point around 29.7k users.
    This happens with ~99% IO wait time, there never seems to be any spike in
    system time. The anon_vma lock contention appears to be resolved.

    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Rik van Riel
    Cc: KOSAKI Motohiro
    Cc: Larry Woodman
    Cc: Lee Schermerhorn
    Cc: Minchan Kim
    Cc: Andrea Arcangeli
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rik van Riel
     
  • Rename for_each_bit to for_each_set_bit in the kernel source tree. To
    permit for_each_clear_bit(), should that ever be added.

    The patch includes a macro to map the old for_each_bit() onto the new
    for_each_set_bit(). This is a (very) temporary thing to ease the migration.

    [akpm@linux-foundation.org: add temporary for_each_bit()]
    Suggested-by: Alexey Dobriyan
    Suggested-by: Andrew Morton
    Signed-off-by: Akinobu Mita
    Cc: "David S. Miller"
    Cc: Russell King
    Cc: David Woodhouse
    Cc: Artem Bityutskiy
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

06 Mar, 2010

4 commits

  • Signed-off-by: Mika Westerberg
    Signed-off-by: Wim Van Sebroeck

    Mika Westerberg
     
  • * 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (145 commits)
    KVM: x86: Add KVM_CAP_X86_ROBUST_SINGLESTEP
    KVM: VMX: Update instruction length on intercepted BP
    KVM: Fix emulate_sys[call, enter, exit]()'s fault handling
    KVM: Fix segment descriptor loading
    KVM: Fix load_guest_segment_descriptor() to inject page fault
    KVM: x86 emulator: Forbid modifying CS segment register by mov instruction
    KVM: Convert kvm->requests_lock to raw_spinlock_t
    KVM: Convert i8254/i8259 locks to raw_spinlocks
    KVM: x86 emulator: disallow opcode 82 in 64-bit mode
    KVM: x86 emulator: code style cleanup
    KVM: Plan obsolescence of kernel allocated slots, paravirt mmu
    KVM: x86 emulator: Add LOCK prefix validity checking
    KVM: x86 emulator: Check CPL level during privilege instruction emulation
    KVM: x86 emulator: Fix popf emulation
    KVM: x86 emulator: Check IOPL level during io instruction emulation
    KVM: x86 emulator: fix memory access during x86 emulation
    KVM: x86 emulator: Add Virtual-8086 mode of emulation
    KVM: x86 emulator: Add group9 instruction decoding
    KVM: x86 emulator: Add group8 instruction decoding
    KVM: do not store wqh in irqfd
    ...

    Trivial conflicts in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     
  • Fix missing kernel-doc notation in mtrr/main.c:

    Warning(arch/x86/kernel/cpu/mtrr/main.c:152): No description found for parameter 'info'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • …nel/git/tip/linux-2.6-tip

    * 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Issue at least one memory barrier in stop_machine_text_poke()
    perf probe: Correct probe syntax on command line help
    perf probe: Add lazy line matching support
    perf probe: Show more lines after last line
    perf probe: Check function address range strictly in line finder
    perf probe: Use libdw callback routines
    perf probe: Use elfutils-libdw for analyzing debuginfo
    perf probe: Rename probe finder functions
    perf probe: Fix bugs in line range finder
    perf probe: Update perf probe document
    perf probe: Do not show --line option without dwarf support
    kprobes: Add documents of jump optimization
    kprobes/x86: Support kprobes jump optimization on x86
    x86: Add text_poke_smp for SMP cross modifying code
    kprobes/x86: Cleanup save/restore registers
    kprobes/x86: Boost probes when reentering
    kprobes: Jump optimization sysctl interface
    kprobes: Introduce kprobes jump optimization
    kprobes: Introduce generic insn_slot framework
    kprobes/x86: Cleanup RELATIVEJUMP_INSTRUCTION to RELATIVEJUMP_OPCODE

    Linus Torvalds