El Tue, 01 Feb 2011 10:02:54 -0300 Davidlohr Bueso <d...@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 <d...@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: ral...@gmail.com | +-----------------------+-------------------------+