Messages in this thread | | | From | "Doug Smythies" <> | Subject | RE: [PATCH] Revert "sched/fair: Fix O(nr_cgroups) in the load balancing path" | Date | Sat, 9 Nov 2019 08:47:09 -0800 |
| |
Hi Vincent,
Thank you for your item 2 patch.
On 2019.11.08 01:19 Vincent Guittot wrote: ... >> I have to prepare a patch for this part which is item 2 > > I have finally been able to prepared the patch for item 2. Could you check > that it also fixes your problem ? ... > We can still have some spurious call to cpufreq_util_change in > update_blocked_average() with this patch but at least the value will be > up to date in both calls, which was not the case before. If this fix > Doug's problem, I can prepare an additional one to fix the spurious call > but I wanted to make sure that this fix the problem first.
Yes, the issue is solved with this patch. I do wonder if I am seeing the effect of the spurious calls.
Details:
Test 1: an 8000 second trace during system idle: Maximum duration: 4.00015 seconds. Good. Typically, there would have been about 300 durations of over 10 seconds in 8000 seconds. Number of calls to driver: 103168, which is about 8% more than the previous experimental solution. (Should be repeated a few times to verify repeatability, but not going to.)
Test 2: one 8000 second energy sample, for high accuracy idle power: 3.703 watts which is about +0.7% idle power increase.
Test 3: The load-no-load test with only idle state 1 enabled: There was never an excessive energy sample for the no load samples. The test ran for about 8 hours. Maximum: 9.49 watts Minimum: 9.13 watts Recall that with the issue, the max would have been about 14 watts
Kernel: 5.4-rc6 + your items 1 and item 2 patches. Idle governor = menu, because teo fixes are still pending. Note: some reference data is from kernel 5.4-rc2, and really should have been re-done with 5.4-rc6 as the baseline.
... Doug
| |