Problema con xen y tg3

Joel A. Iturra P. tortuguero en gmail.com
Vie Jun 13 12:50:07 CLT 2008


Estimados,

Tengo un problema que aun no encuentro como solucionar

En mi poder hay un servidor DELL PE860, este servidor trae por defecto
dos ethernet broadcom que usan el driver tg3

como antes habia tenido algun problema con este tipo de tarjetas (en
la version anterior de este modelo de servidor), las compro con una
tarjeta extra con dos puertos, la tarjeta una Intel  Pro/1000 que usa
el driver e1000

Todo ha funcionado perfecto, hasta que tuve que usar lo siguiente:

tengo XEN configurato para usar la eth0 como bridge (eth0 y eth1 son la intel)
tengo dos maquinas virtuales que se conectan a un ADSL, asi que use
las broadcom (eth2 y eth3), para esto
configure el grub para que incluya la opcion

pciback.hide=(05:00.0)(06:00.0)

mas la configuracion en el .cfg de la maquina virtual

pci=['05:00.0']

y similar en el otro adsl

Osea, en estas dos maquinas virtuales hay un eth0 (bridge a la
intranet) y un ethX que se usa para el pppoe

Funciona bien, menos cuando hago uso intensivo de la eth0

se cae y el log dice:

Jun 12 15:34:06 testbroadcom1 kernel: irq 16: nobody cared (try
booting with the "irqpoll" option)
Jun 12 15:34:06 testbroadcom1 kernel:  [<c01416af>] __report_bad_irq+0x2b/0x69
Jun 12 15:34:06 testbroadcom1 kernel:  [<c01418a0>] note_interrupt+0x1b3/0x1eb
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0140ef5>] handle_IRQ_event+0x49/0x51
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0140fb0>] __do_IRQ+0xb3/0xe8
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0106130>] do_IRQ+0x43/0x53
Jun 12 15:34:06 testbroadcom1 kernel:  [<c02159f8>] evtchn_do_upcall+0x64/0x9b
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0104a51>]
hypervisor_callback+0x3d/0x48
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0107346>] raw_safe_halt+0x8c/0xaf
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0102c5f>] xen_idle+0x22/0x2e
Jun 12 15:34:06 testbroadcom1 kernel:  [<c0102d7e>] cpu_idle+0x91/0xab
Jun 12 15:34:06 testbroadcom1 kernel:  [<c03326fc>] start_kernel+0x378/0x37f
Jun 12 15:34:06 testbroadcom1 kernel: handlers:
Jun 12 15:34:06 testbroadcom1 kernel: [<e10916f8>]
(tg3_interrupt_tagged+0x0/0x9f [tg3])
Jun 12 15:34:06 testbroadcom1 kernel: Disabling IRQ #16

revisando, encuentro que en la maquina virtual la IRQ 16 esta asignada
al ethX broadcom
y en el host padre la IRQ 16 esta asignada a peth0

probando con irqpoll no hay diferencia

mi teoria, sin saber tanto del tema, es que el host padre, al no tener
permiso para usar las broadcom, no se entera que
la virtual esta usando la misma IRQ que el asigno a peth0

Como solucion temporal, deje de usar la eth2 y la movi al eth1.

Pero requiero encontrar una solucion final y estoy algo perdido

si alguien tiene alguna sugerencia, se lo agradecere montones.


saludos
-- 
Joel A. Iturra
Santiago - Chile


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