{"push_id":3157693672,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"2cb26cfe9cbf8a64c5046c74d65f4528b22e67f4","before":"a07fbfbd15a205eb8edfe56176d4f0b20f8a3cfd","commits":[{"sha":"5a52917e4d099eecb18a9ede260469e38df9933a","author":{"name":"Aleksa Sarai","email":"a8eb12d32d6ec07cdf737175ec7d4a0f1b4e1ee7@suse.de"},"message":"daemon: switch to semaphore-gated WaitGroup for startup tasks\n\nMany startup tasks have to run for each container, and thus using a\nWaitGroup (which doesn't have a limit to the number of parallel tasks)\ncan result in Docker exceeding the NOFILE limit quite trivially. A more\noptimal solution is to have a parallelism limit by using a semaphore.\n\nIn addition, several startup tasks were not parallelised previously\nwhich resulted in very long startup times. According to my testing, 20K\ndead containers resulted in ~6 minute startup times (during which time\nDocker is completely unusable).\n\nThis patch fixes both issues, and the parallelStartupTimes factor chosen\n(128 * NumCPU) is based on my own significant testing of the 20K\ncontainer case. This patch (on my machines) reduces the startup time\nfrom 6 minutes to less than a minute (ideally this could be further\nreduced by removing the need to scan all dead containers on startup --\nbut that's beyond the scope of this patchset).\n\nIn order to avoid the NOFILE limit problem, we also detect this\non-startup and if NOFILE < 2*128*NumCPU we will reduce the parallelism\nfactor to avoid hitting NOFILE limits (but also emit a warning since\nthis is almost certainly a mis-configuration).\n\nSigned-off-by: Aleksa Sarai <asarai@suse.de>","distinct":true,"url":"https://api.github.com/repos/moby/moby/commits/5a52917e4d099eecb18a9ede260469e38df9933a"},{"sha":"2cb26cfe9cbf8a64c5046c74d65f4528b22e67f4","author":{"name":"Akihiro Suda","email":"fccf3f73745d7d64c25c7c8e3743183246c9b015@gmail.com"},"message":"Merge pull request #38301 from cyphar/waitgroup-limits\n\ndaemon: switch to semaphore-gated WaitGroup for startup tasks","distinct":true,"url":"https://api.github.com/repos/moby/moby/commits/2cb26cfe9cbf8a64c5046c74d65f4528b22e67f4"}]}
{"actor":{"display_login":"AkihiroSuda"}}