Kernel Linux y renice/ionice

Ricardo Albarracin B. ralbab en gmail.com
Mar Feb 1 18:01:36 CLST 2011


El Tue, 01 Feb 2011 10:02:54 -0300
Davidlohr Bueso <dave en gnu.org> escribió:
> On Tue, 2011-02-01 at 09:51 -0300, Ricardo Albarracin B. wrote:
> > El Tue, 01 Feb 2011 09:30:16 -0300
> > Davidlohr Bueso <dave en gnu.org> escribió:
> > 
> > > Este problema no se soluciona necesariamente con linux-rt (o
> > > cualquier SO rt). Deberias asegurarte que tengas un preemptive
> > > kernel (CONFIG_PREEMPT).
> > 
> > Tienes un link a este tema para leer lo que se podría lograr con
> > esta característica? 
> 
> En realidad no :) Basicamente antes (hasta hace solo unos 5/6 anos) el
> kernel solo cambiaba de contexto cuando el proceso estaba corriendo en
> espacio usuario. Con kernel preemptive puede cambiar en cualquier
> situacion, y para tu caso esto es conveniente pues puedes darle a tu
> programa una prioridad mas alta lo que hara que corra mas y los otros
> procesos tengan menos tiempo... esto es a muy grandes rasgos, quiza
> quieras ver: 
> http://en.wikipedia.org/wiki/Preemption_%28computing%29

El tema es que las prioridades deben ser manejadas con ciertos
criterios definidos, es por ello que no se trata de sólo cambiar una
prioridad..

> Suponiendo que sabes compiar el vanilla kernel (no se como cambiar la
> configuracion especificamente para cada distro), anda al menuconfig >>
> Processor type and features >> Preemption Model >> Preemptive kernel
> Esto habilitara el CONFIG_PREEMPT (lo puedes ver en el .config
> generado), luego compila normalmente.

Supones bien... Hay varias aristas en este tema y mucho donde aplicar
los esfuerzos, es un tema delicado que hay que entender bien  ya que
debes comprobar que los cambios realizados al kernel hacen lo que
esperas y no es trivial comprobar que así sea.

Gracias por los comentarios en todo caso.

> Suerte.
-- 
Atentamente.
+-----------------------+-------------------------+
| Ricardo Albarracin B. | email: ralbab en gmail.com |
+-----------------------+-------------------------+


Más información sobre la lista de distribución Linux