Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Feb 2013 13:06:23 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        freebsd-net@freebsd.org
Subject:   Who should be incrementing the ifp error counters?
Message-ID:  <CAJ-Vmo=qSA7LpbOPK3Do_RBBc4um3LBBY8yXbdaOyk2ZQYieCw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

During my efforts to convert ath(4) and net80211(4) to if_transmit
based queues, I've noticed that the error counters aren't being
incremented correctly.

In the ifq past, the _ENQUEUE macro(s) did this, with a call to
IFQ_DROP() if the frame is being dropped.

This was done behind the ifq lock so the counters were correctly updated.

In the if_transmit() world, this isn't as clear. I know that ath(4)
and net82011(4) just aren't updating the if drop counter, so it's not
obvious when things are being dropped.

so - what's the story with this? Where should the counters be updated?
And what kinds of concurrency handling do people think is "right" here
for updating said counters?

Thanks,



Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=qSA7LpbOPK3Do_RBBc4um3LBBY8yXbdaOyk2ZQYieCw>