Kirill Korotaev wrote:>>> Using a timer for releasing tasks from their sinbin sounds like a bit>>> of an overhead. Given that there could be 10s of thousands of tasks.>>>>>> The more runnable tasks there are the less likely it is that any of >> them is exceeding its hard cap due to normal competition for the >> CPUs. So I think that it's unlikely that there will ever be a very >> large number of tasks in the sinbin at the same time.> for containers this can be untrue...

Why will this be untrue for containers?

> :( actually even for 1000 tasks (I > suppose this is the maximum in your case) it can slowdown significantly > as well.> >>> Is it possible to use the scheduler_tick() function take a look at all>>> deactivated tasks (as efficiently as possible) and activate them when>>> its time to activate them or just fold the functionality by defining a>>> time quantum after which everyone is worken up. This time quantum>>> could be the same as the time over which limits are honoured.> agree with it.

If there are a lot of RUNNABLE (i.e. on a run queue) tasks then normal competition will mean that their CPU usage rates are small and therefore unlikely to be greater than their cap. The sinbin is only used for tasks that are EXCEEDING their cap.