[lkml]   [2003]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] 2.6.0 batch scheduling, HT aware

Pavel Machek wrote:

>>I've done a resync and update of my batch scheduling that is also hyper-thread
>>What is batch scheduling? Specifying a task as batch allows it to only use cpu
>>time if there is idle time available, rather than having a proportion of the
>>cpu time based on niceness.
>>Why do I need hyper-thread aware batch scheduling?
>>If you have a hyperthread (P4HT) processor and run it as two logical cpus you
>>can have a very low priority task running that can consume 50% of your
>>physical cpu's capacity no matter how high priority tasks you are running.
>>For example if you use the distributed computing client setiathome you will
>>be effectively be running at half your cpu's speed even if you run setiathome
>>at nice 20. Batch scheduling for normal cpus allows only idle time to be used
>>for batch tasks, and for HT cpus only allows idle time when both logical cpus
>>are idle.
>BTW this is going to be an issue even on normal (non-HT)
>systems. Imagine memory-bound scientific task on CPU0 and nice -20
>memory-bound seti&home at CPU1. Even without hyperthreading, your
>scientific task is going to run at 50% of speed and seti&home is going
>to get second half. Oops.
>Something similar can happen with disk, but we are moving out of
>cpu-scheduler arena with that.
>[I do not have SMP nearby to demonstrate it, anybody wanting to
>benchmark a bit?]
> Pavel
heh...and the situation gets even worse when you add cpus, with 16way
you get only 1/16 of the speed ;)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:59    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean