Messages in this thread | | | Date | Tue, 16 May 2006 21:49:07 +0200 | From | "Jesper Juhl" <> | Subject | Re: running only 1 process on 1 cpu |
| |
On 16/05/06, fritzsch <fritzsch@cip.physik.uni-muenchen.de> wrote: > Hallo, > i have one process, which i want to run on a cpu (> CPU0). The special > thing here is, that this process is very time critical and should NOT > be interrupted by anything (cpusets/cpus_allowed would not be enough). > (the process is not doing any system calls and is communicating to the > world by shared memory). > so i wanted to run the process on a CPU1, when all irqs are disabled and > so the process could not be interrupted. > > > I tried very simple to > > (1) migrate all processes to CPU0 by cpu_set_allowed > (2) gave my process (running on CPU1) the highest priority > (3) run schedule and make sure that the irqs are disables > (disable_irqs()) > ... >
Some ideas :
- Play with CPU affinity : "man sched_setaffinity" / "man sched_getaffinity" [1] - Try a RealTime patched kernel (Ingo's -rt patchset) and set the processes nice level to least nice & RT priority to the max [2] - Implement the code as a kernel module if it really is that time critical
[1] http://www.linuxjournal.com/article/6799 [2] http://www.captain.at/howto-linux-real-time-patch.php
-- Jesper Juhl <jesper.juhl@gmail.com> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |