Date: Tue, 19 Oct 2004 11:15:30 -0700 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: Kenneth Culver <culverk@sweetdreamsracing.biz> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/pci if_de.c Message-ID: <20041019181530.GN22681@funkthat.com> In-Reply-To: <20041019140237.60488wg8oss88ocg@www.sweetdreamsracing.biz> References: <200410182306.i9IN6DDx016512@repoman.freebsd.org> <20041019101752.e8ws08k8kcw8408c@www.sweetdreamsracing.biz> <20041019174306.GK22681@funkthat.com> <20041019140237.60488wg8oss88ocg@www.sweetdreamsracing.biz>
next in thread | previous in thread | raw e-mail | index | archive | help
Kenneth Culver wrote this message on Tue, Oct 19, 2004 at 14:02 -0400: > Quoting John-Mark Gurney <gurney_j@resnet.uoregon.edu>: > > >Kenneth Culver wrote this message on Tue, Oct 19, 2004 at 10:17 -0400: > >>Quoting John-Mark Gurney <jmg@FreeBSD.org>: > >> > >>>jmg 2004-10-18 23:06:13 UTC > >>> > >>> FreeBSD src repository > >>> > >>> Modified files: > >>> sys/pci if_de.c > >>> Log: > >>> fix (for me) the problems where if_de gets really slow after time > >>> (usually taking 20 seconds to transmit a packet).. no longer fall back > >>> to only transmitting one packet (instead of the entire queue) after we > >>> have processed the entire send queue... I have no idea why we didn't > >>> start seeing this problem ~6 years ago when this code was introduced... > >> > >>Do you get an error on boot with this device about it running in > >>Giant. I was > >>seeing similar problems to you and I was seeing a message at boot about > >>this > >>device running in Giant, so I set debug.mpsafenet to 0, and the problem > >>went > >>away. > > > >yes, I do: > >de0: <Digital 21140A Fast Ethernet> port 0xd800-0xd87f mem > >0xe8000000-0xe800007f > > irq 10 at device 9.0 on pci0 > >de0: [GIANT-LOCKED] > >de0: 21140A [10-100Mb/s] pass 2.2 > >de0: Ethernet address: 00:c0:f0:1f:21:f9 > >de0: if_start running deferred for Giant > > > >but even with those messages about Giant, we did find that the interface > >ioctl was being called w/o Giant... also, the warning about Giant > >mean that the network subsystem is suppose to call all of the driver's > >routines w/ Giant held to appear as if debug.mpsafenet has been set to 0.. > > > >I have a patch that addes some Giant requireds, but they can't be commited > >till the ioctl problem is fixed... > > > >If you are interested in tracking down the bug, I'll be more than happy > >to review and commit any changes... The driver needs to be both locked > >and busdma'ified... > > > Well the machine I'm using this interface on is in a production machine. If > I > can find another card and put it in my personal machine I'll see if I > can track > down the problem. However I haven't done any kernel work in BSD since > 4.x, so it > might take me a while to come up to speed on the locking and busdma'ing. If you need some pointers, I'll be happy to answer them... there is a man page for busdma(9), so that should make things easier... and of course for locking there is mutex(9)... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041019181530.GN22681>