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 */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.