1. 04 11月, 2010 1 次提交
  2. 01 11月, 2010 1 次提交
  3. 21 10月, 2010 2 次提交
  4. 19 10月, 2010 1 次提交
    • V
      sched: Fix softirq time accounting · 75e1056f
      Venkatesh Pallipadi 提交于
      Peter Zijlstra found a bug in the way softirq time is accounted in
      VIRT_CPU_ACCOUNTING on this thread:
      
         http://lkml.indiana.edu/hypermail//linux/kernel/1009.2/01366.html
      
      The problem is, softirq processing uses local_bh_disable internally. There
      is no way, later in the flow, to differentiate between whether softirq is
      being processed or is it just that bh has been disabled. So, a hardirq when bh
      is disabled results in time being wrongly accounted as softirq.
      
      Looking at the code a bit more, the problem exists in !VIRT_CPU_ACCOUNTING
      as well. As account_system_time() in normal tick based accouting also uses
      softirq_count, which will be set even when not in softirq with bh disabled.
      
      Peter also suggested solution of using 2*SOFTIRQ_OFFSET as irq count
      for local_bh_{disable,enable} and using just SOFTIRQ_OFFSET while softirq
      processing. The patch below does that and adds API in_serving_softirq() which
      returns whether we are currently processing softirq or not.
      
      Also changes one of the usages of softirq_count in net/sched/cls_cgroup.c
      to in_serving_softirq.
      
      Looks like many usages of in_softirq really want in_serving_softirq. Those
      changes can be made individually on a case by case basis.
      Signed-off-by: NVenkatesh Pallipadi <venki@google.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <1286237003-12406-2-git-send-email-venki@google.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      75e1056f
  5. 14 10月, 2010 2 次提交
  6. 12 10月, 2010 1 次提交
  7. 10 10月, 2010 1 次提交
  8. 05 10月, 2010 2 次提交
  9. 30 9月, 2010 1 次提交
  10. 13 9月, 2010 1 次提交
  11. 02 9月, 2010 2 次提交
  12. 25 8月, 2010 1 次提交
  13. 24 8月, 2010 2 次提交
  14. 23 8月, 2010 1 次提交
  15. 22 8月, 2010 1 次提交
  16. 20 8月, 2010 3 次提交
  17. 19 8月, 2010 1 次提交
  18. 18 8月, 2010 1 次提交
  19. 11 8月, 2010 2 次提交
  20. 10 8月, 2010 3 次提交
  21. 08 8月, 2010 1 次提交
  22. 05 8月, 2010 4 次提交
  23. 03 8月, 2010 1 次提交
  24. 01 8月, 2010 2 次提交
  25. 25 7月, 2010 1 次提交
  26. 20 7月, 2010 1 次提交