08 Apr, 2008

16 commits


07 Apr, 2008

14 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    fix endian lossage in forcedeth
    net/tokenring/olympic.c section fixes
    net: marvell.c fix sparse shadowed variable warning
    [VLAN]: Fix egress priority mappings leak.
    [TG3]: Add PHY workaround for 5784
    [NET]: srandom32 fixes for networking v2
    [IPV6]: Fix refcounting for anycast dst entries.
    [IPV6]: inet6_dev on loopback should be kept until namespace stop.
    [IPV6]: Event type in addrconf_ifdown is mis-used.
    [ICMP]: Ensure that ICMP relookup maintains status quo

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Fix user accesses in regset code.
    [SPARC64]: Fix FPU saving in 64-bit signal handling.

    Linus Torvalds
     
  • * 'pci_id_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (7497): pvrusb2: add new usb pid for 73xxx models
    V4L/DVB (7496): pvrusb2: add new usb pid for 75xxx models

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (7499): v4l/dvb Kconfig: Fix bugzilla #10067
    V4L/DVB (7495): s5h1409: fix blown-away bit in function s5h1409_set_gpio
    V4L/DVB (7460): bttv: Bt832 - fix possible NULL pointer deref

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog

    Linus Torvalds
     
  • We handle a broken tsc these days, so no need to panic. We clear the
    TSC bit when tsc_init decides it's unreliable (eg. under lguest w/ bad
    host TSC), leading to bogus panic.

    Signed-off-by: Rusty Russell
    Acked-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • Now that we're mapping registers in the DRM driver at load time, the
    driver actually checks the PCI ID, so we need to make sure the macros
    have all the right bits (and longer term use the DRM headers as the sole
    copy of the PCI & register definitions).

    This patch adds 945GME support to the DRM headers, fixing a regression
    reported in http://bugzilla.kernel.org/show_bug.cgi?id=10395.

    Tested-by: Alexander Oltu
    Signed-off-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Jesse Barnes
     
  • Since 2.6.25-rc7, I've been seeing an occasional livelock on one x86_64
    machine, copying kernel trees to tmpfs, paging out to swap.

    Signature: 6000 pages under writeback but never getting written; most
    tasks of interest trying to reclaim, but each get_swap_bio waiting for a
    bio in mempool_alloc's io_schedule_timeout(5*HZ); every five seconds an
    atomic page allocation failure report from kblockd failing to allocate a
    sense_buffer in __scsi_get_command.

    __scsi_get_command has a (one item) free_list to protect against this,
    but rc1's [SCSI] use dynamically allocated sense buffer
    de25deb18016f66dcdede165d07654559bb332bc upset that slightly. When it
    fails to allocate from the separate sense_slab, instead of giving up, it
    must fall back to the command free_list, which is sure to have a
    sense_buffer attached.

    Either my earlier -rc testing missed this, or there's some recent
    contributory factor. One very significant factor is SLUB, which merges
    slab caches when it can, and on 64-bit happens to merge both bio cache
    and sense_slab cache into kmalloc's 128-byte cache: so that under this
    swapping load, bios above are liable to gobble up all the slots needed
    for scsi_cmnd sense_buffers below.

    That's disturbing behaviour, and I tried a few things to fix it. Adding
    a no-op constructor to the sense_slab inhibits SLUB from merging it, and
    stops all the allocation failures I was seeing; but it's rather a hack,
    and perhaps in different configurations we have other caches on the
    swapout path which are ill-merged.

    Another alternative is to revert the separate sense_slab, using
    cache-line-aligned sense_buffer allocated beyond scsi_cmnd from the one
    kmem_cache; but that might waste more memory, and is only a way of
    diverting around the known problem.

    While I don't like seeing the allocation failures, and hate the idea of
    all those bios piled up above a scsi host working one by one, it does
    seem to emerge fairly soon with the livelock fix. So lacking better
    ideas, stick with that one clear fix for now.

    Signed-off-by: Hugh Dickins
    Cc: James Bottomley
    Cc: Andrew Morton
    Cc: FUJITA Tomonori
    Cc: Jens Axboe
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Michael Krufky
     
  • Signed-off-by: Michael Krufky
    Signed-off-by: Mauro Carvalho Chehab

    Michael Krufky
     
  • tda8290 breaks if tuner is selected, but CONFIG_DVB=n.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Preserve all other bits when setting gpio.

    Signed-off-by: Michael Krufky
    Signed-off-by: Steven Toth
    Signed-off-by: Mauro Carvalho Chehab

    Michael Krufky
     
  • This patch does fix potential NULL pointer dereference

    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Mauro Carvalho Chehab

    Cyrill Gorcunov
     
  • I noticed this while testing the latest code. I'm not sure if it is required,
    but the normal (or LSB) timeout value is set to zero, so the MSB should
    be as well to stay consistent.

    If the chip revision is >= 8, set MSB of the 16-bit timeout value to zero
    when disabling the watchdog in it8712f_wdt_disable().

    Signed-off-by: Andrew Paprocki
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Andrew Paprocki
     

06 Apr, 2008

1 commit

  • This reverts commit 7c0ea45be4f114d85ee35caeead8e1660699c46f which
    caused a regression with the backlight being set to off when a laptop
    doesn't have a _BQC entry to query the actual backlight value. The code
    blindly then falls back on a value of 0.

    See
    http://bugzilla.kernel.org/show_bug.cgi?id=10387
    http://lkml.org/lkml/2008/4/2/366

    for details.

    Bisected-and-reported-by: Andrey Borzenkov
    Cc: Zhao Yakui
    Cc: Zhang Rui
    Cc: Len Brown
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

05 Apr, 2008

9 commits

  • * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus:
    [MIPS] Make KGDB compile on UP
    [MIPS] Pb1200: Fix header breakage

    Linus Torvalds
     
  • David S. Miller
     
  • In 2.6.14 a patch was merged which switching the order of the ipmi device
    naming from in-order-of-discovery over to reverse-order-of-discovery.

    So on systems with multiple BMC interfaces, the ipmi device names are being
    created in reverse order relative to how they are discovered on the system
    (e.g. on an IBM x3950 multinode server with N nodes, the device name for the
    BMC in the first node is /dev/ipmiN-1 and the device name for the BMC in the
    last node is /dev/ipmi0, etc.).

    The problem is caused by the list handling routines chosen in dmi_scan.c.
    Using list_add() causes the multiple ipmi devices to be added to the device
    list using a stack-paradigm and so the ipmi driver subsequently pulls them off
    during initialization in LIFO order. This patch changes the
    dmi_save_ipmi_device() list handling paradigm to a queue, thereby allowing the
    ipmi driver to build the ipmi device names in the order in which they are
    found on the system.

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

    Carol Hebert
     
  • THe CFI driver in 2.6.24 kernel is broken. Not so intensive read/write
    operations cause incomplete writes which lead to kernel panics in JFFS2.

    We investigated the issue - it is caused by bug in FL_SHUTDOWN parsing code.
    Sometimes chip returns -EIO as if it is in FL_SHUTDOWN state when it should
    wait in FL_PONT (error in order of conditions).

    The following patch fixes the bug in state parsing code of CFI. Also I've
    added comments to notify developers if they want to add new case in future.

    Signed-off-by: Alexey Korolev
    Reviewed-by: Joern Engel
    Cc: David Woodhouse
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Korolev
     
  • A boot option for the memory controller was discussed on lkml. It is a good
    idea to add it, since it saves memory for people who want to turn off the
    memory controller.

    By default the option is on for the following two reasons:

    1. It provides compatibility with the current scheme where the memory
    controller turns on if the config option is enabled
    2. It allows for wider testing of the memory controller, once the config
    option is enabled

    We still allow the create, destroy callbacks to succeed, since they are not
    aware of boot options. We do not populate the directory will memory resource
    controller specific files.

    Signed-off-by: Balbir Singh
    Cc: Paul Menage
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: KAMEZAWA Hiroyuki
    Cc: Hugh Dickins
    Cc: Sudhir Kumar
    Cc: YAMAMOTO Takashi
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Balbir Singh
     
  • The effects of cgroup_disable=foo are:

    - foo isn't auto-mounted if you mount all cgroups in a single hierarchy
    - foo isn't visible as an individually mountable subsystem

    As a result there will only ever be one call to foo->create(), at init time;
    all processes will stay in this group, and the group will never be mounted on
    a visible hierarchy. Any additional effects (e.g. not allocating metadata)
    are up to the foo subsystem.

    This doesn't handle early_init subsystems (their "disabled" bit isn't set be,
    but it could easily be extended to do so if any of the early_init systems
    wanted it - I think it would just involve some nastier parameter processing
    since it would occur before the command-line argument parser had been run.

    Hugh said:

    Ballpark figures, I'm trying to get this question out rather than
    processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead
    to the affected paths, booting with cgroup_disable=memory cuts that back to
    1% overhead (due to slightly bigger struct page).

    I'm no expert on distros, they may have no interest whatever in
    CONFIG_CGROUP_MEM_RES_CTLR=y; and the rest of us can easily build with or
    without it, or apply the cgroup_disable=memory patches.

    Unix bench's execl test result on x86_64 was

    == just after boot without mounting any cgroup fs.==
    mem_cgorup=off : Execl Throughput 43.0 3150.1 732.6
    mem_cgroup=on : Execl Throughput 43.0 2932.6 682.0
    ==

    [lizf@cn.fujitsu.com: fix boot option parsing]
    Signed-off-by: Balbir Singh
    Cc: Paul Menage
    Cc: Balbir Singh
    Cc: Pavel Emelyanov
    Cc: KAMEZAWA Hiroyuki
    Cc: Hugh Dickins
    Cc: Sudhir Kumar
    Cc: YAMAMOTO Takashi
    Cc: David Rientjes
    Signed-off-by: Li Zefan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Menage
     
  • Building UP kernel with KGDB enabled produces the following errors and warning
    (fatal due to -Werror in arch/mips/kernel/Makefile):

    In file included from arch/mips/kernel/gdb-stub.c:142:
    include/asm/smp.h:25:1: "raw_smp_processor_id" redefined
    In file included from include/linux/sched.h:69,
    from arch/mips/kernel/gdb-stub.c:126:
    include/linux/smp.h:88:1: this is the location of the previous definition
    In file included from arch/mips/kernel/gdb-stub.c:142:
    include/asm/smp.h:62: error: redefinition of 'smp_send_reschedule'
    include/linux/smp.h:102: error: previous definition of 'smp_send_reschedule' was here
    include/asm/smp.h: In function `smp_send_reschedule':
    include/asm/smp.h:65: error: dereferencing pointer to incomplete type
    arch/mips/kernel/gdb-stub.c: At top level:
    arch/mips/kernel/gdb-stub.c:660: warning: 'kgdb_wait' defined but not used

    Fix the errors by not directly including (which is already included
    by ) and the warning by enclosing kgdb_wait() in #ifdef CONFIG_SMP.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     
  • Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
    x86: revert assign IRQs to hpet timer
    x86: tsc prevent time going backwards
    xen: Clear PG_pinned in release_{pt,pd}()
    xen: Do not pin/unpin PMD pages
    xen: refactor xen_{alloc,release}_{pt,pd}()
    x86, agpgart: scary messages are fortunately obsolete
    xen: fix grant table bug
    x86: fix breakage of vSMP irq operations
    x86: print message if nmi_watchdog=2 cannot be enabled
    x86: fix nmi_watchdog=2 on Pentium-D CPUs

    Linus Torvalds