On Wed, Sep 19, 2007 at 05:20:27PM -0600, Chris Rigg wrote:
> Hello,
Hi Chris,
>
> First, I'm assuming that if I want my task to have the HIGHEST priority in
> the system (i.e. preempt any other task whenever it is put into the ready
> queue (assuming I have preemption turned on/configured)), I use
> sched_setscheduler (...) and use the sched_priority in sched_param for
> MAX_RT_PRIO -1. Is this correct?
Actually it's probably best to use sched_get_priority_max for the max
prio.
>
> Second, assuming that MAX_RT_PRIO-1 is the highest, would it be bad on an
> SMP/Hyperthreading system (that's using the migration thread balancing in
> 2.6.20.7) to set a task's priority to MAX_RT_PRIO -1 given the fact that
> the migration threads are already set to MAX_RT_PRIO -1? Should I be
> setting my task's prio to MAX_RT_PRIO-2 to not interfere with the load
> balancing?
The migrate task of a given CPU isn't the only one that will take
tasks off its CPU to push them to others (although it does do that).
But there's other load balancing work going on in the scheduler
(looking at the 2.6.20 sched.c).
Although it would be interesting to see what the result would be if you
had N+1 tasks running on N CPUs all doing busy loops, and make one of
the tasks with the prio of MAX_RT_PRIO-1, and see if we have one task
that is starved and never schedules. But I'm sure this should be fixed
(if it was ever broken) with the latest scheduling work that's being
done in the most recent kernels.
-- Steve
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]