Date: Wed, 16 Apr 2003 19:10:35 +0400 From: "Nickolay A. Kritsky" <nkritsky@star.spb.ru> To: Igor Pokrovsky <igor.pokrovsky@cnrm.meteo.fr> Cc: freebsd-hackers@freebsd.org Subject: Re[2]: Kernel variables - where is TFM? Message-ID: <10695996045.20030416191035@star.spb.ru> In-Reply-To: <20030416121406.GA229@exmatis1.cnrm.meteo.fr> References: <1222010669.20030415223730@star.spb.ru> <20030416073329.GB298@exmatis1.cnrm.meteo.fr> <2377892423.20030416140852@star.spb.ru> <20030416121406.GA229@exmatis1.cnrm.meteo.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello Igor,
Wednesday, April 16, 2003, 4:14:06 PM, you wrote:
<skipped>
>> IP> sysctl -a | grep hz
>> On my 4.6 system it gives me:
>> kern.clockrate: { hz = 100, tick = 10000, tickadj = 5, profhz = 1024, stathz = 128 }
>> What does that mean? hz is the IRQ0 frequency? Then, what is tick? and
>> what is ticks (note the trailing `s') ?
IP> Where did you find 'ticks'?
in /usr/src/sys/netinet/tcp_syncache.c it is mentioned quite often.
As I understood it is some sort of counter incremented tickly. From
Epoch or from uptime, I don't know.
>>From /usr/include/sys/time.h :
IP> -- snip --
IP> /*
IP> * Getkerninfo clock information structure
IP> */
IP> struct clockinfo {
IP> int hz; /* clock frequency */
IP> int tick; /* micro-seconds per hz tick */
IP> int tickadj; /* clock skew rate for adjtime() */
IP> int stathz; /* statistics clock frequency */
IP> int profhz; /* profiling clock frequency */
IP> };
IP> -- snip --
Hmm. Looks funny. Why keep both hz and tick if tick=(10^6)/hz ? Or am i
missing something?
>> IP> sysctl(8)
>> sysctl. Well, this is great, but here comes another question:
>> in /usr/src/sys/netinet/tcp_syncache_c one can see:
>> ;-----------------Begin clipboard--------------------------
>> SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies, CTLFLAG_RW,
>> &tcp_syncookies, 0,
>> "Use TCP SYN cookies if the syncache overflows");
>> ;-------------------End clipboard--------------------------
>> Is it the place where sysctl is added to kernel state MIB? If yes, I
>> assume that every sysctl can have a `description' (the last parameter
>> in SYSCTL_INT macro). Is there an interface to read such descriptions?
IP> The only place where you can see all descriptions AFAIK is
IP> sysctl(3) (note '3', not '8')
Still cant find it.
sysctl() - get or set value of state.
sysctlbyname() - find variable by name.
sysctlnametomib() - find array of variables by name.
Looks like the only interface to look up sysctl description is grep(1)
:-\
--
Best regards,
; Nickolay A. Kritsky
; SysAdmin STAR SPb
; mailto:nkritsky@star.spb.ru
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?10695996045.20030416191035>
