Re: Weird problem with devstat interface

From: Fred Gilham (gilham_at_csl.sri.com)
Date: 06/29/05

  • Next message: Ade Lovett: "Re: USB mouse woes"
    To: freebsd-current@freebsd.org
    Date: Tue, 28 Jun 2005 16:30:48 -0700
    
    

    Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:

    > In message <200506281749.j5SHnPlr017616@quarter.csl.sri.com>, Fred
    > Gilham writes:
    >
    > >I have been able to get the program to stop doing this by changing
    > >the calls to
    > >
    > >devstat_checkversion()
    > >devstat_getnumdevs()
    > >devstat_getdevs()
    > >
    > >so they don't use the kvm interface but the sysctl interface
    > >(i.e. passing NULL instead of a file descriptor to /dev/kvm).
    >
    > You shouldn't be using the kvm interface in the first place.

    That seems reasonable, but the documentation doesn't give any indication
    that this is the case. From the devstat(3) man page:

    DESCRIPTION
         The devstat library is a library of helper functions for dealing with the
         kernel devstat(9) interface, which is accessible to users via sysctl(3)
         and kvm(3). All functions that take a kvm_t * as first argument can be
         passed NULL instead of a kvm handle as this argument, which causes the
         data to be read via sysctl(3). Otherwise, it is read via kvm(3) using
         the supplied handle. devstat_checkversion() should be called with each
         kvm handle that is going to be used (or with NULL if sysctl(3) is going
         to be used).

    >From this I got the impression that the sysctl interface was a kind of
    secondary alternative to the kvm interface.

    The /usr/sbin/iostat program also uses the kvm version (see
    /usr/src/usr.sbin/iostat/iostat.c). That's what whoever maintained the
    xsysinfo program used as an example.

    Also, if the kvm interface is broken it should probably be disabled or
    something. Actually I doubt that it's broken, but certainly the
    xsysinfo code doesn't interact well with it.

    -- 
    Fred Gilham                                        gilham@csl.sri.com
    The PTPL (People's Trotskyist Programming League) believes that
    hackers are elitist and that all software should be created by the
    masses flailing away at millions of keyboards.  I didn't have the
    heart to tell them that this has already been tried and the result is
    called Linux.
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
    

  • Next message: Ade Lovett: "Re: USB mouse woes"