From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Dec 22 04:40:23 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 60C4016A4CE for ; Mon, 22 Dec 2003 04:40:23 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8F0243D54 for ; Mon, 22 Dec 2003 04:40:19 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) hBMCeJFR083114 for ; Mon, 22 Dec 2003 04:40:19 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id hBMCeJew083113; Mon, 22 Dec 2003 04:40:19 -0800 (PST) (envelope-from gnats) Resent-Date: Mon, 22 Dec 2003 04:40:19 -0800 (PST) Resent-Message-Id: <200312221240.hBMCeJew083113@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Markus Brueffer Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DBBE816A4CE for ; Mon, 22 Dec 2003 04:38:10 -0800 (PST) Received: from ms-dienst.rz.rwth-aachen.de (ms-2.rz.RWTH-Aachen.DE [134.130.3.131]) by mx1.FreeBSD.org (Postfix) with ESMTP id 70D9E43D31 for ; Mon, 22 Dec 2003 04:38:06 -0800 (PST) (envelope-from brueffer@maquis.hitnet.rwth-aachen.de) Received: from r220-1 (r220-1.rz.RWTH-Aachen.DE [134.130.3.31]) by ms-dienst.rz.rwth-aachen.de (iPlanet Messaging Server 5.2 HotFix 1.12 (built Feb 13 2003)) with ESMTP id <0HQA000NNR2IIX@ms-dienst.rz.rwth-aachen.de> for FreeBSD-gnats-submit@freebsd.org; Mon, 22 Dec 2003 13:37:31 +0100 (MET) Received: from relay.RWTH-Aachen.DE ([134.130.3.1]) by r220-1 (MailMonitor for SMTP v1.2.2 ) ; Mon, 22 Dec 2003 13:37:30 +0100 (MET) Received: from maquis.hitnet.rwth-aachen.de (maquis.hitnet.RWTH-Aachen.DE [137.226.181.137])hBMCbTsU003410 for ; Mon, 22 Dec 2003 13:37:30 +0100 (MET) Received: by maquis.hitnet.rwth-aachen.de (Postfix, from userid 1001) id 28739184; Mon, 22 Dec 2003 13:47:49 +0100 (CET) Message-Id: <20031222124749.28739184@maquis.hitnet.rwth-aachen.de> Date: Mon, 22 Dec 2003 13:47:49 +0100 (CET) From: Markus Brueffer To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/60502: [patch] x11/kdebase3: fix memory statistics of ksysguardd X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Markus Brueffer List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2003 12:40:23 -0000 >Number: 60502 >Category: ports >Synopsis: [patch] x11/kdebase3: fix memory statistics of ksysguardd >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Dec 22 04:40:17 PST 2003 >Closed-Date: >Last-Modified: >Originator: Markus Brueffer >Release: FreeBSD 5.2-CURRENT i386 >Organization: >Environment: System: FreeBSD cheops.phoenix 5.2-CURRENT FreeBSD 5.2-CURRENT #16: Mon Dec 22 00:35:14 CET 2003 root@cheops.phoenix:/usr/obj/usr/src/sys/CHEOPS i386 >Description: The default memory-pane of ksysguard fails to display any memory statistics. This is caused by a lacking implementation of the sensor mem/physical/application in ksysguardd. The attached patches implement this sensor. This causes updating of the default mem-pane to fail. >How-To-Repeat: >Fix: --- kdebase3.diff begins here --- diff -ruN kdebase3.orig/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.c kdebase3/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.c --- kdebase3.orig/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.c Thu Jan 1 01:00:00 1970 +++ kdebase3/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.c Mon Dec 22 13:15:43 2003 @@ -0,0 +1,71 @@ +--- ksysguard/ksysguardd/FreeBSD/Memory.c.orig Mon Dec 15 01:58:03 2003 ++++ ksysguard/ksysguardd/FreeBSD/Memory.c Mon Dec 15 03:26:35 2003 +@@ -45,6 +45,7 @@ + static size_t Used = 0; + static size_t Buffers = 0; + static size_t Cached = 0; ++static size_t Application = 0; + static size_t STotal = 0; + static size_t SFree = 0; + static size_t SUsed = 0; +@@ -66,6 +67,7 @@ + registerMonitor("mem/physical/used", "integer", printUsed, printUsedInfo, sm); + registerMonitor("mem/physical/buf", "integer", printBuffers, printBuffersInfo, sm); + registerMonitor("mem/physical/cached", "integer", printCached, printCachedInfo, sm); ++ registerMonitor("mem/physical/application", "integer", printApplication, printApplicationInfo, sm); + registerMonitor("mem/swap/free", "integer", printSwapFree, printSwapFreeInfo, sm); + registerMonitor("mem/swap/used", "integer", printSwapUsed, printSwapUsedInfo, sm); + } +@@ -80,7 +82,6 @@ + updateMemory(void) + { + size_t len; +- struct vmtotal p; + FILE *file; + char buf[256]; + struct kvm_swap kswap[16]; +@@ -108,18 +109,18 @@ + Buffers = 0; /* Doesn't work under FreeBSD v2.2.x */ + Buffers /= 1024; + +- + len = sizeof (Cached); + if ((sysctlbyname("vm.stats.vm.v_cache_count", &Cached, &len, NULL, 0) == -1) || !len) + Cached = 0; /* Doesn't work under FreeBSD v2.2.x */ +- Cached *= getpagesize() / 1024; ++ Cached *= pagesize / 1024; + ++ len = sizeof (MFree); ++ if ((sysctlbyname("vm.stats.vm.v_free_count", &MFree, &len, NULL, 0) == -1) || !len) ++ MFree = 0; /* Doesn't work under FreeBSD v2.2.x */ ++ MFree *= pagesize / 1024; + +- /* initializes the pointer to the vmmeter struct */ +- len = sizeof (p); +- sysctlbyname("vm.vmmeter", &p, &len, NULL, 0); +- MFree = p.t_free * getpagesize() / 1024; +- Used = p.t_arm * getpagesize() / 1024 + Buffers + Cached; ++ Used = Total - MFree; ++ Application = Used - Buffers - Cached; + + return 0; + } +@@ -170,6 +171,18 @@ + printCachedInfo(const char* cmd) + { + fprintf(CurrentClient, "Cached Memory\t0\t%d\tKB\n", Total); ++} ++ ++void ++printApplication(const char* cmd) ++{ ++ fprintf(CurrentClient, "%d\n", Application); ++} ++ ++void ++printApplicationInfo(const char* cmd) ++{ ++ fprintf(CurrentClient, "Application Memory\t0\t%d\tKB\n", Total); + } + + void diff -ruN kdebase3.orig/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.h kdebase3/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.h --- kdebase3.orig/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.h Thu Jan 1 01:00:00 1970 +++ kdebase3/files/patch-ksysguard-ksysguardd-FreeBSD-Memory.h Mon Dec 22 13:15:43 2003 @@ -0,0 +1,11 @@ +--- ksysguard/ksysguardd/FreeBSD/Memory.h.orig Mon Dec 15 01:58:03 2003 ++++ ksysguard/ksysguardd/FreeBSD/Memory.h Mon Dec 15 01:58:03 2003 +@@ -36,6 +36,8 @@ + void printBuffersInfo(const char* cmd); + void printCached(const char* cmd); + void printCachedInfo(const char* cmd); ++void printApplication(const char* cmd); ++void printApplicationInfo(const char* cmd); + void printSwapUsed(const char* cmd); + void printSwapUsedInfo(const char* cmd); + void printSwapFree(const char* cmd); --- kdebase3.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: