From owner-freebsd-current@FreeBSD.ORG Fri Jul 14 04:38:21 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3226F16A4E2 for ; Fri, 14 Jul 2006 04:38:21 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3632343D55 for ; Fri, 14 Jul 2006 04:38:19 +0000 (GMT) (envelope-from pyunyh@gmail.com) Received: by nz-out-0102.google.com with SMTP id i11so155333nzh for ; Thu, 13 Jul 2006 21:38:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:reply-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=JfM/lqzQvIE9yYu+GScwAWPxGmkiDMcYx+EhP0/3k9eA4ipmPCPEcyqfgZCiOIf18WaFIV/diN9tz6wjGWcx7jY0DNnzK7PO+vQIAaj1jUq1zTYxIXTWJSC80eoo4n3m6qL5Ar1PZ2IMjFPiFa4Jdj9uQYzaw12E9aok3YdpwzM= Received: by 10.36.74.5 with SMTP id w5mr2482447nza; Thu, 13 Jul 2006 21:38:18 -0700 (PDT) Received: from michelle.cdnetworks.co.kr ( [211.53.35.84]) by mx.gmail.com with ESMTP id 10sm666358nzo.2006.07.13.21.38.16; Thu, 13 Jul 2006 21:38:18 -0700 (PDT) Received: from michelle.cdnetworks.co.kr (localhost.cdnetworks.co.kr [127.0.0.1]) by michelle.cdnetworks.co.kr (8.13.5/8.13.5) with ESMTP id k6E4d6F1018946 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 14 Jul 2006 13:39:06 +0900 (KST) (envelope-from pyunyh@gmail.com) Received: (from yongari@localhost) by michelle.cdnetworks.co.kr (8.13.5/8.13.5/Submit) id k6E4d4ug018945; Fri, 14 Jul 2006 13:39:04 +0900 (KST) (envelope-from pyunyh@gmail.com) Date: Fri, 14 Jul 2006 13:39:04 +0900 From: Pyun YongHyeon To: Bill Paul Message-ID: <20060714043904.GA18134@cdnetworks.co.kr> References: <20060712003110.GA9542@cdnetworks.co.kr> <20060713172009.A844A16A4DA@hub.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060713172009.A844A16A4DA@hub.freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: csaba-ml@creo.hu, lydianconcepts@gmail.com, freebsd-current@FreeBSD.ORG, brueffer@FreeBSD.ORG Subject: Re: Call for stge(4) testers X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Jul 2006 04:38:21 -0000 On Thu, Jul 13, 2006 at 05:20:09PM +0000, Bill Paul wrote: [...] > > > However in the long run it did work > > after about a minuate without any action from user. > > Hm. Well, here's the thing: ethernet controller's can't tell time. I > think it's less of an issue of how much time it takes before the NIC > starts sending jumbo frames correctly and more of an issue of how > many failed transmission attempts occur before one succeeds. Did you > count the number of bad transmissions that occur before the chip > starts working? Was it always the same number? Did you instrument > the interrupt handler to see if TX completion events are actually > occuring for each transmission? (Just because you made it into No I didn't. Because it now works as expected I didn't want to try again. Well, experimenting with jumbo frame is time consuming task and I'm running out all my spare time. > stge_start() and queued the packet up doesn't mean transmission > completed?) > > [...] > > That's exactly what I did it on my tests. From your detailed > > explanation on jumbo frame internals and guide I've reread source > > code related to jumbo frame and managed to find a bug in my code. > > It was my programming error in selecting an MTU from ioctl handler. > > However I don't understand how the hardware can send/receive larger > > MTUs than 9022. > > What is it about this that you don't you understand, exactly? Is it > something about this particular chip, or about being able to have > frames larger than 9022 bytes in general? (Technically jumbo frames > can be up to 16K in length, but by convention most people use 9000 > bytes.) Mind you, this is one chip I've never gotten around to writing > a driver for myself, so I'm sure I'm missing something. > I meant I wondered how it could send/receive a larger sized frame than 9022 bytes which is the max. supported size on TC9021. > > If you program the hardware to receive 10K it > > eventually work in a one or two minute. > > Like I said, it's probably a question of some sequence of events > occuring before it starts to work, not the passage of a certain amount > of time. It may be that you have to disable and re-enable the TX and/or > RX dma engines before switching to the larger frame size. Also, verify > that you properly initialize all of the fields in the TX descriptors > on each transmission so you're not keeping stale bits set from > previous transmissions. There's also a slight chance this is a stack > bug, not a driver/chip bug. What happens if you do: > > # ifconfig stge0 mtu 9000 > # ifconfig stge0 down > # ifconfig stge0 up > > Does it still take a minute for transmissions to succeed? > No, it now works as expected in all situations. Of course, there is no need to bring the interface down/up after changing an MTU. Thanks a lot. -- Regards, Pyun YongHyeon