18 Nov, 2009

1 commit


08 Nov, 2009

1 commit


04 Nov, 2009

2 commits


22 Oct, 2009

1 commit

  • Increase TEST_SUSPEND_SECONDS to 10 so the warning in
    suspend_test_finish() doesn't annoy the users of slower systems so much.

    Also, make the warning print the suspend-resume cycle time, so that we
    know why the warning actually triggered.

    Patch prepared during the hacking session at the Kernel Summit in Tokyo.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

16 Oct, 2009

1 commit


15 Oct, 2009

6 commits


14 Oct, 2009

1 commit

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    cciss: Add cciss_allow_hpsa module parameter
    cciss: Fix multiple calls to pci_release_regions
    blk-settings: fix function parameter kernel-doc notation
    writeback: kill space in debugfs item name
    writeback: account IO throttling wait as iowait
    elv_iosched_store(): fix strstrip() misuse
    cfq-iosched: avoid probable slice overrun when idling
    cfq-iosched: apply bool value where we return 0/1
    cfq-iosched: fix think time allowed for seekers
    cfq-iosched: fix the slice residual sign
    cfq-iosched: abstract out the 'may this cfqq dispatch' logic
    block: use proper BLK_RW_ASYNC in blk_queue_start_tag()
    block: Seperate read and write statistics of in_flight requests v2
    block: get rid of kblock_schedule_delayed_work()
    cfq-iosched: fix possible problem with jiffies wraparound
    cfq-iosched: fix issue with rq-rq merging and fifo list ordering

    Linus Torvalds
     

13 Oct, 2009

1 commit


12 Oct, 2009

2 commits

  • The following htmldocs warnings:

    Warning(kernel/sched.c:685): No description found for parameter 'cpu'
    Warning(kernel/sched.c:3676): No description found for parameter 'sd'

    Trigger because new parameters were added to update_rq_clock() and
    update_group_power() without updating the kernel-doc notation.

    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: Randy Dunlap
    Cc: Andrew Morton
    Cc: Steven Rostedt
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Randy Dunlap
     
  • After m68k's task_thread_info() doesn't refer to current,
    it's possible to remove sched.h from interrupt.h and not break m68k!
    Many thanks to Heiko Carstens for allowing this.

    Signed-off-by: Alexey Dobriyan

    Alexey Dobriyan
     

09 Oct, 2009

9 commits

  • In try_to_wake_up(), we update the runqueue clock, but
    select_task_rq() may select a different runqueue than the one we
    updated, leaving the new runqueue's clock stale for a bit.

    This patch cures occasional huge latencies reported by latencytop
    when coming out of idle on a mostly idle NO_HZ box.

    Signed-off-by: Mike Galbraith
    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Mike Galbraith
     
  • Some tracepoint magic (TRACE_EVENT(lock_acquired)) relies on
    the fact that lock hold times are positive and uses div64 on
    that. That triggered a build warning on MIPS, and probably
    causes bad output in certain circumstances as well.

    Make it truly positive.

    Reported-by: Andrew Morton
    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • It makes sense to do IOWAIT when someone is blocked
    due to IO throttle, as suggested by Kame and Peter.

    There is an old comment for not doing IOWAIT on throttle,
    however it has been mismatching the code for a long time.

    If we stop accounting IOWAIT for 2.6.32, it could be an
    undesirable behavior change. So restore the io_schedule.

    CC: KAMEZAWA Hiroyuki
    CC: Peter Zijlstra
    Signed-off-by: Wu Fengguang
    Signed-off-by: Jens Axboe

    Wu Fengguang
     
  • The addition of trace_array_{v}printk used the wrong function for
    trace_vprintk to call. This broke trace_marker and trace_vprintk
    itself. Although trace_printk may not have been affected by those
    that end up calling trace_vbprintk.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: fix requeue_pi key imbalance
    futex: Fix typo in FUTEX_WAIT/WAKE_BITSET_PRIVATE definitions
    rcu: Place root rcu_node structure in separate lockdep class
    rcu: Make hot-unplugged CPU relinquish its own RCU callbacks
    rcu: Move rcu_barrier() to rcutree
    futex: Move exit_pi_state() call to release_mm()
    futex: Nullify robust lists after cleanup
    futex: Fix locking imbalance
    panic: Fix panic message visibility by calling bust_spinlocks(0) before dying
    rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function
    rcu: Clean up code based on review feedback from Josh Triplett, part 4
    rcu: Clean up code based on review feedback from Josh Triplett, part 3
    rcu: Fix rcu_lock_map build failure on CONFIG_PROVE_LOCKING=y
    rcu: Clean up code to address Ingo's checkpatch feedback
    rcu: Clean up code based on review feedback from Josh Triplett, part 2
    rcu: Clean up code based on review feedback from Josh Triplett

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Set correct normal_prio and prio values in sched_fork()

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tracing: user local buffer variable for trace branch tracer
    tracing: fix warning on kernel/trace/trace_branch.c andtrace_hw_branches.c
    ftrace: check for failure for all conversions
    tracing: correct module boundaries for ftrace_release
    tracing: fix transposed numbers of lock_depth and preempt_count
    trace: Fix missing assignment in trace_ctxwake_*
    tracing: Use free_percpu instead of kfree
    tracing: Check total refcount before releasing bufs in profile_enable failure

    Linus Torvalds
     
  • …/linux/kernel/git/tip/linux-2.6-tip

    * 'sparc-perf-events-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA
    perf_event: Provide vmalloc() based mmap() backing

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_events: Make ABI definitions available to userspace
    perf tools: elf_sym__is_function() should accept "zero" sized functions
    tracing/syscalls: Use long for syscall ret format and field definitions
    perf trace: Update eval_flag() flags array to match interrupt.h
    perf trace: Remove unused code in builtin-trace.c
    perf: Propagate term signal to child

    Linus Torvalds
     

08 Oct, 2009

6 commits


07 Oct, 2009

4 commits

  • Commit f2e21c9610991e95621a81407cdbab881226419b had unfortunate side
    effects with cpufreq governors on some systems.

    If the system did not switch into NOHZ mode ts->inidle is not set when
    tick_nohz_stop_sched_tick() is called from the idle routine. Therefor
    all subsequent calls from irq_exit() to tick_nohz_stop_sched_tick()
    fail to call tick_nohz_start_idle(). This results in bogus idle
    accounting information which is passed to cpufreq governors.

    Set the inidle flag unconditionally of the NOHZ active state to keep
    the idle time accounting correct in any case.

    [ tglx: Added comment and tweaked the changelog ]

    Reported-by: Steven Noonan
    Signed-off-by: Eero Nurkkala
    Cc: Rik van Riel
    Cc: Venkatesh Pallipadi
    Cc: Greg KH
    Cc: Steven Noonan
    Cc: stable@kernel.org
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Eero Nurkkala
     
  • Before this patch, all of the rcu_node structures were in the same lockdep
    class, so that lockdep would complain when rcu_preempt_offline_tasks()
    acquired the root rcu_node structure's lock while holding one of the leaf
    rcu_nodes' locks.

    This patch changes rcu_init_one() to use a separate
    spin_lock_init() for the root rcu_node structure's lock than is
    used for that of all of the rest of the rcu_node structures, which
    puts the root rcu_node structure's lock in its own lockdep class.

    Suggested-by: Peter Zijlstra
    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: akpm@linux-foundation.org
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • The current interaction between RCU and CPU hotplug requires that
    RCU block in CPU notifiers waiting for callbacks to drain.

    This can be greatly simplified by having each CPU relinquish its
    own callbacks, and for both _rcu_barrier() and CPU_DEAD notifiers
    to adopt all callbacks that were previously relinquished.

    This change also eliminates the possibility of certain types of
    hangs due to the previous practice of waiting for callbacks to be
    invoked from within CPU notifiers. If you don't every wait, you
    cannot hang.

    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: akpm@linux-foundation.org
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • Move the existing rcu_barrier() implementation to rcutree.c,
    consistent with the fact that the rcu_barrier() implementation is
    tied quite tightly to the RCU implementation.

    This opens the way to simplify and fix rcutree.c's rcu_barrier()
    implementation in a later patch.

    Signed-off-by: Paul E. McKenney
    Cc: laijs@cn.fujitsu.com
    Cc: dipankar@in.ibm.com
    Cc: akpm@linux-foundation.org
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: josh@joshtriplett.org
    Cc: dvhltc@us.ibm.com
    Cc: niv@us.ibm.com
    Cc: peterz@infradead.org
    Cc: rostedt@goodmis.org
    Cc: Valdis.Kletnieks@vt.edu
    Cc: dhowells@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     

06 Oct, 2009

5 commits

  • exit_pi_state() is called from do_exit() but not from do_execve().
    Move it to release_mm() so it gets called from do_execve() as well.

    Signed-off-by: Thomas Gleixner
    LKML-Reference:
    Cc: stable@kernel.org
    Cc: Anirban Sinha
    Cc: Peter Zijlstra

    Thomas Gleixner
     
  • The robust list pointers of user space held futexes are kept intact
    over an exec() call. When the exec'ed task exits exit_robust_list() is
    called with the stale pointer. The risk of corruption is minimal, but
    still it is incorrect to keep the pointers valid. Actually glibc
    should uninstall the robust list before calling exec() but we have to
    deal with it anyway.

    Nullify the pointers after [compat_]exit_robust_list() has been
    called.

    Reported-by: Anirban Sinha
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Thomas Gleixner
    LKML-Reference:
    Cc: stable@kernel.org

    Peter Zijlstra
     
  • The state char variable S should be reassigned, if S == 0.

    We are missing the state of the task that is going to sleep for the
    context switch events (in the raw mode).

    Fortunately the problem arises with the sched_switch/wake_up
    tracers, not the sched trace events.

    The formers are legacy now. But still, that was buggy.

    Signed-off-by: Hiroshi Shimamoto
    Cc: Steven Rostedt
    Acked-by: Frederic Weisbecker
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Hiroshi Shimamoto
     
  • Some architectures such as Sparc, ARM and MIPS (basically
    everything with flush_dcache_page()) need to deal with dcache
    aliases by carefully placing pages in both kernel and user maps.

    These architectures typically have to use vmalloc_user() for this.

    However, on other architectures, vmalloc() is not needed and has
    the downsides of being more restricted and slower than regular
    allocations.

    Signed-off-by: Peter Zijlstra
    Acked-by: David Miller
    Cc: Andrew Morton
    Cc: Jens Axboe
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • The syscall event definitions use long for the syscall exit ret
    value, but unsigned long for the same thing in the format and field
    definitions. Change them all to long.

    Signed-off-by: Tom Zanussi
    Acked-by: Frederic Weisbecker
    Cc: rostedt@goodmis.org
    Cc: lizf@cn.fujitsu.com
    Cc: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Tom Zanussi