Running code on an isolated core

Vladimir Murzin murzin.v at gmail.com
Tue Aug 23 01:11:34 EDT 2011


On Tue, Aug 23, 2011 at 2:15 AM, Vaibhav Jain <vjoss197 at gmail.com> wrote:
> 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 <murzin.v at gmail.com>
> wrote:
>>
>> On Wed, Aug 17, 2011 at 11:01 PM, Vaibhav Jain <vjoss197 at gmail.com> wrote:
>> > 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.



More information about the Kernelnewbies mailing list