1. 12 Jan, 2023 3 commits
  2. 07 Jan, 2023 1 commit
    • Paul E. McKenney's avatar
      workqueue: Make show_pwq() use run-length encoding · c76feb0d
      Paul E. McKenney authored
      The show_pwq() function dumps out a pool_workqueue structure's activity,
      including the pending work-queue handlers:
      
       Showing busy workqueues and worker pools:
       workqueue events: flags=0x0
         pwq 0: cpus=0 node=0 flags=0x1 nice=0 active=10/256 refcnt=11
           in-flight: 7:test_work_func, 64:test_work_func, 249:test_work_func
           pending: test_work_func, test_work_func, test_work_func1, test_work_func1, test_work_func1, test_work_func1, test_work_func1
      
      When large systems are facing certain types of hang conditions, it is not
      unusual for this "pending" list to contain runs of hundreds of identical
      function names.  This "wall of text" is difficult to read, and worse yet,
      it can be interleaved with other output such as stack traces.
      
      Therefore, make show_pwq() use run-length encoding so that the above
      printout instead looks like this:
      
       Showing busy workqueues and worker pools:
       workqueue events: flags=0x0
         pwq 0: cpus=0 node=0 flags=0x1 nice=0 active=10/256 refcnt=11
           in-flight: 7:test_work_func, 64:test_work_func, 249:test_work_func
           pending: 2*test_work_func, 5*test_work_func1
      
      When no comma would be printed, including the WORK_STRUCT_LINKED case,
      a new run is started unconditionally.
      
      This output is more readable, places less stress on the hardware,
      firmware, and software on the console-log path, and reduces interference
      with other output.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Dave Jones <davej@codemonkey.org.uk>
      Cc: Rik van Riel <riel@surriel.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      c76feb0d
  3. 04 Jan, 2023 5 commits
  4. 03 Jan, 2023 7 commits
  5. 02 Jan, 2023 4 commits
  6. 01 Jan, 2023 6 commits
  7. 31 Dec, 2022 2 commits
  8. 30 Dec, 2022 12 commits