Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jul 1995 23:33:49 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        davidg@freefall.cdrom.com, roberto@keltia.frmug.fr.net
Cc:        CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com
Subject:   Re: cvs commit: src/sys/vm device_pager.c device_pager.h kern_lock.c lock.h swap_pager.c swap_pager.h vm.h vm_extern.h vm_fault.c vmOR
Message-ID:  <199507151333.XAA22323@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>>   NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct
>>         proc or any VM system structure will have to be rebuilt!!!

>You can add gdb to the list, I learned it today :-)

And libkvm.so.2.0.  It uses a nice sysctl() so that it can read the proc
table independently of its structure or contents, and a nasty division
by sizeof(struct kinfo_proc) just to find the number of processes.  This
size has decreased from 620 (?) to 592 from removing 3 * 4 bytes of
padding from struct proc and the remaining bytes from some change in
nested vm structure(s) (removing simple locks?).

Incrementing the major version of libkvm won't really fix this problem.
Old libraries just won't work with new kernels when the interface
changes significantly.  The change in libkvm probably need not be
significant (there should be more sysctls or libkvm should use more).
It's interesting that the libkvm.so.2.0 on the 2.0R cdrom still works
with kernels from just before the vm changes.  The padding in struct
proc became useless when the vm structures were changed, but perhaps it
should be restored together with some vm padding so that the changes
aren't visible in applications.

Bruce



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