Re: possible migration bug with hotplug cpu
From: Peter Zijlstra
Date: Thu Jul 09 2009 - 08:24:40 EST
On Thu, 2009-07-09 at 13:57 +0200, Lucas De Marchi wrote:
> So, I found the problem.
>
> These fields are currently not initialized upon fork. I noted that when I
> updated to 2.6.31-rc2; commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 was
> merged into kernel by Ingo (not present yet in 2.6.30), but it only initializes
> nr_migrations. Why the other fields are not initialized to 0? Even when there
> are more processors, these fields may be wrong if not zeroed when a new task
> is started. Below the fast way to fix it. This fixed the counters for me.
Ah, awesome. I hadn't had time to look in detail yet. Thanks!
> What do you think of creating a struct sched_statistics embedded into
> sched_entity so we coudl memset it to zero all at once? All fields of
> SCHED_STATS piece should be initialized, right?
Sounds like a sane plan.
One of the things I have wanted to do for a long time is to rename
sched_entity to sched_fair_entity, and do something like:
struct sched_entity {
struct sched_common_entity common;
union {
struct sched_fair_entity fair;
struct sched_rt_entity rt;
};
};
I imagine we can add struct sched_statistics to the end of this as well.
The reason I haven't come around to doing this is that it takes a bit of
time to refactor the code and find all the common bits. So its been on
my todo list like forever.
Can I persuade you to look at this? :-)
I'll queue the below, can I add:
Signed-off-by: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx>
?
--
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/