- update to symon 2.79

- fix mbuf monitor following h2k8 mclpl changes

no reply from the maintainer in a couple of days; my syslog server
isn't super-happy about how often the problem with mbuf gets logged,
so committing anyway. tests/feedback from Alexander Hall and Markus
Lude - thanks.
This commit is contained in:
sthen 2009-03-11 01:55:07 +00:00
parent 6400d0d5e8
commit efc84af415
6 changed files with 96 additions and 19 deletions

View File

@ -1,7 +1,7 @@
# $OpenBSD: Makefile,v 1.33 2008/01/17 15:21:14 henning Exp $
# $OpenBSD: Makefile,v 1.34 2009/03/11 01:55:07 sthen Exp $
COMMENT-main= active monitoring tool
V= 2.78
V= 2.79
DISTNAME= symon-${V}
PKGNAME-main= ${DISTNAME}
CATEGORIES= sysutils net
@ -40,6 +40,6 @@ NO_REGRESS= Yes
WRKDIST= ${WRKDIR}/symon
SUBST_VARS= V
MAKE_ENV= LIBS="-L${X11BASE}/lib"
MAKE_ENV= LIBS="-L${X11BASE}/lib" MANDIR="man"
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
MD5 (symon-2.78.tar.gz) = RjbpJ3OgSm+0LjgY3VWkpA==
RMD160 (symon-2.78.tar.gz) = QMphzmh3jeVNWhtUHWxkDdf7R5w=
SHA1 (symon-2.78.tar.gz) = u+fytY4+0OQvOx2pfqQFHSwc7jQ=
SHA256 (symon-2.78.tar.gz) = zaBziBVuZqZlxtU9yk/c4+IQ7mooxE5k0kBxWlcrOaw=
SIZE (symon-2.78.tar.gz) = 102400
MD5 (symon-2.79.tar.gz) = n/WDE8QgKUXOcxDgS/Osgg==
RMD160 (symon-2.79.tar.gz) = aTt5jNbFZPTot5xiwXdvWwNqrxo=
SHA1 (symon-2.79.tar.gz) = ohVm8ykbqqOYBr7DJVDVoooWMhM=
SHA256 (symon-2.79.tar.gz) = cVewh7maWfOrqaAsN1+xtBHcQylGP3SNIyPDzfPQzYM=
SIZE (symon-2.79.tar.gz) = 102400

View File

@ -0,0 +1,77 @@
adapt to mbuf cluster changes in 4.4-current (mclpl -> mcl2k, mcl4k, [...]).
$OpenBSD: patch-platform_OpenBSD_sm_mbuf_c,v 1.3 2009/03/11 01:55:07 sthen Exp $
--- platform/OpenBSD/sm_mbuf.c.orig Sun Feb 11 20:09:35 2007
+++ platform/OpenBSD/sm_mbuf.c Wed Mar 11 01:42:38 2009
@@ -77,6 +77,8 @@ get_mbuf(char *symon_buf, int maxlen, struct stream *s
int totmem, totused, totmbufs, totpct;
u_int32_t stats[15];
+ totmem = totused = 0;
+
mib[0] = CTL_KERN;
mib[1] = KERN_MBSTAT;
size = sizeof(mbstat);
@@ -114,24 +116,55 @@ get_mbuf(char *symon_buf, int maxlen, struct stream *s
if (!strcmp(name, "mbpl")) {
bcopy(&pool, &mbpool, sizeof(pool));
flag |= 1;
- } else if (!strcmp(name, "mclpl")) {
+ } else if (!strcmp(name, "mcl2k")) {
bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
flag |= 2;
+ } else if (!strcmp(name, "mcl4k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 4;
+ } else if (!strcmp(name, "mcl8k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 8;
+ } else if (!strcmp(name, "mcl9k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 16;
+ } else if (!strcmp(name, "mcl12k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 32;
+ } else if (!strcmp(name, "mcl16k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 64;
+ } else if (!strcmp(name, "mcl64k")) {
+ bcopy(&pool, &mclpool, sizeof(pool));
+ totmem += mclpool.pr_npages * page_size;
+ totused += (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ flag |= 128;
}
- if (flag == 3)
+ if (flag == 255)
break;
}
- if (flag != 3) {
- warning("mbuf(%.200s) failed (flag != 3)", st->arg);
+ if (flag != 255) {
+ warning("mbuf(%.200s) failed (flag != 255)", st->arg);
return 0;
}
totmbufs = 0;
for (i = 0; i < nmbtypes; ++i)
totmbufs += mbstat.m_mtypes[i];
- totmem = (mbpool.pr_npages + mclpool.pr_npages) * page_size;
- totused = (mbpool.pr_nget - mbpool.pr_nput) * mbpool.pr_size +
- (mclpool.pr_nget - mclpool.pr_nput) * mclpool.pr_size;
+ totmem += mbpool.pr_npages * page_size;
+ totused += (mbpool.pr_nget - mbpool.pr_nput) * mbpool.pr_size;
totpct = (totmem == 0) ? 0 : ((totused * 100) / totmem);
stats[0] = totmbufs;

View File

@ -1,11 +1,11 @@
@comment $OpenBSD: PLIST-main,v 1.1 2006/11/25 08:41:04 steven Exp $
@pkgpath sysutils/symon
@comment $OpenBSD: PLIST-main,v 1.2 2009/03/11 01:55:07 sthen Exp $
@conflict symon-mon-*
@conflict symon-mux-*
@pkgpath sysutils/symon
@newgroup _symon:535
@newuser _symon:535:_symon:daemon:symon Account:/var/empty:/sbin/nologin
libexec/symon
libexec/symux
@bin libexec/symon
@bin libexec/symux
@man man/man8/symon.8
@man man/man8/symux.8
share/examples/symon/
@ -14,9 +14,9 @@ share/examples/symon/symon.conf
share/examples/symon/symux.conf
@sample ${SYSCONFDIR}/symux.conf
share/symon/
share/symon/c_smrrds.sh
share/symon/c_config.sh
share/symon/c_smrrds.sh
share/symon/client/
share/symon/client/getsymonitem.pl
share/symon/client/SymuxClient.pm
share/symon/client/SymuxClient.0
share/symon/client/SymuxClient.pm
share/symon/client/getsymonitem.pl

View File

@ -1,8 +1,8 @@
@comment $OpenBSD: PLIST-mon,v 1.11 2005/08/07 14:24:45 sturm Exp $
@comment $OpenBSD: PLIST-mon,v 1.12 2009/03/11 01:55:07 sthen Exp $
@conflict symon-*
@newgroup _symon:535
@newuser _symon:535:_symon:daemon:symon Account:/var/empty:/sbin/nologin
libexec/symon
@bin libexec/symon
@man man/man8/symon.8
share/examples/symon/
share/examples/symon/symon.conf

View File

@ -1,6 +1,6 @@
@comment $OpenBSD: PLIST-mux,v 1.10 2005/08/07 14:24:45 sturm Exp $
@comment $OpenBSD: PLIST-mux,v 1.11 2009/03/11 01:55:07 sthen Exp $
@conflict symon-*
libexec/symux
@bin libexec/symux
@man man/man8/symux.8
share/examples/symon/
share/examples/symon/symux.conf