On Mon, Dec 03, 2001 at 11:37:45PM +0000, Áncor González Sosa wrote: > Por lo visto se está discutiendo el bug en la lista de desarrolladores del > kernel. Parece ser que se debe a que REALMENTE el controlador de interrupciones > de los PC da un espúreo el estar en cascada. El bug consiste más bien en > notificar molestamente un espúreo que es conocido y se da por hecho. > Como me ha entrado la curiosidad desde que vi lo que pasaba en el ordenador de miguev me he puesto a buscar y esto es lo que he averiguado. - Como se ha dicho es algo tan antiguo como el PC. Como ejemplo hay referencias de este problema desde antes del 486. Así que el bug están en notificarlo. Al menos en hacerlo sin que uno lo haya pedido. - Sabemos que hay dos controlador de interrupciones en cascada pero sólo vamos a hablar del primero, el que maneja las interrupciones del IRQ0 al IRQ7. - Pues ha ese amigo le entran las 8 líneas (IRQ0-IRQ7) de interrupción de unos supuestos 8 dispositivos. La cuestión es que en ocaciones a causa de las interferencias una de esas líneas sube aunque no esté conectada o el dispositivo correspondiente no la haya subido. - El PIC lo detecta y avisa a la CPU, está lo más pronto posible avisa al PIC de que está lista para manejar la interrupción. Entonces el PIC mira sus líneas para saber, por orden de prioridad, cual es la primera que debe manejar la CPU. La cuestión es que al tratarse de ruido en un línea el cambio ha sido tan rápido que ahora ya no hay ninguna línea en alta. - Como el PIC no sabe que hacer envía el vector de interrupción de la IRQ7 que es lo que hace siempre que no sabe que hacer. - El kernel pasa a la rutina de servicio de la interrpción 7 que o no existe, porque no hay dispositivo, o comprueba que el dispositivo que controla no fue el que puso la interrupción. - La rutina informa de eso al nucleo que saca el mensaje. - Si la IRQ7 está compartida por varios dispositivos pasa lo mismo porque todas las rutinas de servicio informan de que con ellas no va la historia. Y uno que pensaba que las cosas eran quasi-perfectas ahí dentro... > > On Mon, 3 Dec 2001 22:54:32 +0000 > Miguel Ángel Vilela <miguev@fmat.ull.es> wrote: -- / \ Jesús Miguel Torres Jorge a.k.a aplatanado / \ __ Electronic Engineer -- www.ie.fisica.ull.es ----___/ _ _ \__--- / Laboratorio de Electrónica Básica, Facultad \ <+> <+> / Física, Universidad de La Laguna, Tenerife, \ - <_> - / Canary Islands, Spain -- Grupo de Usuarios \ / de Linux de Canarias - http://www.gulic.org |_ <---> _| Linux User #247255 - Debian GNU/Linux Woody / \ _ __ _ / \ No ePatents - http://petition.eurolinux.org / \ _/ \ No LSSI -- http://www.kriptopolis.com/lssi/ | | |------------------------------------------------- May the Free Software Force be with you...
Attachment:
pgpH62z6UQ6wY.pgp
Description: PGP signature