cvs commit: src/sys/dev/bfe if_bfe.c if_bfereg.h

John Baldwin jhb at freebsd.org
Sat Aug 23 03:32:40 UTC 2008


On Friday 22 August 2008 10:34:06 pm Pyun YongHyeon wrote:
> On Fri, Aug 22, 2008 at 02:20:27PM -0400, John Baldwin wrote:
>  > On Friday 22 August 2008 02:46:55 am Pyun YongHyeon wrote:
>  > > yongari     2008-08-22 06:46:55 UTC
>  > >
>  > >   FreeBSD src repository
>  > >
>  > >   Modified files:
>  > >     sys/dev/bfe          if_bfe.c if_bfereg.h
>  > >   Log:
>  > >   SVN rev 181994 on 2008-08-22 06:46:55Z by yongari
>  > >
>  > >   Add a new sysctl node 'dev.bfe.N.stats' that shows various MAC
>  > >   counters for Rx/Tx statistics. Various counters in ifnet is also
>  > >   updated with these hardware counters.
>  > >
>  > >   Tested by:      kib, Gleb Kurtsou gleb.kurtsou at gmail dot com
>  > >                   Ulrich Spoerlein uspoerlein at gmail dot com
>  >
>  > I think it's kind of wrong to have sysctl's that print stats in dmesg. 
>  > You can either have a sysctl that returns a string and uses sbuf's (e.g.
>  > vm.phys_free) if you want formatting or even better, you can give each
>  > stat it's own sysctl.  This is more friendly for people to use when they
>  > aren't on the console (e.g. when you ssh into a box).
>
> I fully agree. Spewing lots of message in dmesg would be wong,
> especially on slow serial link. I thought these counters would be
> just used to analyze driver bug or odd driver behavior. It was just
> for debugging.

But sometimes these stats are useful for debugging network problems on 
production machines as well.

> For long time I wanted a architectural way to add these kind of
> counters in ethernet drivers. Adding a sysctl node for each counter
> looked like overkilling at that time and we still don't have a
> generic tool to dump the stats. I'll think about it again.

At work we've actually had instances where we wanted to look at the stats on a 
production box (and rebooting it to add patches would kill the stats).  For 
those I find the per-stat sysctls useful.

-- 
John Baldwin


More information about the cvs-all mailing list