Project Description

Linus kernel has a subsystem called workqueues. It provides pool of generic kernel threads (workers). They allow kernel to do some work asynchronously in the process context.

Workqueues try to find a reasonable balance between performance and resources. The queued work items are proceed in parallel when needed. But the same workers are re-used and different users that share pools of workers. The amount of workers is dynamically balanced according to the demand.

There is a special watchog that reports when any worker pool is not able to make a progress. The report provides a lot of information about what is being proceed and what is stuck. Unfortunately, it does not provide enough clues to find root of some problems.

Goal for this Hackweek

Improve the watchdog debugging. Report when it is fails to create new workers. Also show backtrace from workers that might cause the stall.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 22

Activity

  • 10 months ago: pmladek started this project.
  • 10 months ago: pmladek originated this project.

  • Comments

    • pmladek
      10 months ago by pmladek | Reply

      Impletented and sent as RFC upstream.

    Similar Projects

    This project is one of its kind!