Re: [RFC PATCH 3/3] sched/fair: Use different cachelines for readers and writers of load_avg

From: Waiman Long
Date: Wed Dec 02 2015 - 13:48:38 EST


On 12/01/2015 03:49 AM, Peter Zijlstra wrote:
On Mon, Nov 30, 2015 at 10:55:02PM -0500, Waiman Long wrote:
On 11/30/2015 05:09 PM, Peter Zijlstra wrote:
On Mon, Nov 30, 2015 at 02:13:32PM -0500, Waiman Long wrote:
This begs the question tough; why are you running a global load in a
cgroup; and do we really need to update this for the root cgroup? It
seems to me we don't need calc_tg_weight() for the root cgroup, it
doesn't need to normalize its weight numbers.

That is; isn't this simply a problem we should avoid?
I didn't use any cgroup in my test setup. Autogroup was enabled, though.
Booting up a 4.4-rc2 kernel caused sched_create_group() to be called 56
times.
Yeah, can you kill autogroup and see if that helps? If not, we probably
should add some code to avoid calculating things for the root group.
I will try that out tomorrow. However, SCHED_AUTOGROUP was enabled in the
distribution kernels. So we still need to look at that with autogroup
enabled.
Meh, or just tell the people that have stupid large machines to use
noautogroup on boot (its of questionable benefit in the first place imo,
esp. on servers).

Yes, I was able to recover most of the lost performance by disabling autogroup. I did send out a new patch to disable load_avg update for root_task_group. I need that for backporting to earlier kernels which was forced to update load_avg for every clock tick even for root_task_group.

Cheers,
Longman
--
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/