18 May, 2007

1 commit


17 May, 2007

39 commits

  • The function ipxrtr_route_packet() takes a 'len' argument of type
    size_t. However, its prototype in af_ipx.c incorrectly suggests that the
    corresponding argument is of type 'int' instead.

    Discovered by building with --combine and letting the compiler see it
    all at once.

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

    David Woodhouse
     
  • After a suspend/resume cycle, the UART may have been reset into
    low-speed mode -- either because it's actually been reset, or because
    the firmware pokes at the old-style divisor registers. If we detected it
    as a NS16550A SuperIO chip in the first place and set baud_base to
    921600, then we should do so again in the resume path.

    This patch adds that code to serial8250_resume_port(), and also makes
    serial8250_resume() actually call serial8250_resume_port() for each port
    instead of just calling uart_resume_port() directly. And thus fixes
    serial port operation after suspend/resume.

    It also fixes a bogus comment where we write the EXCR2 register with a
    comment saying /* EXCR1 */

    Signed-off-by: David Woodhouse
    Acked-by: Alan Cox
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • Re-introduce rmap verification patches that Hugh removed when he removed
    PG_map_lock. PG_map_lock actually isn't needed to synchronise access to
    anonymous pages, because PG_locked and PTL together already do.

    These checks were important in discovering and fixing a rare rmap corruption
    in SLES9.

    Signed-off-by: Nick Piggin
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • grow_dev_page() simply passes GFP_NOFS to find_or_create_page. This means
    the allocation of radix tree nodes is done with GFP_NOFS and the allocation
    of a new page is done using GFP_NOFS.

    The mapping has a flags field that contains the necessary allocation flags
    for the page cache allocation. These need to be consulted in order to get
    DMA and HIGHMEM allocations etc right. And yes a blockdev could be
    allowing Highmem allocations if its a ramdisk.

    Cc: Hugh Dickins
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The sysfs files /sys/power/disk and /sys/power/state do not work as
    documented, since they allow the user to write only a few initial
    characters of the input string to trigger the option (eg. 'echo pl >
    /sys/power/disk' activates the platform mode of hibernation). Fix it.

    Special thanks to Peter Moulder for
    pointing out the problem.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • i_mutex on quota files is special. Unlike i_mutexes for other inodes it is
    acquired under dqonoff_mutex. Tell lockdep about this lock ranking. Also
    comment and code in quota_sync_sb() seem to be bogus (as i_mutex for quota
    file can be acquired under dqonoff_mutex). Move truncate_inode_pages()
    call under dqonoff_mutex and save some problems with races...

    Signed-off-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • No other architecture calls check_pgt_cache() from within flush_tlb_mm(),
    and i386 is already calling check_pgt_cache() from the usual places,
    tlb_finish_mmu() and cpu_idle() (the latter being odd, but not unusual).
    flush_tlb_mm() has no business to be freeing pages: remove that line, which
    sneaked in with slub's i386 support.

    Signed-off-by: Hugh Dickins
    Cc: Andi Kleen
    Acked-by: Christoph Lameter
    Acked-by: William Lee Irwin III
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Use zero_user_page() instead of open-coding it.

    Signed-off-by: Nate Diller
    Cc: Michael Halcrow
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nate Diller
     
  • Make sysctl/kernel/core_pattern and fs/exec.c agree on maximum core
    filename size and change it to 128, so that extensive patterns such as
    '/local/cores/%e-%h-%s-%t-%p.core' won't result in truncated filename
    generation.

    Signed-off-by: Dan Aloni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Aloni
     
  • This patch add new sub-device-id to support new adapter and changed the
    interrupt irq number for unsigned char to unsigned int.

    [akpm@osdl.org: fix whitespace in device table]
    Signed-off by: Wendy Xiong

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

    wendy xiong
     
  • Make drivers/rtc/Kconfig be clearer about what the various "interfaces"
    actually mean, by showing path names.

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

    David Brownell
     
  • Fix typo which breaks build. How did that happen?

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

    David Brownell
     
  • Loosen gpio_{request,free}() and gpio_direction_{in,out}put() call context
    restrictions slightly, so a common idiom is no longer an error: board init
    code setting up spinlock-safe GPIOs before tasking is enabled.

    The issue was caught by some paranoid code with might_sleep() checks. The
    legacy platform-specific GPIO interfaces stick to spinlock-safe GPIOs, so this
    change reflects current implementations and won't break anything.

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

    David Brownell
     
  • Andi Kleen pointed out to me that the kernel locking cheat sheet
    table entries are unreadable.

    Make table entries smaller so that pdf and ps output is readable
    (columns were being overwritten and garbled) by using abbreviations.
    This allows the tables to fit on one page cleanly.
    Add a Legend for the abbreviations:
    SLIS: spin_lock_irqsave
    SLI: spin_lock_irq
    SL: spin_lock
    SLBH: spin_lock_bh
    DI: down_interruptible

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

    Randy Dunlap
     
  • linux-parport is subscribers-only:

    Your mail to 'Linux-parport' with the subject
    Re: [QUESTION] parallel console configuration
    Is being held until the list moderator can review it for approval.
    The reason it is being held:
    Post by non-member to a members-only list

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

    Randy Dunlap
     
  • It is a known fact that freezeable multithreaded workqueues doesn't like
    CPU_DEAD. We keep them only for the incoming CPU-hotplug rework.

    Sadly, we can't just kill create_freezeable_workqueue() right now, make
    them singlethread.

    Signed-off-by: Oleg Nesterov
    Cc: "Rafael J. Wysocki"
    Cc: Gautham R Shenoy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Refine SCREEN_INFO sanity check for vgacon initialization.

    Checking video mode field only to see whenever SCREEN_INFO is
    initialized is not enougth, in some cases it is zero although
    a vga card is present. Lets additionally check cols and lines.

    Signed-off-by: Gerd Hoffmann
    Cc: Rusty Russell
    Cc: Andi Kleen
    Cc: Alan
    Cc: Ingo Molnar
    Acked-by: Eric W. Biederman
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerd Hoffmann
     
  • All architectures that have an implementation of smp_call_function_single
    let it return -EBUSY if it is asked to execute func on the current cpu.
    (akpm: except for x86_64). Therefore the UP version must always return
    -EBUSY.

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Heiko Carstens
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • Just thought this is easier to read.

    Acked-by: Davide Libenzi
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • __vunmap doesn't seem to be used outside of mm/vmalloc.c, and has
    no prototype in any header so let's make it static

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to
    .init.text:mtrr_bp_init from .text between 'id entify_cpu' (at offset 0x6571)
    and 'IRQ0x20_interrupt'

    It's because identify_cpu() which is __cpuinit calls mtrr_bp_init() which is
    __init(). __cpuinit() expands to nothing if CONFIG_HOTPLUG_CPU=y and so the
    call is illegal.

    Signed-off-by: Bernhard Walle
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Strip __cpuinit[data] from Node PXM routines and supporting data
    structures. Also make pxm_to_node_map and node_to_pxm_map local to the
    numa acpi module.

    This fixes a bug triggered by the following conditions:
    - boot on a machine with a SLIT table defined
    - kernel is configured w/ CONFIG_HOTPLUG_CPU=n
    - cat /sys/devices/system/node/node*/distance
    This will cause an oops by calling into a freed memory section.

    In particular, on x86_64, __node_distance calls node_to_pxm().

    Signed-off-by: Aaron Durbin
    Cc: Len Brown
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aaron Durbin
     
  • Currently we have a maze of configuration variables that determine the
    maximum slab size. Worst of all it seems to vary between SLAB and SLUB.

    So define a common maximum size for kmalloc. For conveniences sake we use
    the maximum size ever supported which is 32 MB. We limit the maximum size
    to a lower limit if MAX_ORDER does not allow such large allocations.

    For many architectures this patch will have the effect of adding large
    kmalloc sizes. x86_64 adds 5 new kmalloc sizes. So a small amount of
    memory will be needed for these caches (contemporary SLAB has dynamically
    sizeable node and cpu structure so the waste is less than in the past)

    Most architectures will then be able to allocate object with sizes up to
    MAX_ORDER. We have had repeated breakage (in fact whenever we doubled the
    number of supported processors) on IA64 because one or the other struct
    grew beyond what the slab allocators supported. This will avoid future
    issues and f.e. avoid fixes for 2k and 4k cpu support.

    CONFIG_LARGE_ALLOCS is no longer necessary so drop it.

    It fixes sparc64 with SLAB.

    Signed-off-by: Christoph Lameter
    Signed-off-by: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Consolidate functionality into the #ifdef section.

    Extract tracing into one subroutine.

    Move object debug processing into the #ifdef section so that the
    code in __slab_alloc and __slab_free becomes minimal.

    Reduce number of functions we need to provide stubs for in the !SLUB_DEBUG case.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • SLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.

    Signed-off-by: Christoph Lameter
    Cc: David Howells
    Cc: Jens Axboe
    Cc: Steven French
    Cc: Michael Halcrow
    Cc: OGAWA Hirofumi
    Cc: Miklos Szeredi
    Cc: Steven Whitehouse
    Cc: Roman Zippel
    Cc: David Woodhouse
    Cc: Dave Kleikamp
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Anton Altaparmakov
    Cc: Mark Fasheh
    Cc: Paul Mackerras
    Cc: Christoph Hellwig
    Cc: Jan Kara
    Cc: David Chinner
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The atomicity when handling flags in SLUB is not necessary since both flags
    used by SLUB are not updated in a racy way. Flag updates are either done
    during slab creation or destruction or under slab_lock. Some of these flags
    do not have the non atomic variants that we need. So define our own.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Align the output of % with K/M/G of sizes.

    Check for empty NUMA information to avoid segfault on !NUMA.

    -r should work directly not only if we match a single slab
    without additional options.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • I'm getting zillions of undefined references to __kmalloc_size_too_large on
    alpha. For some reason alpha is building out-of-line copies of kmalloc_slab()
    into lots of compilation units.

    It turns out that gcc just isn't smart enough to work out that
    __builtin_contant_p(size)==true implies that __builtin_contant_p(index)==true.

    So let's give it a bit of help.

    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • slub warns on this, and we're working on making kmalloc(0) return NULL.
    Let's make slab warn as well so our testers detect such callers more
    rapidly.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Use inline functions to access the per cpu bit. Intoduce the notion of
    "freezing" a slab to make things more understandable.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Two definitions remained in slab.h that are particular to the SLAB allocator.
    Move to slab_def.h

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • No arch sets ARCH_USES_SLAB_PAGE_STRUCT anymore.

    Remove the experimental dependency as well since we want to have it as
    a real alternative to SLAB.

    It all comes down to killing a single line from init/Kconfig.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • There is no user of destructors left. There is no reason why we should keep
    checking for destructors calls in the slab allocators.

    The RFC for this patch was discussed at
    http://marc.info/?l=linux-kernel&m=117882364330705&w=2

    Destructors were mainly used for list management which required them to take a
    spinlock. Taking a spinlock in a destructor is a bit risky since the slab
    allocators may run the destructors anytime they decide a slab is no longer
    needed.

    Patch drops destructor support. Any attempt to use a destructor will BUG().

    Acked-by: Pekka Enberg
    Acked-by: Paul Mundt
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The SLOB allocator should implement SLAB_DESTROY_BY_RCU correctly, because
    even on UP, RCU freeing semantics are not equivalent to simply freeing
    immediately. This also allows SLOB to be used on SMP.

    Signed-off-by: Nick Piggin
    Acked-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: track spindown status and skip spindown_compat if possible
    libata: fix shutdown warning message printing
    libata-acpi: add ATA_FLAG_ACPI_SATA port flag
    libata: during revalidation, check n_sectors after device is configured
    libata: separate out ata_dev_reread_id()
    pata_scc had been missed by ata_std_prereset() switch

    Linus Torvalds
     
  • * 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
    [ALSA] usbaudio - Coping with short replies in usbmixer
    [ALSA] Include quirks from Ubuntu Dapper/Edgy/Feisty
    [ALSA] Fix probe of non-PnP ISA devices
    [ALSA] version 1.0.14rc4
    [ALSA] hda-codec - Fix ALC882/861VD codec support on some laptops
    [ALSA] ASoC AC97 device reg bugfix
    [ALSA] ASoC AC97 static GPL symbol fix
    [ALSA] hda-codec - Make the mixer capability check more robust
    [ALSA] usb-audio: another Logitech QuickCam ID

    Linus Torvalds
     
  • * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
    [AVR32] Implement platform hooks for atmel_lcdfb driver
    [AVR32] Wire up signalfd, timerfd and eventfd
    [AVR32] optimize pagefault path
    [AVR32] Remove bogus comment in arch/avr32/kernel/irq.c

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Add hypervisor API negotiation and fix console bugs.

    Linus Torvalds
     
  • We call alloc_page where we should be calling __page_cache_alloc.

    __page_cache_alloc performs cpuset memory spreading. alloc_page does not.
    There is no reason that pages allocated via find_or_create should be
    exempt.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter