Re: non-preemptive Linux version?



The Natural Philosopher wrote:
songfg@xxxxxxxxx wrote:

Does anyone know how to make an application fully control its CPU
timing? E.g., if the program is doing intensive computation, it
should not be context-switched by the kernel and other users'
processes. Is there any option in the kernel to enable it, or I
can download some special version of Linux to do it?

It is widely used in the compute nodes of clusters.
Any suggestion and help would be greatly appreciated!

PS: disabling preemption in the kernel seems not working.

Why not look at the scheduler code and see?

And rewrite it if necessary...

Many systems in the past have detected compute vs i/o bound
processes, and alter their priority accordingly. What you want to
do depends on the end use of the system. Usually you want to
reduce the priority of compute-bound relative to i/o bound, to
enhance the 'snappiness' of the response. The OP is asking for the
reverse.

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>


.



Relevant Pages

  • Re: non-preemptive Linux version?
    ... Does anyone know how to make an application fully control its CPU ... if the program is doing intensive computation, ... by the kernel and other users' processes. ...
    (comp.os.linux.misc)
  • Re: non-preemptive Linux version?
    ... Does anyone know how to make an application fully control its CPU ... if the program is doing intensive computation, ... by the kernel and other users' processes. ...
    (comp.os.linux.misc)
  • Re: non-preemptive Linux version?
    ... Does anyone know how to make an application fully control its CPU ... if the program is doing intensive computation, ... by the kernel and other users' processes. ...
    (comp.os.linux.misc)
  • non-preemptive Linux version?
    ... Does anyone know how to make an application fully control its CPU ... if the program is doing intensive computation, ... by the kernel and other users' processes. ...
    (comp.os.linux.misc)