Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Aug 2006 23:39:28 +0400
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        David Christensen <davidch@broadcom.com>
Cc:        brad@openbsd.org, oleg@FreeBSD.org, net@FreeBSD.org
Subject:   Re: bge(4) one packet wedge
Message-ID:  <20060824193928.GP76666@cell.sick.ru>
In-Reply-To: <09BFF2FA5EAB4A45B6655E151BBDD90301D4325E@NT-IRVA-0750.brcm.ad.broadcom.com>
References:  <20060824060922.GF76666@cell.sick.ru> <09BFF2FA5EAB4A45B6655E151BBDD90301D4325E@NT-IRVA-0750.brcm.ad.broadcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  David,

On Thu, Aug 24, 2006 at 10:29:32AM -0700, David Christensen wrote:
D> In general the problem isn't that the status block isn't being updated,
D> but that
D> the status update occurs AFTER the ISR has stopped looking at the status
D> block, but before the ISR has re-enabled interrupts, thus missing the
D> update.
D> That's why tagged status mode is an improvement, the ISR actively tells
D> the
D> hardware which status block update it last processed and forces the
D> hardware
D> to generate another interrupt if a status block update was missed by the
D> ISR.

My kgdb session shows that the status block is not updated later,
after ISR, but isn't updated at all until next packet arrives! It looks
like this: once netperf wedges, I run kgdb, find address of softc,
look at status block, look that the ring index is the same as saved
in softc. It takes a minute for me to type all these things. Status
block isn't updated. Then I can look into the ring itself at the
index+1 descriptor, and analyze the mbuf inside of it. This mbuf
will be that one wedged packet! The packet I would see in tcpdump
as soon as I send another one.

Ok, can you please review the patch, I've sent earlier today,
that utilizes the status block tag correctly?

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060824193928.GP76666>