Re: [PATCH] 2.6.0 batch scheduling, HT aware

From: Nick Piggin
Date: Tue Dec 23 2003 - 05:18:20 EST




Nakajima, Jun wrote:

BTW, Nick, does your SMT scheduler have "idle package prioritization"
which chooses an idle logical processor with the other local processor
idle if any (rather than just an idle processor with other local
processor running at full speed), when the scheduler requires an idle
local processor? That would prevent situations like two logical
processors run at full speed in the same processor package, with the
other processor package(s) idle in a same processor package(s). I
haven't reviewed your latest patch closely, and that is the one of the
things I want to do during the holidays.


Yep,
sched_balance_wake wakes to idle siblings if your domain has SD_FLAG_WAKE
and idle_balance tries pulling tasks from any domain with SD_FLAG_NEWIDLE
set if we're just about to become idle.


One question. Why did you remove SD_FLAG_IDLE flag from cpu_domain
initialization in the w27 patch? We've been seeing some performance
degradation with w27, compared to w26.


I reworked things to not require this hopefully. w26 was quite broken
with respect to the active balancing stuff. One thing I did in w27 was
accidently release the code with cache_hot_time for the SMT domain set
to 1ms instead of 0 in w26, so SD_FLAG_NEWIDLE is sometimes not allowed
to pull a ready-to-run task off a sibling...

I haven't been able to do a great deal of performance tuning though,
there is probably quite a bit of room for improvement.


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