Re: question on sched-rt group allocation cap: sched_rt_runtime_us

From: Anirban Sinha
Date: Tue Sep 08 2009 - 13:34:27 EST




Looking at the git history, there have been several bugfixes to the rt
bandwidth code from 2.6.26, one of them seems to be strictly related to
runtime accounting with your setup:

commit f6121f4f8708195e88cbdf8dd8d171b226b3f858
Author: Dario Faggioli <raistlin@xxxxxxxx>
Date: Fri Oct 3 17:40:46 2008 +0200

sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq

Hmm. Indeed there did seem to have quite a few fixes to the accounting logic. I back-patched our 2.6.26 kernel with the upstream patches that seemed relevant and my test code now yields reasonable results. Applying the above patch did not fix it though which kind of makes sense since from the commit log it seems that the patch fixed cases when the RT task was getting *less* CPU than it's bandwidth allocation as opposed to more as in my case. I haven't bisected the patchet to figure out exactly which one fixed it but I intend to do it later just for fun.

For completeness, these are the results after applying the upstream patches *and* disabling bandwidth borrowing logic on my 2.6.26 kernel running on a quad core blade with CONFIG_GROUP_SCHED turned off (100HZ jiffies):

rt_runtime/
rt_period % of SCHED_OTHER iterations

.40 100%
.50 74%
.60 47%
.70 31%
.80 18%
.90 8%
.95 4%

--Ani

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/