Re: [Myrinet] devfs issues with 1.5.2
Loic Prylli <[email protected]>
| Newsgroups | gmane.network.myrinet.general |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Jun 19, 2002 at 03:51:47PM -0700, Bill Broadley wrote: > > The wierd part is I have to: > /sbin/insmod /opt/pkg/gm-1.5.2/sbin/gm > /bin/sleep 1 > /sbin/insmod /opt/pkg/gm-1.5.2/sbin/gm > [...] > > Jun 18 23:04:17 192.168.0.10 kernel: GM: Allocated IRQ11 > Jun 18 23:04:17 192.168.0.10 kernel: GM: NOTICE: > Jun 18 23:04:17 192.168.0.10 kernel: GM: Board interrupt (configured on IRQ 11) is not working. > Jun 18 23:04:18 192.168.0.10 kernel: GM: NOTICE: > Jun 18 23:04:18 192.168.0.10 kernel: GM: Failed to initialize Myrinet Card > Jun 18 23:04:18 192.168.0.10 kernel: GM: gm: driver unloading This first problem is independant of devfs, it looks like the interrupt test done at GM driver initialisation sometimes fails. Maybe the timeout it uses is too short for your machine (I wonder in what kind of cases an interrupt can be disabled for more than 0.2 secs). You can try the patch attached at the end to see if that help. > Jun 18 23:04:32 192.168.0.10 kernel: GM: Allocated IRQ11 > Jun 18 23:04:32 192.168.0.10 kernel: devfs_register(gm0): could not append to parent, err: -17 > Jun 18 23:04:32 192.168.0.10 kernel: devfs_register(gmp0): could not append to parent, err: -17 > Jun 18 23:04:32 192.168.0.10 kernel: GM: 1 Myrinet board(s) found and initialized These devfs messages are harmless, they mean the gm0 gmp0 entries are already existing in /dev before the driver is loaded, maybe you created them explicitely with mknod or maybe there are still included in one of the devfs configuration files that is used to automatically create nodes at boot for pre-devfs drivers (like one could do with gm < 1.5.2). Regards, Loic
inttest.diff
(text/plain, 375 B)
--- drivers/linux/gm/gm_arch.c 2002/06/04 13:41:27 1.291
+++ drivers/linux/gm/gm_arch.c 2002/06/20 12:04:16
@@ -2641,7 +2641,7 @@
gm_set_EIMR(is, is->get_EIMR (is) | GM_DEBUG_SIG_BIT);
GM_STBAR ();
is->get_EIMR (is);
- gm_arch_spin (is, 200000);
+ gm_arch_spin (is, 2000000);
if (is->arch.intr_testing == 1)
{
/* we did not received an interrupt */