Date: Wed, 23 Aug 2006 16:40:35 +0400 From: Oleg Bulyzhin <oleg@freebsd.org> To: Pyun YongHyeon <pyunyh@gmail.com> Cc: Michael Reifenberger <mike@Reifenberger.com>, freebsd-current@freebsd.org Subject: Re: call for bge(4) testers Message-ID: <20060823124035.GA18628@lath.rinet.ru> In-Reply-To: <20060823005554.GC17902@cdnetworks.co.kr> References: <20060822042023.GC12848@cdnetworks.co.kr> <20060822091107.A3909@fw.reifenberger.com> <20060822073201.GI12848@cdnetworks.co.kr> <20060822144341.L5561@fw.reifenberger.com> <20060822204342.GA4943@lath.rinet.ru> <20060823005554.GC17902@cdnetworks.co.kr>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 23, 2006 at 09:55:54AM +0900, Pyun YongHyeon wrote: > On Wed, Aug 23, 2006 at 12:43:42AM +0400, Oleg Bulyzhin wrote: > > On Tue, Aug 22, 2006 at 02:44:34PM +0200, Michael Reifenberger wrote: > > > On Tue, 22 Aug 2006, Pyun YongHyeon wrote: > > > ... > > > >I'm not familiar with vge(4) and don't have hardwares supported by > > > >vge(4). Because vge(4) supports a kind of interrupt moderation, there > > > >is a possiblity to have the same issue seen on em(4). > > > >If you want my blind patch I can send a patch for you. > > > > > > > Yes, please! > > > I can test it (on RELENG_6 though). > > > > I have an idea why those timeouts can happen. Could you please test > > attached patch? It may help (or may not). Anyway would be fine > > to know results. > > > > Since vge(4) uses MTX_RECURSE mutex and miibus(4) handler is > protected with the mutex I guess it wouldn't help much. > I guess it needs a seperate mutex to protect miibus(4) handler > and should remove the use of MTX_RECURSE. Hmm. 1) _ifmedia_upd() & _ifmedia_sts() functions are not called from mii layer. 2) As i can see MII layer is not protected by anything, unless you specially acquire driver lock prior to calling mii_ function. Locking ifmedia callbacks should be done (though, it may not help with watchdogs timeout), otherwise we have race on accessing PHY registers. (kern/98738). As i can see, random watchdog timeouts was reported for em, bge, vge, sk (and maybe others, those ones which i remember) drivers. All of them has unlocked _ifmedia_ functions. My idea was: perhaps, under certain condition, concurrent access to PHY could lead to hardware deadlock. > vge(4) also has a bug > if mbuf chain is too long(7 or higher) and defragmentation with > m_defrag(9) fails it would access an invalid mbuf chain. > All these requires lots of work and need a real hardware. > Oleg, if you have hardware, would you fix it? Unfortunately i don't have vge hardware. > > -- > Regards, > Pyun YongHyeon -- Oleg.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060823124035.GA18628>