freebsd-dev/sys
Peter Wemm 43151ee6cf Merge user/peter/kinfo branch as of r185547 into head.
This changes struct kinfo_filedesc and kinfo_vmentry such that they are
same on both 32 and 64 bit platforms like i386/amd64 and won't require
sysctl wrapping.

Two new OIDs are assigned.  The old ones are available under
COMPAT_FREEBSD7 - but it isn't that simple.  The superceded interface
was never actually released on 7.x.

The other main change is to pack the data passed to userland via the
sysctl.  kf_structsize and kve_structsize are reduced for the copyout.
If you have a process with 100,000+ sockets open, the unpacked records
require a 132MB+ copyout.  With packing, it is "only" ~35MB.  (Still
seriously unpleasant, but not quite as devastating).  A similar problem
exists for the vmentry structure - have lots and lots of shared libraries
and small mmaps and its copyout gets expensive too.

My immediate problem is valgrind.  It traditionally achieves this
functionality by parsing procfs output, in a packed format.  Secondly, when
tracing 32 bit binaries on amd64 under valgrind, it uses a cross compiled
32 bit binary which ran directly into the differing data structures in 32
vs 64 bit mode.  (valgrind uses this to track file descriptor operations
and this therefore affected every single 32 bit binary)

I've added two utility functions to libutil to unpack the structures into
a fixed record length and to make it a little more convenient to use.
2008-12-02 06:50:26 +00:00
..
amd64 Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
arm Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
boot Let ARM loader(8) build with the man page. 2008-11-27 16:53:01 +00:00
bsm Add support for extended header BSM tokens. Currently we use the 2008-11-11 21:57:03 +00:00
cam Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
cddl MFp4: Remove assertion that is no longer valid - we now use VOP_CLOSE() in 2008-11-29 12:32:42 +00:00
compat Make linux_sendmsg() and linux_recvmsg() work on linux32/amd64. 2008-11-29 17:14:06 +00:00
conf Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
contrib Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
crypto Fix a potential NULL-pointer dereference in padlock(4). 2008-11-17 19:00:36 +00:00
ddb Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
dev Don't call destroy_dev on the alias. This fixes half a dozen PRs I think. 2008-12-02 04:54:31 +00:00
fs The timezone byte is a signed value, treat it as such. 2008-11-27 06:21:04 +00:00
gdb Commit SYSINIT() ;-adding patch missed in previous pass. 2008-03-16 13:02:04 +00:00
geom Trivial patch to show on which geom has the error been detected. 2008-12-01 15:02:00 +00:00
gnu Adapt to accmode_t changes. 2008-11-14 09:58:16 +00:00
i386 Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
ia64 Add sv_flags field to struct sysentvec with intention to provide description 2008-11-22 12:36:15 +00:00
isa Allow device hints to wire the unit numbers of devices. 2008-11-18 21:01:54 +00:00
kern Merge user/peter/kinfo branch as of r185547 into head. 2008-12-02 06:50:26 +00:00
kgssapi Call svc_freereq() before returning from the service proc. 2008-11-12 15:31:05 +00:00
libkern Prefix the static shl function with '__' like its parent function __qdivrem to 2008-10-09 20:43:42 +00:00
mips Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
modules Fix world by including opt_route.h 2008-12-02 04:45:33 +00:00
net MFp4: 2008-11-29 14:32:14 +00:00
net80211 correct sorting 2008-11-23 01:51:14 +00:00
netatalk Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netgraph Unhide declarations of network stack virtualization structs from 2008-11-28 23:30:51 +00:00
netinet MFp4: 2008-11-29 14:32:14 +00:00
netinet6 MFp4: 2008-11-29 14:32:14 +00:00
netipsec Unhide declarations of network stack virtualization structs from 2008-11-28 23:30:51 +00:00
netipx Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netnatm Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netncp Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netsmb Implement device cloning for /dev/nsmb, the netsmb control pseudo-device. 2008-11-03 14:23:15 +00:00
nfs Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT. 2008-03-25 09:39:02 +00:00
nfs4client Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
nfsclient Switch the default rpc implementation for NFS back to the new code. I believe 2008-11-14 11:27:53 +00:00
nfsserver In the nfsrv_fhtovp(), after the vfs_getvfs() function found the pointer 2008-11-29 13:34:59 +00:00
nlm Don't call svc_freereq() before svc_freeargs(). 2008-11-12 15:30:30 +00:00
opencrypto Don't hang if encrypting/decrypting using struct iovecs where one of the 2008-10-30 16:11:07 +00:00
pc98 Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
pccard
pci Add 8168D support. 2008-12-02 03:39:34 +00:00
powerpc Unbreak previous commit. 2008-11-22 22:15:34 +00:00
rpc Add a missing call to mtx_destroy(). 2008-11-12 12:21:18 +00:00
security Partially roll back a revision which changed the error code being returned 2008-11-30 19:58:03 +00:00
sparc64 Switch to ath hal source code. Note this removes the ath_hal 2008-12-01 16:53:01 +00:00
sun4v - bump __FreeBSD version to reflect added buf_ring, memory barriers, 2008-11-22 05:55:56 +00:00
sys Merge user/peter/kinfo branch as of r185547 into head. 2008-12-02 06:50:26 +00:00
tools Remove some unused and broken code that attempted to not invoke locking 2008-11-03 19:57:40 +00:00
ufs Busy ufs filesystem around block of code that does ".." lookup. Since 2008-11-22 13:11:11 +00:00
vm Instead of forcing vn_start_write() to reset mp back to NULL for the 2008-11-16 21:57:54 +00:00
xdr Use the remote address for access control, not the local address. This fixes 2008-11-13 14:36:52 +00:00
xen merge fix for boot-time hang on centos' xen 2008-11-14 07:06:27 +00:00
Makefile Improve the glimpse target: don't index .svn and compile directories. 2008-08-15 14:11:30 +00:00