Re: isolcpus weirdness

From: Nick Piggin
Date: Thu Feb 23 2006 - 08:35:47 EST


Emmanuel Pacaud wrote:
Le jeudi 23 février 2006 à 23:21 +1100, Nick Piggin a écrit :

Emmanuel Pacaud wrote:

Hi,

When specifying isolcpus kernel parameters, isolated cpu is always the
same, not the one I asked for.

..

What's wrong ?


If you have 2 CPUs, and "isolate" one of them, the other is isolated
from it. Ie. there is no difference between isolating one or the other,
the net result is that they are isolated from each other.



From kernel-parameters.txt:

+ isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler.
+ Format: <cpu number>, ..., <cpu number>
+ This option can be used to specify one or more CPUs
+ to isolate from the general SMP balancing and scheduling
+ algorithms. The only way to move a process onto or off
+ an "isolated" CPU is via the CPU affinity syscalls.
+
+ This option is the preferred way to isolate CPUs. The
+ alternative - manually setting the CPU mask of all tasks
+ in the system can cause problems and suboptimal load
+ balancer performance.

There's a difference between isolated cpus and other cpus: by default,
there's almost no activity on isolated ones. That's what I want to be
able to do.


Nothing in kernel-parameters.txt says there will be almost no activity
on them. What you see is what you get, AFAIKS. It would seem strange
to me if isolating one CPU in a 2 CPU machine behaved differently from
isolating the other.

Isolating is really in the context of isolating it from scheduler
balancing, rather than suggesting no tasks will run on there. One way
you could make this do what you want is to bind the init process to
your non-isolated-CPU at boot. This is a policy decision that can be
done in userspace though.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
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/