1. 06 11月, 2013 1 次提交
  2. 04 11月, 2013 1 次提交
  3. 01 11月, 2013 1 次提交
  4. 31 10月, 2013 2 次提交
    • O
      hung_task debugging: Add tracepoint to report the hang · 6a716c90
      Oleg Nesterov 提交于
      Currently check_hung_task() prints a warning if it detects the
      problem, but it is not convenient to watch the system logs if
      user-space wants to be notified about the hang.
      
      Add the new trace_sched_process_hang() into check_hung_task(),
      this way a user-space monitor can easily wait for the hang and
      potentially resolve a problem.
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      Cc: Dave Sullivan <dsulliva@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/20131019161828.GA7439@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6a716c90
    • G
      percpu: fix this_cpu_sub() subtrahend casting for unsigneds · bd09d9a3
      Greg Thelen 提交于
      this_cpu_sub() is implemented as negation and addition.
      
      This patch casts the adjustment to the counter type before negation to
      sign extend the adjustment.  This helps in cases where the counter type
      is wider than an unsigned adjustment.  An alternative to this patch is
      to declare such operations unsupported, but it seemed useful to avoid
      surprises.
      
      This patch specifically helps the following example:
        unsigned int delta = 1
        preempt_disable()
        this_cpu_write(long_counter, 0)
        this_cpu_sub(long_counter, delta)
        preempt_enable()
      
      Before this change long_counter on a 64 bit machine ends with value
      0xffffffff, rather than 0xffffffffffffffff.  This is because
      this_cpu_sub(pcp, delta) boils down to this_cpu_add(pcp, -delta),
      which is basically:
        long_counter = 0 + 0xffffffff
      
      Also apply the same cast to:
        __this_cpu_sub()
        __this_cpu_sub_return()
        this_cpu_sub_return()
      
      All percpu_test.ko passes, especially the following cases which
      previously failed:
      
        l -= ui_one;
        __this_cpu_sub(long_counter, ui_one);
        CHECK(l, long_counter, -1);
      
        l -= ui_one;
        this_cpu_sub(long_counter, ui_one);
        CHECK(l, long_counter, -1);
        CHECK(l, long_counter, 0xffffffffffffffff);
      
        ul -= ui_one;
        __this_cpu_sub(ulong_counter, ui_one);
        CHECK(ul, ulong_counter, -1);
        CHECK(ul, ulong_counter, 0xffffffffffffffff);
      
        ul = this_cpu_sub_return(ulong_counter, ui_one);
        CHECK(ul, ulong_counter, 2);
      
        ul = __this_cpu_sub_return(ulong_counter, ui_one);
        CHECK(ul, ulong_counter, 1);
      Signed-off-by: NGreg Thelen <gthelen@google.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Acked-by: NJohannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bd09d9a3
  5. 29 10月, 2013 1 次提交
  6. 23 10月, 2013 1 次提交
  7. 22 10月, 2013 4 次提交
  8. 20 10月, 2013 1 次提交
  9. 18 10月, 2013 4 次提交
  10. 17 10月, 2013 3 次提交
  11. 16 10月, 2013 2 次提交
  12. 15 10月, 2013 1 次提交
  13. 12 10月, 2013 1 次提交
  14. 11 10月, 2013 6 次提交
  15. 09 10月, 2013 11 次提交