Autor Tema: Isolcpus en Debian?  (Leído 7140 veces)

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Isolcpus en Debian?
« en: 18 Mayo 2015, 17:44 »
Buenas compañeros,

En un arrebato de masoquismo, tomé la arrojada decisión de pasar mi BF20L a LinuxCNC. Resuelto, compré un ordenata viejo en eBay (HP dc5100) le instalé el combo Debian-Linuxcnc 2.6 que viene en el Live disc más reciente en Linuxcnc.org, y antes de conectar el ordenador a la máquina, me puse a trastear con el tema de la latencia, para reducirla al máximo.

Sin modificar nada en el sistema, me daban picos de alrededor de 62000 ns. Luego deshabilité el hyperthreading en la BIOS y me quedó una latencia "tranqui" de alrededor de 5000 ns, pero con picos de hasta 37000 ns. Pero como todavía queda espacio para mejorar, lo que quiero hacer ahora es aislar uno de los dos núcleos del ordenata para que se dedique a Linuxcnc exclusivamente.

He estado leyendo hasta quedarme bizco, y parece que eso se hace con una(s) línea(s) de código resumidas en "isolcpu =1", de modo que el cpu 0 se dedica a las tareas del hogar y el cpu 1 se dedica a fresar. Parece que en la época de Ubuntu (o antes del Grub 2 - a que parece que sé de lo que estoy hablando?  ;D) el tema era bastante simple porque se ponía lo de isolcpu al final del código en el boot manager y listo, pero en Grub 2 (que parece que es lo que lleva la versión de Debian que se distribuye con el Linuxcnc 2.6), es bastante enquilombado.

Hasta aquí he llegado, y busco y rebusco pero no parece haber mucho dedicado al isolcpu en Debian, más allá de reportes de que x probó meter un tochazo de líneas de código, luego metió mano un poco más y al final le funiconó.

Juro que me encantaría ser un super nerd informático pero me temo que los conocimientos no me alcanzan para estas cosas, y estoy bastante perdido con el tema. Agradecería mucho  .ereselmejor si alguno de nuestros magníficos compañeros del foro de los que ya se han hecho amigos del Linuxcnc me pudiera echar un cable, a ver si conseguimos aislar el dichoso núcleo!

Desde ya, muy agradecido  .brinda

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Isolcpus en Debian?
« Respuesta #1 en: 18 Mayo 2015, 18:47 »
Supongo que tienes localizada la siguiente pagina  The Isolcpus Boot Parameter And GRUB2
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Isolcpus en Debian?
« Respuesta #2 en: 18 Mayo 2015, 18:52 »
Por lo que veo, tienes que copiar el siguiente archivo 07_rtai en la carpeta de conf del grub, le pones permiso de ejecución y haces un update-grub. En la siguiente carga debería manifestarse el cambio.
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Re:Isolcpus en Debian?
« Respuesta #3 en: 18 Mayo 2015, 18:56 »
Muchas gracias Alberttoy. Sí, tenía ubicada esa página. Me la leí un par de veces (o más) y también le eché un vistazo al archivo 07_rtai, pero no termino de estar seguro de si se trata simplemente de copiar todo, o si hay que copiar solo algunas partes, porque veo que el archivo tiene muchos comentarios que no son script.

Y como no quiero meter la gamba...  :-\

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Isolcpus en Debian?
« Respuesta #4 en: 18 Mayo 2015, 19:06 »
El script se ejecuta durante la configuración del grub2.
Basicamente lo que hace es rellenar variables que luego afectan al comportamiento del configurador.
las lineas
RTAI_OPTS="isolcpus=1"
#RTAI_OPTS="isolcpus=1,2,3"
#RTAI_OPTS="nohlt ${RTAI_OPTS}"
#RTAI_OPTS="idle=poll ${RTAI_OPTS}"


Son las que importan. Parece que en sucesivas mejoras han añadido las comentadas que se podrian descomentar si conviene

Solo te hablo en teoria. A ver si alguien lo ha probado realmente
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado jordi3sk97

  • Aprendiz
  • *
  • Join Date: Jun 2010
  • Mensajes: 882
  • Ubicación: Cerca de Barcelona
Re:Isolcpus en Debian?
« Respuesta #5 en: 18 Mayo 2015, 19:14 »
Hay que leerse los comentarios del fichero y comentar o descomentar las lineas que cuadren con tu maquina,
#KAR: define new local strings for convenience
#     if you want to change the rtai-kernel boot parameters, here's an easy
#     place to do it.
#
#MAV: uncomment isolcpus=1 for dual core, isolcpus=1,2,3 for quad
#     these both assume hyperthreading is already disabled in bios
#
#     optionally uncomment nohlt and idle=poll lines to experiment with those
#     note: try idle=poll first as nohlt may cause increased power usage
#

una vez lo tienes adaptado

cp 07_rtai /etc/grub.d
chmod +x /etc/grub.d/07_rtai
update-grub
/////////////////////////////
O quizás se podría experimentar quitando el grub2 y volviendo a grub o al lilo ?

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Re:Isolcpus en Debian?
« Respuesta #6 en: 18 Mayo 2015, 19:31 »
Cuando llegue a casa me pongo a experimentar (qué remedio!) y reporto. Ya veremos si llego a buen puerto, ya que la mayoría de estas líneas no tengo ni idea de lo que significan, así no que no estoy seguro de qué se puede cambiar y qué no, y en su caso, cómo.  .confuso2

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Isolcpus en Debian?
« Respuesta #7 en: 18 Mayo 2015, 19:39 »
A ver que mensajes te salen durante update-grub



Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Re:Isolcpus en Debian?
« Respuesta #8 en: 18 Mayo 2015, 23:53 »
Bueno, me bajé el archivo 07_rtai y lo instalé siguiendo las instrucciones en el wiki de linuxcnc. Las buenas noticias es que funciona. La línea "isolcpus=1" está ahora en Grub. No he comprobado si el núcleo tiene actividad alguna o no, ya que esa será otra habilidad que aprender y el día solamente tiene 24 horas...

Con 19 páginas de internet abiertas (una de ellas con Youtube), cuatro instancias de glxgears, moviendo ventanas, etc., en el test de latencia el jitter máximo es de 25500 ns., o sea que ha mejorado algo la cosa. Si no castigo a la máquina, la lectura es de unos 4500 ns.

Ahora me falta averiguar cómo se programa el cpu affinity, de modo que Linuxcnc use el núcleo número 1. ¿Alguien sabe cómo se hace eso?

Y otra cosa: la tarjeta que lleva el pc es una Nvidia, que tienen mala fama con Linux. Alguien sabe cómo hacer para desactivar el driver de la Nvidia y usar en su lugar uno genérico?

Gracias!

Desconectado jmllosa

  • Oficial 1ª
  • **
  • Join Date: Dic 2011
  • Mensajes: 2751
  • Ubicación: Benetusser, Valencia
Re:Isolcpus en Debian?
« Respuesta #9 en: 19 Mayo 2015, 07:43 »
Si estas en modo masoka si, jajajaj pero eso es bieno, se aprende, lo que ya estaria de lujo es un tutorial de que ,como y que has hecho, vamos un paso a paso para tontos, si es posible claro. .bien
Fresadora Kondia Powermill K76 CnC, torno pinacho S94 CnC, grabadora Láser 40W CO2 y cacharros variados. Fresadora CNC Made in Yo mismo "R.O.B 2.0" http://foro.metalaficion.com/index.php?topic=21683.0 , Torno HBM 360x1000, Taladro fresador HMB 40-A

borondes2010

  • Visitante
Re:Isolcpus en Debian?
« Respuesta #10 en: 19 Mayo 2015, 08:21 »
Fit0..para la proxima vez que tengas menos tiempo libre y quieras que las cosas funcionen a la primera y sin andar modificando nada..

http://www.ebay.es/itm/HP-Compaq-DC7600-Intel-Pentium-D-3-40GHz-1GB-Ram-80GB-HD-Windows-XP-WIFI-/271702906881?pt=LH_DefaultDomain_3&hash=item3f42c15801

http://www.ebay.es/itm/KIT-PC2-6400-RAM-4Gb-2x2Gb-DDR2-800Mhz-240pin-Memoria-per-DESKTOP-DDR800-/231454680907?pt=LH_DefaultDomain_186&hash=item35e3c6274b


pdta..como unica mejora estaria muy bien tener 4gigas de ram y asi todavia funcionara mejor y todo por menos de 100 euros ;)
« última modificación: 19 Mayo 2015, 08:28 por MICHEL 100% »

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Re:Isolcpus en Debian?
« Respuesta #11 en: 19 Mayo 2015, 10:19 »
Jmllosa, sí, el tutorial lo hago, pero lo mío fueron palos de ciego, y no estoy seguro de haberlo hecho bien. Una vez conecte el ordenador a la BF20 veremos si lo hice bien... En informática y en electrónica, me temo que soy un nulo total :-X, pero a fuerza de masoquismo las cosas van saliendo  .bien

Michel, el ordenador que me pusiste en eBay es prácticamente igual al que compré yo, al menos en aspecto. El mío es un HP dc5100 dual core Pentium de 3.4Ghz y 2Gb de ram. En rendimiento no deberían andar lejos.

Me hiciste reír con lo del tiempo libre, que es precisamente lo que me falta y por eso me desespero!

abu

  • Visitante
Re:Isolcpus en Debian?
« Respuesta #12 en: 19 Mayo 2015, 11:09 »
En cuanto al driver de la grafica, posiblemente (casi seguro, mas bien) que ya estes usando uno generico.
Los genericos que se usan con las Nvidea son el VESA y el Nouveau.

Para saber que driver usa tu tarjeta, abre una ventana de terminal y escribe:
lspci -v

Esto te dara un monton de informacion sobre tu maquina. En el portatil que tengo para "guarrear", esta es la info que el comando lspci da sobre mi video.

01:00.0 VGA compatible controller: NVIDIA Corporation NV31M [GeForce FX Go5600] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Hewlett-Packard Company Device 006a
   Flags: bus master, 66MHz, medium devsel, latency 40, IRQ 16
   Memory at d1000000 (32-bit, non-prefetchable) [size=16M]
   Memory at e0000000 (32-bit, prefetchable) [size=256M]
   Expansion ROM at <unassigned> [disabled]
   Capabilities: <access denied>
   Kernel driver in use: nouveau

La ultima linea dice que estoy usando el driver generico nouveau.

Con lo de los nucleos del micro no tengo experiencia..........tengo procesadores de un solo nucleo ::) ;D ;D ;D
« última modificación: 19 Mayo 2015, 11:16 por abu »

Desconectado Fit0

  • Aprendiz
  • *
  • Join Date: Jul 2014
  • Mensajes: 144
  • Ubicación: Madrid
Re:Isolcpus en Debian?
« Respuesta #13 en: 19 Mayo 2015, 11:22 »
Genial Abu, súper útil la información que me pasaste, muchas gracias  .bien. Cuando llegue a casa me fijo. Ya va quedando menos que afinar  .brinda

Desconectado jordi3sk97

  • Aprendiz
  • *
  • Join Date: Jun 2010
  • Mensajes: 882
  • Ubicación: Cerca de Barcelona
« última modificación: 19 Mayo 2015, 16:00 por jordi3sk97 »