07 Mar, 2007

28 commits

  • Provide a module param "pool_mode" for sunrpc.ko which allows a sysadmin to
    choose the mode for mapping NFS thread service pools to CPUs. Values are:

    auto choose a mapping mode heuristically
    global (default, same as the pre-2.6.19 code) a single global pool
    percpu one pool per CPU
    pernode one pool per NUMA node

    Note that since 2.6.19 the hardcoded behaviour has been "auto", this patch
    makes the default "global".

    The pool mode can be changed after boot/modprobe using /sys, if the NFS and
    lockd services have been shut down. A useful side effect of this change is to
    fix a small memory leak when unloading the module.

    Signed-off-by: Greg Banks
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Greg Banks
     
  • When the last thread of nfsd exits, it shuts down all related sockets. It
    currently uses svc_close_socket to do this, but that only is immediately
    effective if the socket is not SK_BUSY.

    If the socket is busy - i.e. if a request has arrived that has not yet been
    processes - svc_close_socket is not effective and the shutdown process spins.

    So create a new svc_force_close_socket which removes the SK_BUSY flag is set
    and then calls svc_close_socket.

    Also change some open-codes loops in svc_destroy to use
    list_for_each_entry_safe.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • They don't really save that much, and aren't worth the hassle.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • The sunrpc server code needs to know the source and destination address for
    UDP packets so it can reply properly. It currently copies code out of the
    network stack to pick the pieces out of the skb. This is ugly and causes
    compile problems with the IPv6 stuff.

    So, rip that out and use recv_msg instead. This is a much cleaner interface,
    but has a slight cost in that the checksum is now checked before the copy, so
    we don't benefit from doing both at the same time. This can probably be
    fixed.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Comment the fact that sig_info is initialized early in boot, and thus doesn't
    need any locking.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add a debugging message in the case that mapping a stub fails.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix a few formatting bugs in the signal code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Include linux/types.h here because we need a definition of __u32. This file
    appears not be exported verbatim by libc, so I think this doesn't have any
    userspace consequences.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • initramfs ended up depending on BLOCK:

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

    Dimitri Gorokhovik
     
  • This patch adds support for the struct pci_driver shutdown method to cciss.
    We require notification of an impending reboot or shutdown so that we can
    flush the battery backed write cache (BBWC) on the Smart Array controller.

    Signed-off-by: Mike Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller (OS Dev)
     
  • This patch changes the way we determine if a logical volume is larger than
    2TB.

    The original test looked for a total_size of 0. Originally we added 1 to the
    total_size. That would make our read_capacity return size 0 for >2TB lv's.
    We assumed that we could not have a lv size of 0 so it seemed OK until we were
    in a clustered system. The backup node would see a size of 0 due to the
    reservation on the drive. That caused the driver to switch to 16-byte CDB's
    which are not supported on older controllers. After that everything was
    broken.

    It may seem petty but I don't see the value in trying to determine if the LBA
    is beyond the 2TB boundary. That's why when we switch we use 16-byte CDB's
    for all read/write operations. Please consider this for inclusion.

    Signed-off-by: Mike Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Miller (OS Dev)
     
  • rcutorture's module parameters currently use permissions of 0, so they
    don't show up in /sys/module/rcutorture/parameters. Change the permissions
    on all module parameters to world-readable (0444).

    rcutorture does all of its initialization and thread startup when loaded
    and relies on the parameters not changing during execution, so they should
    not permit writing. However, reading seems fine.

    Signed-off-by: Josh Triplett
    Cc: "Paul E. McKenney"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • This fixes a regression caused by 22c8ca78f20724676b6006232bf06cc3e9299539.

    nobh_prepare_write() no longer marks the page uptodate, so
    nobh_truncate_page() needs to do it.

    Signed-off-by: Dave Kleikamp
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Kleikamp
     
  • I've only seen this on x86_64.

    The vsyscall state only gets updated when a timer interrupts comes in. So
    if the time is set long before the next timer, there will be a period when
    a gettimeofday() won't reflect the correct time.

    I added an explicit update_vsyscall() during the settimeofday(), that way
    the vsyscall state doesn't get stale.

    Signed-off-by: Daniel Walker
    Cc: Thomas Gleixner
    Acked-by: Ingo Molnar
    Acked-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Walker
     
  • Fix http://bugzilla.kernel.org/show_bug.cgi?id=8130

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Remove the no longer used custom_sched_clock.

    Signed-off-by: Adrian Bunk
    Acked-by: Zachary Amsden
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • The TIMER_SOFTIRQ runs the hrtimers during bootup until a usable
    clocksource and clock event sources are registered. The switch to high
    resolution mode happens inside of the TIMER_SOFTIRQ, but runs the softirq
    afterwards. That way the tick emulation timer, which was set up in the
    switch to highres might be executed in the softirq context, which is a BUG.
    The rbtree has not to be touched by the softirq after the highres switch.

    This BUG was observed by Andres Salomon, who provided the information to
    debug it.

    Return early from the softirq, when the switch was sucessful.

    [dilinger@debian.org: add debug warning]
    [akpm@linux-foundation.org: make debug warning compile]
    Signed-off-by: Thomas Gleixner
    Cc: Andres Salomon
    Acked-by: Ingo Molnar
    Signed-off-by: Andres Salomon
    Acked-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • The description for the hrtimer_clock_base struct describes "hrtimer_base".
    That should be hrtimer_clock_base.

    Signed-off-by: Andres Salomon
    Acked-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • The description for HRTIMER_CB_IRQSAFE_NO_SOFTIRQ is backwards; "NO
    SOFTIRQ" sounds a whole lot like it means it must not be run in a softirq.

    Signed-off-by: Andres Salomon
    Acked-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Prior to commit 95492e4646e5de8b43d9a7908d6177fb737b61f0 ([PATCH] x86:
    rewrite SMP TSC sync code), the headers in asm-i386 did not really require
    anything in include/asm-x86_64. This means that distributions such as
    fedora did not include asm-x86_64 in kernel-devel headers for i386. Ingo's
    commit changed that, and broke things. This is easy enough to hack around
    in package builds by just including asm-x86_64 on i386, but that's kind of
    annoying. If anything, x86_64 should depend upon i386, not the other way
    around.

    This patch changes it so that asm-x86_64/tsc.h includes asm-i386/tsc.h,
    rather than vice-versa.

    Signed-off-by: Andres Salomon
    Acked-by: Ingo Molnar
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • The obsolete SA_xxx interrupt flags have been used despite the scheduled
    removal. Fixup the remaining users.

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Cc: Zachary Amsden
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Any attempt to open/use a bluetooth rfcomm device locks up
    scheduling completely on my machine.

    Interrupts (ping, alt-sysrq) seem to be alive, but nothing else.

    This was working fine in 2.6.20, broken now in 2.6.21-rc2-git*

    Reverting this change (below) fixes it:

    | author Marcel Holtmann
    | Sat, 17 Feb 2007 22:58:57 +0000 (23:58 +0100)
    | committer David S. Miller
    | Mon, 26 Feb 2007 19:42:41 +0000 (11:42 -0800)
    | commit c1a3313698895d8ad4760f98642007bf236af2e8
    | tree 337a876f727061362b6a169f8759849c105b8f7a tree | snapshot
    | parent f5ffd4620aba9e55656483ae1ef5c79ba81f5403 commit | diff
    | | [Bluetooth] Make use of device_move() for RFCOMM TTY devices
    | | In the case of bound RFCOMM TTY devices the parent is not available
    | before its usage. So when opening a RFCOMM TTY device, move it to
    | the corresponding ACL device as a child. When closing the device,
    | move it back to the virtual device tree.
    | Signed-off-by: Marcel Holtmann

    The simplest fix for this bug is to prevent sysfs_move_dir()
    from self-deadlocking when (old_parent == new_parent).

    This patch prevents total system lockup when using rfcomm devices.

    Signed-off-by: Mark Lord
    Acked-by: Cornelia Huck
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Lord
     
  • Fix the following error if FB_DDC=n

    Kernel: arch/x86_64/boot/bzImage is ready (#1)
    Building modules, stage 2.
    MODPOST 229 modules
    WARNING: "fb_ddc_read" [drivers/video/nvidia/nvidiafb.ko] undefined!
    make[1]: *** [__modpost] Error 1

    Signed-off-by: Antonino Daplas
    Cc: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Simmons
     
  • Fix implicit declarations and missing code in atyfb.

    drivers/video/aty/atyfb_base.c:2137: warning: implicit declaration of function 'a
    ty_ld_lcd'
    drivers/video/aty/atyfb_base.c:2154: warning: implicit declaration of function 'a
    ty_st_lcd'
    atyfb_base.c:(.text+0x33e5c): undefined reference to `aty_ld_lcd'
    atyfb_base.c:(.text+0x33eb2): undefined reference to `aty_st_lcd'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Antonino Daplas
    Cc: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • drivers/video/nvidia/nv_backlight.c: In function 'nvidia_bl_init':
    drivers/video/nvidia/nv_backlight.c:103: error: implicit declaration of function 'pmac_has_backlight_type'

    Signed-off-by: Dave Jones
    Signed-off-by: Antonino Daplas
    Cc: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • arch/i386/kernel/vmi.c: In function 'vmi_safe_halt':
    arch/i386/kernel/vmi.c:262: warning: implicit declaration of function 'vmi_stop_hz_timer'
    arch/i386/kernel/vmi.c:266: warning: implicit declaration of function 'vmi_account_time_restart_hz_timer'

    Acked-by: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Zachary Amsden
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The programming of periodic tick devices needs to be saved/restored
    across suspend/resume - otherwise we might end up with a system coming
    up that relies on getting a PIT (or HPET) interrupt, while those devices
    default to 'no interrupts' after powerup. (To confuse things it worked
    to a certain degree on some systems because the lapic gets initialized
    as a side-effect of SMP bootup.)

    This suspend / resume thing was dropped unintentionally during the
    last-minute -mm code reshuffling.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

06 Mar, 2007

7 commits

  • CONFIG_PARAVIRT broke old glibc bootup: it silently turned off the
    selectability of CONFIG_COMPAT_VDSO and thus rendered distro kernels
    unbootable on old-style VDSO glibc setups.

    the proper solution is to keep COMPAT_VDSO available - if a hypervisor
    needs any modification of that concept then we'll judge those changes in
    full context, once those changes are submitted.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: Allow enable/disable of fb backlights, fixing regressions
    backlight: Fix nvidia backlight initial brightness

    Linus Torvalds
     
  • there's a new NMI watchdog related problem: KVM crashes on certain
    bzImages because ... we enable the NMI watchdog by default (even if the
    user does not ask for it) , and no other OS on this planet does that so
    KVM doesnt have emulation for that yet. So KVM injects a #GP, which
    crashes the Linux guest:

    general protection fault: 0000 [#1]
    PREEMPT SMP
    Modules linked in:
    CPU: 0
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00000246 (2.6.20-rc5-rt0 #3)
    EIP is at setup_apic_nmi_watchdog+0x26d/0x3d3

    and no, i did /not/ request an nmi_watchdog on the boot command line!

    Solution: turn off that darn thing! It's a debug tool, not a 'make life
    harder' tool!!

    with this patch the KVM guest boots up just fine.

    And with this my laptop (Lenovo T60) also stopped its sporadic hard
    hanging (sometimes in acpi_init(), sometimes later during bootup,
    sometimes much later during actual use) as well. It hung with both
    nmi_watchdog=1 and nmi_watchdog=2, so it's generally the fact of NMI
    injection that is causing problems, not the NMI watchdog variant, nor
    any particular bootup code.

    [ NMI breaks on some systems, esp in combination with SMM -Arjan ]

    Signed-off-by: Ingo Molnar
    Acked-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • do not use default=y for CONFIG_VMI (we do not do that for any driver or
    special-hardware feature): the overwhelming majority of Linux users does
    not need it, and interested users and distributions can enable it
    as-needed.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Clarify the description of the CONFIG_VMI option: describe the reality
    that VMI is a VMWare-only interface for now. Once that changes and
    another hypervisor adopts the VMI ABI we can change the text.

    As can be seen from the Xen paravirtualization patches submitted to lkml
    the Xen project has chosen its own, non-VMI interface between Xen and
    the para-Linux - so remove Xen from the description.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Temove the mistaken turning on of NO_IDLE_HZ on x86+PARAVIRT kernels.

    It's an obsolete, limited form of dynticks.

    Signed-off-by: Ingo Molnar
    Acked-by: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • CT based mach64 cards were reported to hang on sparc64 boxes when
    compiled with gcc-4.1.x and later.

    Looking at this piece of code, it's no surprise. A critical
    delay was implemented as an empty for() loop, and gcc 4.0.x
    and previous did not optimize it away, so we did get a delay.

    But gcc-4.1.x and later can optimize it away, and we get crashes.

    Use a real udelay() to fix this. Fix verified on SunBlade100.

    Signed-off-by: David S. Miller
    Signed-off-by: Linus Torvalds

    David Miller
     

05 Mar, 2007

5 commits

  • CC arch/i386/kernel/vmi.o
    /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c: In function 'vmi_map_pt_hook':
    /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: 'KM_PTE0' undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: (Each undeclared identifier is reported only once
    /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: for each function it appears in.)
    /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/arch/i386/kernel/vmi.c:387: error: 'KM_PTE1' undeclared (first use in this function)
    make[2]: *** [arch/i386/kernel/vmi.o] Error 1

    Signed-off-by: Adrian Bunk
    Acked-by: Zachary Amsden
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Replacing use of UTS_RELEASE with utsname()->release avoids that the
    usb-storage driver is recompiled each time the kernel version changes.

    Signed-off-by: Sam Ravnborg
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • Add some documentation for the new and very useful io-accounting feature.
    It's being added to Documentation/filesystems/proc.txt

    Signed-off-by: Roland Kletzing
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland Kletzing
     
  • Fix the following compile error:

    MODPOST 327 modules
    WARNING: "aty_st_lcd" [drivers/video/aty/atyfb.ko] undefined!
    WARNING: "aty_ld_lcd" [drivers/video/aty/atyfb.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • "drivers/char/epca.c:2741: warning: 'get_termio' defined but not used"

    Signed-off-by: Michal Piotrowski
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Piotrowski