Discussion:
control on cpu/core
christophe malvasio
2013-04-05 16:30:05 UTC
Permalink
hi all
i want to give the control of one core to a module
that is the kernel have to not schedule/interrupt execution on this
core and also my module have to be the only thing to send execution on
this core
i'm not sure if i can make it only from my module or if i must hack
the kernel too ?
fake core unplug or more coding ?
give me your opinion ;)
christophe malvasio
2013-04-05 18:41:13 UTC
Permalink
ok thanks lucas ;)
i'm not on writing functions loading yet but it will come
(i don't have a more efficient format than elf in good shape in my mind ...)
Post by christophe malvasio
hi all
i want to give the control of one core to a module
that is the kernel have to not schedule/interrupt execution on this
core and also my module have to be the only thing to send execution on
this core
i'm not sure if i can make it only from my module or if i must hack
the kernel too ?
fake core unplug or more coding ?
give me your opinion ;)
You can isolate a core during boot so no process is scheduled to that
core. See "isolcpus=" in Documentation/kernel-parameters.txt.
I don't know what your module is doing so it might not be possible in
all scenarios. The only way I see is if your module created a kernel
thread. Then it can be moved to the isolated core by setting the cpu
mask. See for example how kworker, watchdog, migration do.
is really low traffic and mostly intended for the module
loading/removal process, not really about writing modules.
Lucas De Marchi
Lucas De Marchi
2013-04-05 17:54:16 UTC
Permalink
Post by christophe malvasio
hi all
i want to give the control of one core to a module
that is the kernel have to not schedule/interrupt execution on this
core and also my module have to be the only thing to send execution on
this core
i'm not sure if i can make it only from my module or if i must hack
the kernel too ?
fake core unplug or more coding ?
give me your opinion ;)
You can isolate a core during boot so no process is scheduled to that
core. See "isolcpus=" in Documentation/kernel-parameters.txt.

I don't know what your module is doing so it might not be possible in
all scenarios. The only way I see is if your module created a kernel
thread. Then it can be moved to the isolated core by setting the cpu
mask. See for example how kworker, watchdog, migration do.

I'm CCing LKML to broaden your audience. linux-***@vger.kernel.org
is really low traffic and mostly intended for the module
loading/removal process, not really about writing modules.


Lucas De Marchi

Loading...