freebsd-skq/sys
rwatson db6e7961b9 Merge kern_malloc.c:1.143,1.144 malloc.h:1.81 from HEAD to RELENG_6:
Introduce a new sysctl, kern.malloc_stats, which exports kernel malloc
  statistics via a binary structure stream:

  - Add structure 'malloc_type_stream_header', which defines a stream
    version, definition of MAXCPUS used in the stream, and a number of
    malloc_type records in the stream.

  - Add structure 'malloc_type_header', which defines the name of the
    malloc type being reported on.

  - When the sysctl is queried, return a stream header, followed by a
    series of type descriptions, each consisting of a type header
    followed by a series of MAXCPUS malloc_type_stats structures holding
    per-CPU allocation information.  Typical values of MAXCPUS will be 1
    (UP compiled kernel) and 16 (SMP compiled kernel).

  This query mechanism allows user space monitoring tools to extract
  memory allocation statistics in a machine-readable form, and to do so
  at a per-CPU granularity, allowing monitoring of allocation patterns
  across CPUs in order to better understand the distribution of work and
  memory flow over multiple CPUs.

  While here:

  - Bump statistics width to uint64_t, and hard code using fixed-width
    type in order to be more sure about structure layout in the stream.
    We allocate and free a lot of memory.

  - Add kmemcount, a counter of the number of registered malloc types,
    in order to avoid excessive manual counting of types.  Export via a
    new sysctl to allow user-space code to better size buffers.

  - De-XXX comment on no longer maintaining the high watermark in old
    sysctl monitoring code.

  A follow-up commit of libmemstat(3), a library to monitor kernel memory
  allocation, will occur in the next few days.  Likewise, similar changes
  to UMA.

kern_malloc.c:1.144:

  Correct build on 64-bit: cast u_int64_t to (unsigned long long) before
  printfing as (unsigned long long).  32-bit build on i386 didn't notice
  this.  Whoops.

  Reported by:    arved
  Tested by:      sledge

Approved by:	re (kensmith)
2005-07-23 17:11:33 +00:00
..
alpha Regenerate. 2005-07-20 17:43:53 +00:00
amd64 Regenerate. 2005-07-20 17:43:53 +00:00
arm Validate if the value written into {FS,GS}.base is a canonical 2005-07-10 23:31:11 +00:00
boot This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-11 04:14:43 +00:00
bsm For consistency with more system include files, add a trailing '_' to 2005-05-29 16:11:34 +00:00
cam Fix the recent panics/LORs/hangs created by my kqueue commit by: 2005-07-01 16:28:32 +00:00
coda - Change all filesystems and vfs_cache to relock the dvp once the child is 2005-04-13 10:59:09 +00:00
compat Regenerate. 2005-07-20 17:43:53 +00:00
conf MFC to RELENG_6 2005-07-21 17:47:27 +00:00
contrib MFC: if_pfsync.c, 1.20 in_proto.c, 1.78 2005-07-23 17:02:10 +00:00
crypto gbde(8) is also rejndael user. 2005-03-11 22:07:04 +00:00
ddb Implement functions calls from within DDB on ia64. On ia64 a function 2005-07-02 23:52:37 +00:00
dev MFC rev 1.55: Check the correct IDs for the Dell PERC3/S/Di filter driver. 2005-07-22 16:29:51 +00:00
doc
fs MFC 1.45: Fix looking up files having invalid short name. 2005-07-23 17:02:04 +00:00
gdb check return value of gdb_rx_varhex 2005-03-28 18:31:18 +00:00
geom MFC: g_concat.c 1.25 2005-07-20 13:12:20 +00:00
gnu Repair this: 2005-07-09 18:30:31 +00:00
i4b This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-11 04:14:43 +00:00
i386 Regenerate. 2005-07-20 17:43:53 +00:00
ia64 MFC addition of the COMPAT_FREEBSD5 option. Specific versions 2005-07-18 12:23:42 +00:00
isa This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-11 04:14:43 +00:00
isofs/cd9660 - Change all filesystems and vfs_cache to relock the dvp once the child is 2005-04-13 10:59:09 +00:00
kern Merge kern_malloc.c:1.143,1.144 malloc.h:1.81 from HEAD to RELENG_6: 2005-07-23 17:11:33 +00:00
libkern Fix kiconv on the 64bit plathomes. 2005-05-24 15:38:08 +00:00
modules MFC to RELENG_6 2005-07-21 17:47:27 +00:00
net MFC: if.c, 1.236 2005-07-23 17:00:07 +00:00
net80211 Handle encrypt of arbitarily fragmented mbuf chains: previously 2005-07-11 03:06:23 +00:00
netatalk Eliminate MAC entry point mac_create_mbuf_from_mbuf(), which is 2005-07-05 23:39:51 +00:00
netatm Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
netgraph Remove obsoleted sysctl interface for switching between standard and 3Com 2005-07-05 17:51:02 +00:00
netinet MFC: if_pfsync.c, 1.20 in_proto.c, 1.78 2005-07-23 17:02:10 +00:00
netinet6 Check the alignment of the IP header before passing the packet up to the 2005-07-02 23:13:31 +00:00
netipsec Correct typo in a comment describing vshiftl(). 2005-06-02 23:56:10 +00:00
netipx Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
netkey fixed an unexpected addr/port matching failure in IPv6 SA management 2005-01-10 13:06:42 +00:00
netnatm Mark netatm and netnatm explicitly as requiring Giant, as they still do. 2005-02-17 14:21:22 +00:00
netncp avoid potential null ptr derefs 2005-02-23 22:44:38 +00:00
netsmb lockmgr(...,LK_DRAIN,...) requires a balancing LK_RELEASE: recent 2005-05-13 11:27:48 +00:00
nfs
nfs4client - We want if (mrep != NULL) not if (m_freem != NULL). m_freem will never 2005-04-25 05:11:19 +00:00
nfsclient MFC: rev 1.127 2005-07-21 16:19:02 +00:00
nfsserver NFS write gathering defers execution of NFS server write requests to wait 2005-04-17 16:25:36 +00:00
opencrypto malloc.h relies on param.h for a definition of MAXCPU. I guess that there is 2005-05-30 05:01:44 +00:00
pc98 MFC: Set timer0_max_count to a correct value in the lapic timer case and 2005-07-18 19:52:05 +00:00
pccard Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
pci ALTQify ste(4). 2005-07-08 13:05:59 +00:00
posix4 Introduce MAC Framework and MAC Policy entry points to label and control 2005-05-04 10:39:15 +00:00
powerpc MFC addition of the COMPAT_FREEBSD5 option. Specific versions 2005-07-18 12:23:42 +00:00
rpc This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-11 04:14:43 +00:00
security This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2005-07-11 04:14:43 +00:00
sparc64 MFC addition of the COMPAT_FREEBSD5 option. Specific versions 2005-07-18 12:23:42 +00:00
sys Merge kern_malloc.c:1.143,1.144 malloc.h:1.81 from HEAD to RELENG_6: 2005-07-23 17:11:33 +00:00
tools Allow EVFILT_VNODE events to work on every filesystem type, not just 2005-06-09 20:20:31 +00:00
ufs Allow EVFILT_VNODE events to work on every filesystem type, not just 2005-06-09 20:20:31 +00:00
vm Merge uma_core.c:1.128 from HEAD to RELENG_6: 2005-07-23 15:11:13 +00:00
Makefile When building cscopnamefile, default architecture to ${MACHINE}, not i386. 2005-03-08 00:09:41 +00:00