24 Apr, 2009

4 commits

  • The current mm interface is asymetric. One function allocates a locked
    buffer, another function only refunds the memory.

    Change this to have two functions for accounting and refunding locked
    memory, respectively; and do the actual buffer allocation in ptrace.

    [ Impact: refactor BTS buffer allocation code ]

    Signed-off-by: Markus Metzger
    Acked-by: Andrew Morton
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Markus Metzger
     
  • The races found by Oleg Nesterov have been fixed.

    Reenable branch trace support.

    Signed-off-by: Markus Metzger
    Acked-by: Oleg Nesterov
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Markus Metzger
     
  • The debug store selftest code uses a stack-allocated buffer, which is
    not necessarily correctly aligned.

    For tests using a buffer to hold a single entry, the buffer that is
    passed to ds_request must already be suitably aligned.

    Pass a suitably aligned portion of the bigger buffer.

    [ Impact: fix hw-branch-tracer self-test failure ]

    Signed-off-by: Markus Metzger
    Cc: markus.t.metzger@gmail.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Markus Metzger
     
  • Conflicts:
    arch/x86/kernel/ptrace.c

    Merge reason: fix the conflict above, and also pick up the CONFIG_BROKEN
    dependency change from upstream so that we can remove it
    here.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

22 Apr, 2009

35 commits

  • Linus Torvalds
     
  • There is currently only one way for userspace to say "wait for my storage
    device to get ready for the modules I just loaded": to load the
    scsi_wait_scan module. Expectations of userspace are that once this
    module is loaded, all the (storage) devices for which the drivers
    were loaded before the module load are present.

    Now, there are some issues with the implementation, and the async
    stuff got caught in the middle of this: The existing code only
    waits for the scsy async probing to finish, but it did not take
    into account at all that probing might not have begun yet.
    (Russell ran into this problem on his computer and the fix works for him)

    This patch fixes this more thoroughly than the previous "fix", which
    had some bad side effects (namely, for kernel code that wanted to wait for
    the scsi scan it would also do an async sync, which would deadlock if you did
    it from async context already.. there's a report about that on lkml):
    The patch makes the module first wait for all device driver probes, and then it
    will wait for the scsi parallel scan to finish.

    Signed-off-by: Arjan van de Ven
    Tested-by: Russell King
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • Fix a comment typo in slow-work.h

    ...a trivial mistake, but it will mess up kerneldoc if nothing else.

    Signed-off-by: Jonathan Corbet
    Signed-off-by: Linus Torvalds

    Jonathan Corbet
     
  • Collect the DECLARE/DEFINE declarations together in linux/percpu-defs.h so
    that they're in one place, and give them descriptive comments, particularly
    the SHARED_ALIGNED variant.

    It would be nice to collect these in linux/percpu.h, but that's not possible
    without sorting out the severe #include recursion between the x86 arch headers
    and the general headers (and possibly other arches too).

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
    does not agree with that specified by DEFINE_PER_CPU(). This means that
    architectures that have a small data section references relative to a base
    register may throw up linkage errors due to too great a displacement between
    where the base register points and the per-CPU variable.

    On FRV, the .h declaration says that the variable is in the .sdata section, but
    the .c definition says it's actually in the .data section. The linker throws
    up the following errors:

    kernel/built-in.o: In function `release_task':
    kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
    kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o

    To fix this, DECLARE_PER_CPU() should simply apply the same section attribute
    as does DEFINE_PER_CPU(). However, this is made slightly more complex by
    virtue of the fact that there are several variants on DEFINE, so these need to
    be matched by variants on DECLARE.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: fix btrfs fallocate oops and deadlock
    Btrfs: use the right node in reada_for_balance
    Btrfs: fix oops on page->mapping->host during writepage
    Btrfs: add a priority queue to the async thread helpers
    Btrfs: use WRITE_SYNC for synchronous writes

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    go7007: Convert to the new i2c device binding model

    Linus Torvalds
     
  • `!' has a higher precedence than `&', parentheses are misplaced.

    Signed-off-by: Roel Kluin
    Cc: Alan Cox
    Acked-by: Sonic Zhang
    Cc: Bryan Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • Commit a6dc60f8975ad96d162915e07703a4439c80dcf0 ("vmscan: rename
    sc.may_swap to may_unmap") removed the may_swap flag, but memcg had used
    it as a flag for "we need to use swap?", as the name indicate.

    And in the current implementation, memcg cannot reclaim mapped file
    caches when mem+swap hits the limit.

    re-introduce may_swap flag and handle it at get_scan_ratio(). This
    patch doesn't influence any scan_control users other than memcg.

    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: Daisuke Nishimura
    Acked-by: Johannes Weiner
    Cc: Balbir Singh
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • Error found by Jeff Haran.

    The error detect register is 0s when no errors are detected. The check
    code is incorrect, so reverse check sense.

    Reported-by: Jeff Haran
    Signed-off-by: Dave Jiang
    Signed-off-by: Doug Thompson
    Cc: Benjamin Herrenschmidt
    Acked-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jiang
     
  • Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13133

    ODEBUG: object is on stack, but not annotated
    ------------[ cut here ]------------
    WARNING: at lib/debugobjects.c:253 __debug_object_init+0x1f3/0x276()
    Hardware name: VMware Virtual Platform
    Modules linked in: mptspi(+) mptscsih mptbase scsi_transport_spi ext3 jbd mbcache
    Pid: 540, comm: insmod Not tainted 2.6.28-mm1 #2
    Call Trace:
    [] warn_slowpath+0x74/0x8a
    [] ? start_critical_timing+0x96/0xb7
    [] ? _spin_unlock_irqrestore+0x2f/0x3c
    [] ? trace_hardirqs_off_caller+0x18/0xaf
    [] ? trace_hardirqs_off+0xb/0xd
    [] ? _spin_unlock_irqrestore+0x2f/0x3c
    [] ? release_console_sem+0x1a5/0x1ad
    [] __debug_object_init+0x1f3/0x276
    [] debug_object_init+0x13/0x17
    [] init_timer+0x10/0x1a
    [] mpt_config+0x1c1/0x2b7 [mptbase]
    [] ? kmalloc+0x8/0xa [mptbase]
    [] ? kmalloc+0x8/0xa [mptbase]
    [] mpt_do_ioc_recovery+0x950/0x1212 [mptbase]
    [] ? __lock_acquire+0xa69/0xacc
    [] ? _spin_unlock_irqrestore+0x36/0x3c
    [] ? _spin_unlock_irq+0x22/0x26
    [] ? string+0x2b/0x76
    [] ? vsnprintf+0x338/0x7b3
    [] ? __lock_acquire+0xa69/0xacc
    [] ? _spin_unlock_irqrestore+0x2f/0x3c
    [] ? __lock_acquire+0xa69/0xacc
    [] ? debug_check_no_locks_freed+0xeb/0x105
    [] ? _spin_unlock_irqrestore+0x36/0x3c
    [] ? debug_check_no_locks_freed+0x2a/0x105
    [] ? lock_release_holdtime+0x43/0x48
    [] ? up_read+0x16/0x29
    [] ? pci_get_slot+0x66/0x72
    [] mpt_attach+0x881/0x9b1 [mptbase]
    [] mptspi_probe+0x11/0x354 [mptspi]

    Noticing that every caller of mpt_config has its CONFIGPARMS struct
    declared on the stack and thus the &pCfg->timer is always on the stack I
    changed init_timer() to init_timer_on_stack() and it seems to have shut
    up.....

    Cc: "Moore, Eric Dean"
    Cc: James Bottomley
    Cc: Thomas Gleixner
    Acked-by: "Desai, Kashyap"
    Cc: [2.6.29.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Paris
     
  • For an upcoming distro release, we need to have the xp kernel module
    loadable even when not on UV equipment. The xpc module will not load.
    This will allow one set of modules dependent upon xp to work on either UV
    or non-UV equipment.

    Signed-off-by: Robin Holt
    Signed-off-by: Jack Steiner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Got this warning from Kconfig:

    boolean symbol INPUT tested for 'm'? test forced to 'n'

    because INPUT is tristate, not bool.

    Signed-off-by: WANG Cong
    Cc: Sam Ravnborg
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Insert PCI root bus resources for the FRV-based MB93090 development kit
    motherboard. This is required because the CPU's window onto the PCI bus
    address space is considerably smaller than the CPU's full address space
    and non-PCI devices lie outside of the PCI window that we might want to
    access.

    Without this patch, the PCI root bus uses the platform-level bus
    resources, and these are then confined to the PCI window, thus making
    platform_device_add() reject devices outside of this window.

    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • With no IRQ available/defined, RTC-CMOS driver prints something like:
    rtc0: alarms up to one no, y3k, 114 bytes nvram
    ^^^^
    I guess the following is a bit easier to understand:
    rtc0: no alarms, y3k, 114 bytes nvram

    Signed-off-by: Krzysztof Halasa
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Halasa
     
  • This is a doc-only patch which I hope will reduce the number of
    spi_master controller driver patches starting out with a common
    implementation bug.

    (As in: almost every spi_master driver I see starts out with its
    version of this bug. Sigh.)

    It just re-emphasizes that the setup() method may be called for one
    device while a transfer is active on another ... which means that most
    driver implementations shouldn't touch any registers.

    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Add a parenthesized string of "H8300" for more convenient searchability
    in the MAINTAINERS file.

    Signed-off-by: Robert P. J. Day
    Cc: Yoshinori Sato
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Impact: make more work for myself

    Signed-off-by: Matt Mackall
    Cc: David Woodhouse
    Acked-by: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • On line 944 the return value of flush() is considered as a boolean,
    but limit reaches -1 upon timeout which evaluates to true.

    On 540, 594, 720 the same occurs for wait_ssp_rx_stall()
    On 536 the same occurs for wait_dma_channel_stop()

    Signed-off-by: Roel Kluin
    Acked-by: Eric Miao
    Cc: David Brownell
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • Signed-off-by: Joe Perches
    Acked-by: Pekka Enberg
    Acked-by: Eduard - Gabriel Munteanu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • There are no more arches with suspend support using these directories.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • If DMA is enabled, any spi_sync call after suspend/resume would block
    forever, because DRCMR is lost on suspend. This patch restores DRCMR to
    the same values set by probe.

    Signed-off-by: Daniel Ribeiro
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Ribeiro
     
  • On parisc machines, which don't have HIL, removing the hp_sdc module
    panics the kernel. Fix this by returning early in hp_sdc_exit() if no HP
    SDC controller was found.

    Add functionality to probe for the hp_sdc_mlc kernel module (which takes
    care of the upper layer HIL functionality on parisc) after two seconds.
    This is needed to get all the other HIL drivers (keyboard / mouse/ ..)
    drivers automatically loaded by udev later as well.

    Signed-off-by: Helge Deller
    Cc: Geert Uytterhoeven
    Cc: Frans Pop
    Cc: Kyle McMartin
    Cc: Grant Grundler
    Acked-by: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Helge Deller
     
  • mm->owner should be accessed with rcu_dereference().

    Reported-by: KOSAKI Motohiro
    Signed-off-by: KAMEZAWA Hiroyuki
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • This fixes the following BUG:

    # mount -o size=MM -t hugetlbfs none /huge
    hugetlbfs: Bad value 'MM' for mount option 'size=MM'
    ------------[ cut here ]------------
    kernel BUG at fs/super.c:996!

    Due to

    BUG_ON(!mnt->mnt_sb);

    in vfs_kern_mount().

    Also, remove unused #include

    Cc: William Irwin
    Cc:
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Enable userspace to receive messages that a BMC transmits using an OEM
    medium. This is used by the HP iLO2.

    Based on code originally written by Patrick Schoeller.

    Signed-off-by: dann frazier
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    dann frazier
     
  • Bela Lubkin noticed that the statistics for send IPMB and LAN commands
    in the IPMI driver could be incremented even if an error occurred. Move
    the increments to the proper place to avoid this.

    Also add some statistics for retransmissions that failed, and some little
    helper functions to neaten up the code a little.

    Signed-off-by: Corey Minyard
    Cc: Bela Lubkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The IPMI driver would attempt to use the event buffer even if that
    didn't exist on the BMC. This patch modified the IPMI driver to check
    for the event buffer's existence before trying to use it.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The wrong return value is being tested when allocating a platform device
    in the IPMI SI code. Check the right value.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • Add enable() and disable() callbacks for clocksources.

    This allows us to put unused clocksources in power save mode. The
    functions clocksource_enable() and clocksource_disable() wrap the
    callbacks and are inserted in the timekeeping code to enable before use
    and disable after switching to a new clocksource.

    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • Pass clocksource pointer to the read() callback for clocksources. This
    allows us to share the callback between multiple instances.

    [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • Fixes the warning:

    drivers/video/pxafb.c: In function 'pxafb_handle_irq':
    drivers/video/pxafb.c:1442: warning: unused variable 'lcsr1'

    [akpm@linux-foundation.org: save an ifdef]
    Signed-off-by: Denis V. Lunev
    Cc: Eric Miao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis V. Lunev
     
  • Commit 032220ba (asiliantfb: fix cmap memory leaks) changed the function
    init_asiliant from void to int, resulting in the following compile warning:

    drivers/video/asiliantfb.c: In function `init_asiliant':
    drivers/video/asiliantfb.c:536: warning: control reaches end of non-void function

    Fix the warning by returning 0.

    Signed-off-by: Vlada Peric
    Cc: Andres Salomon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlada Peric
     
  • Move the go7007 driver away from the legacy i2c binding model, which
    is going away really soon now.

    The I2C addresses of the audio and video chips in s2250-board didn't
    look quite right, apparently they were left-aligned values when Linux
    wants right-aligned values, so I fixed them too.

    Signed-off-by: Jean Delvare
    Cc: Greg Kroah-Hartman

    Jean Delvare
     
  • Btrfs fallocate was incorrectly starting a transaction with a lock held
    on the extent_io tree for the file, which could deadlock. Strictly
    speaking it was using join_transaction which would be safe, but it is better
    to move the transaction outside of the lock.

    When preallocated extents are overwritten, btrfs_mark_buffer_dirty was
    being called on an unlocked buffer. This was triggering an assertion and
    oops because the lock is supposed to be held.

    The bug was calling btrfs_mark_buffer_dirty on a leaf after btrfs_del_item had
    been run. btrfs_del_item takes care of dirtying things, so the solution is a
    to skip the btrfs_mark_buffer_dirty call in this case.

    Signed-off-by: Chris Mason

    Chris Mason
     

21 Apr, 2009

1 commit