17 Jun, 2009

11 commits

  • * akpm: (182 commits)
    fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset
    fbdev: *bfin*: fix __dev{init,exit} markings
    fbdev: *bfin*: drop unnecessary calls to memset
    fbdev: bfin-t350mcqb-fb: drop unused local variables
    fbdev: blackfin has __raw I/O accessors, so use them in fb.h
    fbdev: s1d13xxxfb: add accelerated bitblt functions
    tcx: use standard fields for framebuffer physical address and length
    fbdev: add support for handoff from firmware to hw framebuffers
    intelfb: fix a bug when changing video timing
    fbdev: use framebuffer_release() for freeing fb_info structures
    radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?
    s3c-fb: CPUFREQ frequency scaling support
    s3c-fb: fix resource releasing on error during probing
    carminefb: fix possible access beyond end of carmine_modedb[]
    acornfb: remove fb_mmap function
    mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF
    mb862xxfb: restrict compliation of platform driver to PPC
    Samsung SoC Framebuffer driver: add Alpha Channel support
    atmel-lcdc: fix pixclock upper bound detection
    offb: use framebuffer_alloc() to allocate fb_info struct
    ...

    Manually fix up conflicts due to kmemcheck in mm/slab.c

    Linus Torvalds
     
  • Furthermore, notice that the initial checks:

    if (!node->rb_left)
    child = node->rb_right;
    else if (!node->rb_right)
    child = node->rb_left;
    else
    {
    ...
    }
    guarantee that old->rb_right is set in the final else branch, therefore
    we can omit checking that again.

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

    Wolfram Strepp
     
  • There are two cases when a node, having 2 childs, is erased:
    'normal case': the successor is not the right-hand-child of the node to be erased
    'special case': the successor is the right-hand child of the node to be erased

    Here some ascii-art, with following symbols (referring to the code):
    O: node to be deleted
    N: the successor of O
    P: parent of N
    C: child of N
    L: some other node

    normal case:

    O N
    / \ / \
    / \ / \
    L \ L \
    / \ P ----> / \ P
    / \ / \
    / /
    N C
    \ / \
    \
    C
    / \

    special case:
    O|P N
    / \ / \
    / \ / \
    L \ L \
    / \ N ----> / C
    \ / \
    \
    C
    / \

    Notice that for the special case we don't have to reconnect C to N.

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

    Wolfram Strepp
     
  • First, move some code around in order to make the next change more obvious.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Wolfram Strepp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wolfram Strepp
     
  • There is a call to write_lock() in gen_pool_destroy which is not balanced
    by any corresponding write_unlock(). This causes problems with preemption
    because the preemption-disable counter is incremented in the write_lock()
    call, but never decremented by any call to write_unlock(). This bug is
    gen_pool_destroy, and one of them is non-x86 arch-specific code.

    Signed-off-by: Zygo Blaxell
    Cc: Jiri Kosina
    Cc: Steve Wise
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zygo Blaxell
     
  • For example:
    hex_dump_to_buffer("AB", 2, 16, 1, buf, 100, 0);
    pr_info("[%s]\n", buf);

    I'd expect the output to be "[41 42]", but actually it's "[41 42 ]"

    This patch also makes the required buf to be minimum. To print the hex
    format of "AB", a buf with size 6 should be sufficient, but
    hex_dump_to_buffer() required at least 8.

    Signed-off-by: Li Zefan
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • radix_tree_lookup() and radix_tree_lookup_slot() have much the
    same code except for the return value.

    Introduce radix_tree_lookup_element() to do the real work.

    /*
    * is_slot == 1 : search for the slot.
    * is_slot == 0 : search for the node.
    */
    static void * radix_tree_lookup_element(struct radix_tree_root *root,
    unsigned long index, int is_slot);

    Signed-off-by: Huang Shijie
    Cc: Nick Piggin
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Huang Shijie
     
  • _atomic_dec_and_lock() should not unconditionally take the lock before
    calling atomic_dec_and_test() in the UP case. For consistency reasons it
    should behave exactly like in the SMP case.

    Besides that this works around the problem that with CONFIG_DEBUG_SPINLOCK
    this spins in __spin_lock_debug() if the lock is already taken even if the
    counter doesn't drop to 0.

    Signed-off-by: Jan Blunck
    Acked-by: Paul E. McKenney
    Acked-by: Nick Piggin
    Cc: Valerie Aurora
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Blunck
     
  • The counterpart of radix_tree_next_hole(). To be used by context readahead.

    Signed-off-by: Wu Fengguang
    Cc: Vladislav Bolkhovitin
    Cc: Jens Axboe
    Cc: Jeff Moyer
    Cc: Nick Piggin
    Cc: Ying Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wu Fengguang
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits)
    signal: fix __send_signal() false positive kmemcheck warning
    fs: fix do_mount_root() false positive kmemcheck warning
    fs: introduce __getname_gfp()
    trace: annotate bitfields in struct ring_buffer_event
    net: annotate struct sock bitfield
    c2port: annotate bitfield for kmemcheck
    net: annotate inet_timewait_sock bitfields
    ieee1394/csr1212: fix false positive kmemcheck report
    ieee1394: annotate bitfield
    net: annotate bitfields in struct inet_sock
    net: use kmemcheck bitfields API for skbuff
    kmemcheck: introduce bitfield API
    kmemcheck: add opcode self-testing at boot
    x86: unify pte_hidden
    x86: make _PAGE_HIDDEN conditional
    kmemcheck: make kconfig accessible for other architectures
    kmemcheck: enable in the x86 Kconfig
    kmemcheck: add hooks for the page allocator
    kmemcheck: add hooks for page- and sg-dma-mappings
    kmemcheck: don't track page tables
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits)
    debugfs: use specified mode to possibly mark files read/write only
    debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem.
    xen: remove driver_data direct access of struct device from more drivers
    usb: gadget: at91_udc: remove driver_data direct access of struct device
    uml: remove driver_data direct access of struct device
    block/ps3: remove driver_data direct access of struct device
    s390: remove driver_data direct access of struct device
    parport: remove driver_data direct access of struct device
    parisc: remove driver_data direct access of struct device
    of_serial: remove driver_data direct access of struct device
    mips: remove driver_data direct access of struct device
    ipmi: remove driver_data direct access of struct device
    infiniband: ehca: remove driver_data direct access of struct device
    ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device
    hvcs: remove driver_data direct access of struct device
    xen block: remove driver_data direct access of struct device
    thermal: remove driver_data direct access of struct device
    scsi: remove driver_data direct access of struct device
    pcmcia: remove driver_data direct access of struct device
    PCIE: remove driver_data direct access of struct device
    ...

    Manually fix up trivial conflicts due to different direct driver_data
    direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}

    Linus Torvalds
     

16 Jun, 2009

1 commit


15 Jun, 2009

4 commits

  • Conflicts:
    MAINTAINERS

    Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • The Kconfig options of kmemcheck are hidden under arch/x86 which makes porting
    to other architectures harder. To fix that, move the Kconfig bits to
    lib/Kconfig.kmemcheck and introduce a CONFIG_HAVE_ARCH_KMEMCHECK config option
    that architectures can define.

    Signed-off-by: Pekka Enberg

    [rebased for mainline inclusion]
    Signed-off-by: Vegard Nossum

    Pekka Enberg
     
  • let it rip!

    Signed-off-by: Pekka Enberg
    Signed-off-by: Ingo Molnar

    [rebased for mainline inclusion]
    Signed-off-by: Vegard Nossum

    Vegard Nossum
     
  • Many processor architectures have no 64-bit atomic instructions, but
    we need atomic64_t in order to support the perf_counter subsystem.

    This adds an implementation of 64-bit atomic operations using hashed
    spinlocks to provide atomicity. For each atomic operation, the address
    of the atomic64_t variable is hashed to an index into an array of 16
    spinlocks. That spinlock is taken (with interrupts disabled) around the
    operation, which can then be coded non-atomically within the lock.

    On UP, all the spinlock manipulation goes away and we simply disable
    interrupts around each operation. In fact gcc eliminates the whole
    atomic64_lock variable as well.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Benjamin Herrenschmidt

    Paul Mackerras
     

13 Jun, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    add generic lib/checksum.c
    asm-generic: add a generic uaccess.h
    asm-generic: add generic NOMMU versions of some headers
    asm-generic: add generic atomic.h and io.h
    asm-generic: add legacy I/O header files
    asm-generic: add generic versions of common headers
    asm-generic: make bitops.h usable
    asm-generic: make pci.h usable directly
    asm-generic: make get_rtc_time overridable
    asm-generic: rename page.h and uaccess.h
    asm-generic: rename atomic.h to atomic-long.h
    asm-generic: add a generic unistd.h
    asm-generic: add generic ABI headers
    asm-generic: add generic sysv ipc headers
    asm-generic: introduce asm/bitsperlong.h
    asm-generic: rename termios.h, signal.h and mman.h

    Linus Torvalds
     

12 Jun, 2009

8 commits

  • It's theoretically possible that there are exception table entries
    which point into the (freed) init text of modules. These could cause
    future problems if other modules get loaded into that memory and cause
    an exception as we'd see the wrong fixup. The only case I know of is
    kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n).

    Amerigo fixed this long-standing FIXME in the x86 version, but this
    patch is more general.

    This implements trim_init_extable(); most archs are simple since they
    use the standard lib/extable.c sort code. Alpha and IA64 use relative
    addresses in their fixups, so thier trimming is a slight variation.

    Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE,
    yet it defines its own sort_extable() which overrides the one in lib.
    It doesn't sort, so we have to mark deleted entries instead of
    actually trimming them.

    Inspired-by: Amerigo Wang
    Signed-off-by: Rusty Russell
    Cc: linux-alpha@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org

    Rusty Russell
     
  • Fixes a merge conflict against the x86 tree caused by a fix to
    atomic.h which I renamed to atomic_long.h.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • * 'for-linus' of git://linux-arm.org/linux-2.6:
    kmemleak: Add the corresponding MAINTAINERS entry
    kmemleak: Simple testing module for kmemleak
    kmemleak: Enable the building of the memory leak detector
    kmemleak: Remove some of the kmemleak false positives
    kmemleak: Add modules support
    kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash
    kmemleak: Add the vmalloc memory allocation/freeing hooks
    kmemleak: Add the slub memory allocation/freeing hooks
    kmemleak: Add the slob memory allocation/freeing hooks
    kmemleak: Add the slab memory allocation/freeing hooks
    kmemleak: Add documentation on the memory leak detector
    kmemleak: Add the base support

    Manual conflict resolution (with the slab/earlyboot changes) in:
    drivers/char/vt.c
    init/main.c
    mm/slab.c

    Linus Torvalds
     
  • …/git/penberg/slab-2.6

    * 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
    vgacon: use slab allocator instead of the bootmem allocator
    irq: use kcalloc() instead of the bootmem allocator
    sched: use slab in cpupri_init()
    sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var()
    memcg: don't use bootmem allocator in setup code
    irq/cpumask: make memoryless node zero happy
    x86: remove some alloc_bootmem_cpumask_var calling
    vt: use kzalloc() instead of the bootmem allocator
    sched: use kzalloc() instead of the bootmem allocator
    init: introduce mm_init()
    vmalloc: use kzalloc() instead of alloc_bootmem()
    slab: setup allocators earlier in the boot sequence
    bootmem: fix slab fallback on numa
    bootmem: use slab if bootmem is no longer available

    Linus Torvalds
     
  • Add a generic (unoptimized) implementation of checksum.c in pure C
    for use by all architectures that cannot be bother with implementing
    their own version.

    Based on microblaze code by Michal Simek

    Cc: Michal Simek
    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Now that we set up the slab allocator earlier, we can get rid of some
    alloc_bootmem_cpumask_var() calls in boot code.

    Cc: Ingo Molnar
    Cc: Johannes Weiner
    Cc: Linus Torvalds
    Signed-off-by: Yinghai Lu
    Signed-off-by: Pekka Enberg

    Yinghai Lu
     
  • This patch adds a loadable module that deliberately leaks memory. It
    is used for testing various memory leaking scenarios.

    Signed-off-by: Catalin Marinas

    Catalin Marinas
     
  • This patch adds the Kconfig.debug and Makefile entries needed for
    building kmemleak into the kernel.

    Signed-off-by: Catalin Marinas

    Catalin Marinas
     

11 Jun, 2009

4 commits

  • * serial-from-alan: (79 commits)
    moxa: prevent opening unavailable ports
    imx: serial: use tty_encode_baud_rate to set true rate
    imx: serial: add IrDA support to serial driver
    imx: serial: use rational library function
    lib: isolate rational fractions helper function
    imx: serial: handle initialisation failure correctly
    imx: serial: be sure to stop xmit upon shutdown
    imx: serial: notify higher layers in case xmit IRQ was not called
    imx: serial: fix one bit field type
    imx: serial: fix whitespaces (no changes in functionality)
    tty: use prepare/finish_wait
    tty: remove sleep_on
    sierra: driver interface blacklisting
    sierra: driver urb handling improvements
    tty: resolve some sierra breakage
    timbuart: Fix the termios logic
    serial: Added Timberdale UART driver
    tty: Add URL for ttydev queue
    devpts: unregister the file system on error
    tty: Untangle termios and mm mutex dependencies
    ...

    Linus Torvalds
     
  • Provide a helper function to determine optimum numerator
    denominator value pairs taking into account restricted
    register size. Useful especially with PLL and other clock
    configurations.

    Signed-off-by: Oskar Schirmer
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Oskar Schirmer
     
  • * 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    vsprintf: introduce %pf format specifier
    printk: add support of hh length modifier for printk

    Linus Torvalds
     
  • * 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits)
    amd-iommu: remove unnecessary "AMD IOMMU: " prefix
    amd-iommu: detach device explicitly before attaching it to a new domain
    amd-iommu: remove BUS_NOTIFY_BOUND_DRIVER handling
    dma-debug: simplify logic in driver_filter()
    dma-debug: disable/enable irqs only once in device_dma_allocations
    dma-debug: use pr_* instead of printk(KERN_* ...)
    dma-debug: code style fixes
    dma-debug: comment style fixes
    dma-debug: change hash_bucket_find from first-fit to best-fit
    x86: enable GART-IOMMU only after setting up protection methods
    amd_iommu: fix lock imbalance
    dma-debug: add documentation for the driver filter
    dma-debug: add dma_debug_driver kernel command line
    dma-debug: add debugfs file for driver filter
    dma-debug: add variables and checks for driver filter
    dma-debug: fix debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device
    dma-debug: use sg_dma_len accessor
    dma-debug: use sg_dma_address accessor instead of using dma_address directly
    amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS
    amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS
    ...

    Linus Torvalds
     

09 Jun, 2009

1 commit


08 Jun, 2009

5 commits


07 Jun, 2009

3 commits


02 Jun, 2009

2 commits