vge problem

Pyun YongHyeon pyunyh at gmail.com
Fri Dec 11 00:09:04 UTC 2009


On Thu, Dec 10, 2009 at 01:52:49PM -0800, Pyun YongHyeon wrote:
> On Tue, Dec 08, 2009 at 10:08:36AM -0800, Pyun YongHyeon wrote:
> > On Tue, Dec 08, 2009 at 10:52:07AM +0900, Yoshiaki Kasahara wrote:
> > > On Fri, 4 Dec 2009 10:43:01 -0800,
> > > 	Pyun YongHyeon <pyunyh at gmail.com> said:
> > > 
> > > >> before I replaced vge(4). I guess the system froze while initializing
> > > >> vge(4), but I'm not really sure actually.
> > > > 
> > > > Yes, that's also possible. But I can't explain how the patch can
> > > > freeze the box. Another user also reported the similar vge(4) issue
> > > > in private mail and tried the same patch and he could successfully
> > > > boot with patched vge(4). Unfortunately the issue does not seem to
> > > > fix his issue. I'm still working on it.
> > > > 
> > > >> 
> > > >> What can I do to narrow the cause of problems? Is it useful to build
> > > >> kernel with options KDB and DDB?
> > > >> 
> > > > 
> > > > Yes.
> > > 
> > > Ok, now I'm ready to boot a DDB enabled kernel to try kernel debugging
> > > on my PC. I can't read email during debugging my PC under current
> > > configuration, so could you please tell me any specific instructions
> > > to collect information you need? I'm reading the Handbook now, but I'm
> > > not very sure...
> > > 
> > 
> > Sorry, another user also reported similar problem in my patch. I
> > have to look closely before doing any further testing. Since I've
> > ordered the controller I would get access to hardware in near
> > future. I'll let you know when I have a working patch.  
> > 
> 
> FYI: I received ordered hardware and fixed the patch to make it
> work again. Try the patch at the following URL.
> http://people.freebsd.org/~yongari/vge/vge.busdma.diff2
> 
> The TCP/UDP bulk Tx performance seem to be really poor(less than
> 700Mbps) and vge(4) generates too many interrupts(more than 40k
> interrupts/s). Rx performance looks reasonable(about 928Mbps)
> though. I'll have to see what triggers its poor Tx performance
> after fixing TCP connection stall issue.

While reading the code again I found some suspicious part which
could be related with your issue. The controller's CMZ field has
3bits so it can handle 7 fragments of a TX frame. However,
controller wants to see number of fragments + 1 in this field which
means we can't use all 7 fragments in a TX descriptor. I changed
the patch to reduce number of TX fragments to 6. Does the following
patch make any difference for you?
http://people.freebsd.org/~yongari/vge/vge.busdma.diff3


More information about the freebsd-stable mailing list