Skip to content
  1. Oct 10, 2009
  2. Oct 09, 2009
  3. Oct 08, 2009
    • Arjan van de Ven's avatar
      x86, timers: Check for pending timers after (device) interrupts · 9bcbdd9c
      Arjan van de Ven authored
      
      
      Now that range timers and deferred timers are common, I found a
      problem with these using the "perf timechart" tool. Frans Pop also
      reported high scheduler latencies via LatencyTop, when using
      iwlagn.
      
      It turns out that on x86, these two 'opportunistic' timers only get
      checked when another "real" timer happens. These opportunistic
      timers have the objective to save power by hitchhiking on other
      wakeups, as to avoid CPU wakeups by themselves as much as possible.
      
      The change in this patch runs this check not only at timer
      interrupts, but at all (device) interrupts. The effect is that:
      
       1) the deferred timers/range timers get delayed less
      
       2) the range timers cause less wakeups by themselves because
          the percentage of hitchhiking on existing wakeup events goes up.
      
      I've verified the working of the patch using "perf timechart", the
      original exposed bug is gone with this patch. Frans also reported
      success - the latencies are now down in the expected ~10 msec
      range.
      
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Tested-by: default avatarFrans Pop <elendil@planet.nl>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Mike Galbraith <efault@gmx.de>
      LKML-Reference: <20091008064041.67219b13@infradead.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      9bcbdd9c
    • David Miller's avatar
      mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA · 2dca6999
      David Miller authored
      
      
      When a vmalloc'd area is mmap'd into userspace, some kind of
      co-ordination is necessary for this to work on platforms with cpu
      D-caches which can have aliases.
      
      Otherwise kernel side writes won't be seen properly in userspace
      and vice versa.
      
      If the kernel side mapping and the user side one have the same
      alignment, modulo SHMLBA, this can work as long as VM_SHARED is
      shared of VMA and for all current users this is true.  VM_SHARED
      will force SHMLBA alignment of the user side mmap on platforms with
      D-cache aliasing matters.
      
      The bulk of this patch is just making it so that a specific
      alignment can be passed down into __get_vm_area_node().  All
      existing callers pass in '1' which preserves existing behavior.
      vmalloc_user() gives SHMLBA for the alignment.
      
      As a side effect this should get the video media drivers and other
      vmalloc_user() users into more working shape on such systems.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      LKML-Reference: <200909211922.n8LJMYjw029425@imap1.linux-foundation.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      2dca6999
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 · 385c51d6
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
        agp: parisc-agp.c - use correct page_mask function
        parisc: Fix linker script breakage.
        parisc: convert to asm-generic/hardirq.h
        parisc: Make THREAD_SIZE available to assembly files and linker scripts.
        parisc: correct use of SHF_ALLOC
        parisc: rename parisc's vmalloc_start to parisc_vmalloc_start
        parisc: add me to Maintainers
        parisc: includecheck fix: signal.c
        parisc: HAVE_ARCH_TRACEHOOK
        parisc: add skeleton syscall.h
        parisc: stop using task->ptrace for {single,block}step flags
        parisc: split syscall_trace into two halves
        parisc: add missing TI_TASK macro in syscall.S
        parisc: tracehook_signal_handler
        parisc: tracehook_report_syscall
      385c51d6
    • Samu Onkalo's avatar
      lis3lv02d_spi: module unload didn't remove sysfs entry · d82e23dc
      Samu Onkalo authored
      
      
      In module unload, lis3lv02d core driver sysfs clean up was not called.
      
      Signed-off-by: default avatarSamu Onkalo <samu.p.onkalo@nokia.com>
      Acked-by: default avatarDaniel Mack <daniel@caiaq.de>
      Cc: Éric Piel <eric.piel@tremplin-utc.net>
      Cc: "Trisal, Kalhan" <kalhan.trisal@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d82e23dc