1. 01 Mar, 2021 5 commits
  2. 25 Feb, 2021 1 commit
  3. 24 Feb, 2021 12 commits
  4. 23 Feb, 2021 2 commits
    • Dridi Boukelmoune's avatar
      pool: Wait when we run out of workers · 68727334
      Dridi Boukelmoune authored
      Since the removal of dry signals, pools will spin when they run out of
      threads and increment MAIN.threads_limited at a very high rate. That
      spike in CPU consumption will also have detrimental effects on useful
      tasks.
      
      This change introduces a 1s delay when the pool is saturated. This
      allows to periodically exercise the watchdog check. We could wait until
      the watchdog times out but we would also miss potential updates to the
      thread_pool_watchdog parameter.
      
      To avoid spurious increments of MAIN.threads_limited we only take task
      submissions into account and ignore timeouts of the condvar.
      
      Refs #2942
      Refs #3531
      68727334
    • Poul-Henning Kamp's avatar
      Add missing X-ref · fbee34a6
      Poul-Henning Kamp authored
      fbee34a6
  5. 22 Feb, 2021 11 commits
  6. 21 Feb, 2021 1 commit
    • Nils Goroll's avatar
      Make threads_limited counter accurate · 2bd5d2ad
      Nils Goroll authored
      In pool_herder(), we do as much work as possible outside the pool
      mutex. In particular, we check if we need to breed more threads, then
      we do more checks, and finally we aquire the lock and either go sleep
      or increase the threads_limited counter if, at that point, lqueue is
      non-zero.
      
      Yet it could have increased since we last checked, and there is
      nothing wrong with that, we will breed a new thread in the next
      iteration of the loop.
      
      Increase threads_limited only if we would not bread a new thread right
      away.
      
      Fixes #3531
      2bd5d2ad
  7. 20 Feb, 2021 1 commit
  8. 18 Feb, 2021 1 commit
  9. 17 Feb, 2021 5 commits
  10. 16 Feb, 2021 1 commit