Please suggest a better name then.
It does. The yielding task is entitled to its fair share of the cpu, as
modified by priority and group scheduling. The yielding task is willing
to give up some of this cpu, in return for increasing another task's
share. Other tasks would not be negatively affected by this.
In extreme cases, very often. Say 100KHz.
Unless the other task donates some cpu share back. This is exactly what
will happen in those extreme cases.
It's lost, too bad.
Eventually C would replace A, since its share will be exhausted. If C
is pinned... good question. How does fairness work with pinned tasks?
Is this not seen as a major deficiency?
I can understand intra-cpu scheduling decisions at 300 Hz and inter-cpu
decisions at 10 Hz (or even lower, with some intermediate rate for
intra-socket scheduling). But this looks like a major deviation from
fairness - instead of 33%/33%/33% you get 50%/25%/25% depending on
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.