Re: [patch] sched: schedstat needs a diet

From: Ken Chen
Date: Thu Oct 18 2007 - 18:57:50 EST


On 10/18/07, Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:
> Good question indeed. How large is this memory footprint exactly ? If it
> is as small as you say, I suspect that the real issue could be that
> these variable are accessed by the scheduler critical paths and
> therefore trash the caches.

Maybe my wording was ambiguous, I meant to reduce cache line pollution
when accessing these schedstat fields.

With unsigned long, on x86_64, schedstat consumes 288 bytes for each
sched_domain and 128 bytes in struct rq. On a extremely small system
that has a couple of CPU sockets with one level of numa node, there
will be 704 bytes per CPU for schedstat. Given the sparseness of
them, we are probably talking about 11-12 cache line eviction on
several heavily used scheduler functions. Reduce cache line pollution
is the primary goal, actual memory consumption isn't really a concern.

- Ken
-
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/