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>