Thread (6 messages) flat view 6 messages, 2 authors, 2011-08-23

Running code on an isolated core

From: Vaibhav Jain <hidden>
Date: 2011-08-23 05:58:08

On Mon, Aug 22, 2011 at 10:11 PM, Vladimir Murzin [off-list ref]wrote:
 On Tue, Aug 23, 2011 at 2:15 AM, Vaibhav Jain [off-list ref] wrote:
quoted
Hi,
Thanks for replying but I want to do this in a SMP machine.
Please help!

Thanks
Vaibhav Jain

On Wed, Aug 17, 2011 at 10:53 PM, Vladimir Murzin [off-list ref]
wrote:
quoted
On Wed, Aug 17, 2011 at 11:01 PM, Vaibhav Jain [off-list ref]
wrote:
quoted
quoted
quoted
Hi,

I am looking into running a program on one of the cores which is
isolated
(logically offline )
from the rest of the cores. I have come to that the command
echo 0 > /sys/device/system/cpu/<core num>/online

will make a core logically offline,
What I need to do now is to run a program on this offline core. Please
suggest on how to proceed.

Thanks!
Vaibhav Jain
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Hi Vaibhav,

I think it's impossible to run out a process on unplugged CPU. May be
AMP[1] is what you need, but it's a bit different approach.

[1]http://en.wikipedia.org/wiki/Asymmetric_multiprocessing
Hi Vaibhav,

There is one more approach, but it's not operate on off-lined CPU.
Have a look at isolcpu kernel boot option.
Description in Documentation/kernel-parameters.txt says:

This option can be used to specify one or more CPUs to isolate from
the general SMP balancing and scheduling algorithms. You can move a
process onto or off an "isolated" CPU via the CPU affinity syscalls or
cpuset. <cpu number> begins at 0 and the maximum value is "number of
CPUs in system - 1". 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.


Hi,

Thanks again! But I am asked to look into running process only when the cpu
has been logically offlined.
Someone suggested that I should make changes to arch/x_86/kernel/smpboot.c
file in one of the play_dead functions. But I don't know
what these function is doing and what changes should I make. Could you
please give me some idea ?


Thanks
Vaibhav Jain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110822/aa71760d/attachment-0001.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help