Consulta para multiples tarjetas de red

Horst von Brand vonbrand en inf.utfsm.cl
Jue Mayo 18 13:30:23 CLT 2006


Miguel Oyarzo <admin en aim.cl> wrote:
> At 00:46 18-05-2006, Horst von Brand wrote:
> >Miguel Oyarzo <admin en aim.cl> wrote:
> >
> >[...]
> >
> >> >"socken des teufel" <utfsm.lista en gmail.com> dijo:
> >
> >[Reformateado para hacerlo comprensible, espero sin cambiar el sentido]
> >
> >> > > Desconosco como funciona exactamente, pero no creo que el sistema
> >> > > operativo tenga alguna priodidad sobre alguna irq mas que otra (a no ser
> >> > > lo hayan fijado a mano asi) 
> >> > > Ademas el chipset de la system board es el encargado de balancear las
> >> > > irq de los dispositivos.
> >
> >> No creo que chipset (o el controlador de interrupciones) balancee nada,
> >> su unica funcion es encolar las peticiones y establecer prioridades del
> >> HW que hablara a la CPU.

> >Balancean la atencion de las IRQs de parte de las CPUs.

> Una controladora  de interrupciones balanceando IRQs?  
> algo asi como funcionan las APIC en sistemas SMP? 

Eso es la tarea del APIC...

> Pense que ese balanceo era solo para systemas multiprocesadores. Me
> pregunto que sentido tiene balancear IRQs con un solo procesador. No digo
> que no, pero me suena raro.

No puedes balancear, claro ;-)

> >> La pregunta es si la IRQ asignada a cada tarjeta establece o no prioridad
> >> ante la CPU.

> >No.

> No?  es decir, el reloj (irq0) tiene la misma prioridad que el puerto
> paralelo (irq7) ?  Pienso que el numero de la IRQ si tiene que ver con la
> prioridad ante la CPU.

Segun se de las discusiones de hardware en los libros sobre Linux, no.

> Talvez en las IRQs de uso general (como 9,10,11, 15) se deberia preguntar
> al controlador de interrupciones a quien se le da mayor prioridad
> (dependiendo del numero de interrupcion que use para llamar a la CPU)

Algunas arquitecturas lo hacen (i.e., mientras se atiende la IRQ N las >= N
tienen que esperar), pero el nucleo Linux solo deshabilita la IRQ N en la
CPU que la recibio, cualquiera de las otras puede interrumpir al handler (y
esa misma podria interrumpir a otra CPU).

> >> Creo que eso permitiria distruibuir mejor el rendimiento de un conjunto
> >> de placas en un mismo servidor, (la placa con mayor trafico no mantendria
> >> la atencion de la CPU tanto tiempo) podra ser efectivo esto?

> >No. Solo si las tarjetas estan saturadas podria hacer alguna diferencia.
> >Las tarjetas son /harto/ mas inteligentes de lo que pareces creer.

> Si... puede ser... 
> quizas en rendimiento nomal no haria diferencia alguna...

Y en rendimiento "no normal" (red saturada) estan pensando en usar polling,
no interrupciones (no se si esta ya implementado, y para que tarjetas; es
importante a 1Gbps, y a 10Gbps sera indispensable...).

> pero como saber si superamos cierto nivel de saturacion? 
> No creo que sea por que estamos cerca del limite del los 10/100 Mbps o
> si?

En Ethernet (compartido), la red esta saturada cuando tienes algo de 70 a
80% de utilizacion. Con una red switcheada, podria ser mas (aunque me late
que alli se te satura el backbone del switch antes...)

Y, nuevamente: Los benchmarks "donde revienta" rara vez son relevantes; si
el tope que da es 120 y tu carga tipica 20 con puntas de 70, ni te afecta.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


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