de0 doze off

Raphael H. Becker rabe at p-i-n.com
Fri Sep 17 11:38:55 PDT 2004


On Fri, Sep 17, 2004 at 09:38:46AM -0400, Robert Watson wrote:
> On Fri, 17 Sep 2004, Raphael H. Becker wrote:
> > on one of my older boxes my D-Link ("tulip") card dozes off when
> > transfering some megabytes of data eg scp. 
> > 
> > When stalled, the interface can be brought back by "ifconfig down/up". 
> > 
> > The box is actually running BETA4/GENERIC from last night, this appeared
> > after BETA1 which was the last stable for this. 
> 
> If you set debug.mpsafenet=0 in loader.conf, does the problem go away?

Yes, just tested with around 300MB via FTP: 10.6MBytes/sec



> We might be looking at a race condition in the task queue handoff for
> IFF_NEEDSGIANT.

> Another possible testing avenue (which might be slightly unstable but
> would illustrate the point) would be to leave debug.mpsafenet=1, 

ok

> disable preemption, 

Sorry, how exactly do I do this?

> and remove the IFF_NEEDSGIANT flag from the if_de driver flags.

edited as following

--- if_de.c.orig        Fri Sep 17 18:53:41 2004
+++ if_de.c     Fri Sep 17 18:54:00 2004
@@ -4758,7 +4758,7 @@
     /* XXX: driver name/unit should be set some other way */
     ifp->if_dname = "de";
     ifp->if_dunit = sc->tulip_unit;
-    ifp->if_flags = IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST|IFF_NEEDSGIANT;
+    ifp->if_flags = IFF_BROADCAST|IFF_SIMPLEX|IFF_MULTICAST;
     ifp->if_ioctl = tulip_ifioctl;
     ifp->if_start = tulip_ifstart;
     ifp->if_watchdog = tulip_ifwatchdog;


Regards
Raphael Becker


More information about the freebsd-current mailing list