pkgsrc-ng/x11/kde-workspace4/patches/patch-ksysguard_ksysguardd_NetBSD_Memory.c
2013-09-26 17:14:40 +02:00

122 lines
3.4 KiB
C

$NetBSD: patch-ksysguard_ksysguardd_NetBSD_Memory.c,v 1.2 2013/01/17 16:05:53 joerg Exp $
--- ksysguard/ksysguardd/NetBSD/Memory.c.orig 2012-06-01 13:20:44.000000000 +0000
+++ ksysguard/ksysguardd/NetBSD/Memory.c
@@ -32,7 +32,7 @@
#include <unistd.h>
/* Everything post 1.5.x uses uvm/uvm_* includes */
#if __NetBSD_Version__ >= 105010000
-#include <uvm/uvm_param.h>
+#include <uvm/uvm_extern.h>
#else
#include <vm/vm_param.h>
#endif
@@ -49,10 +49,13 @@ static size_t Inactive = 0;
static size_t Wired = 0;
static size_t Execpages = 0;
static size_t Filepages = 0;
+static size_t Anonpages = 0;
static size_t STotal = 0;
static size_t SFree = 0;
static size_t SUsed = 0;
+static size_t Appl = 0;
+
void
initMemory(struct SensorModul* sm)
{
@@ -63,8 +66,13 @@ initMemory(struct SensorModul* sm)
registerMonitor("mem/physical/wired", "integer", printWired, printWiredInfo, sm);
registerMonitor("mem/physical/execpages", "integer", printExecpages, printExecpagesInfo, sm);
registerMonitor("mem/physical/filepages", "integer", printFilepages, printFilepagesInfo, sm);
+ registerMonitor("mem/physical/anonpages", "integer", printAnonpages, printAnonpagesInfo, sm);
registerMonitor("mem/swap/free", "integer", printSwapFree, printSwapFreeInfo, sm);
registerMonitor("mem/swap/used", "integer", printSwapUsed, printSwapUsedInfo, sm);
+
+ registerMonitor( "mem/physical/application", "integer", printAppl, printApplInfo, sm );
+ registerMonitor( "mem/physical/buf", "integer", printBuffers, printBuffersInfo, sm );
+ registerMonitor( "mem/physical/cached", "integer", printCached, printCachedInfo, sm );
}
void
@@ -93,7 +101,8 @@ updateMemory(void)
len = sizeof(x);
STotal = SUsed = SFree = -1;
- Active = Inactive = Wired = Execpages = Filepages = MFree = Used = -1;
+ Active = Inactive = Wired = Execpages = Filepages = Anonpages = -1;
+ MFree = Used = -1;
if (-1 < sysctl(mib, ARRLEN(mib), &x, &len, NULL, 0)) {
STotal = (x.pagesize*x.swpages) >> 10;
SUsed = (x.pagesize*x.swpginuse) >> 10;
@@ -104,7 +113,9 @@ updateMemory(void)
Wired = (x.wired * x.pagesize) >> 10;
Execpages = (x.execpages * x.pagesize) >> 10;
Filepages = (x.filepages * x.pagesize) >> 10;
+ Anonpages = (x.anonpages * x.pagesize) >> 10;
Used = Total - MFree;
+ Appl = Active - Filepages;
}
}
return 0;
@@ -195,6 +206,18 @@ printFilepagesInfo(const char* cmd)
}
void
+printAnonpages(const char* cmd)
+{
+ fprintf(CurrentClient, "%d\n", Anonpages);
+}
+
+void
+printAnonpagesInfo(const char* cmd)
+{
+ fprintf(CurrentClient, "Anon Pages\t0\t%d\tKB\n", Total);
+}
+
+void
printSwapUsed(const char* cmd)
{
fprintf(CurrentClient, "%d\n", SUsed);
@@ -217,3 +240,40 @@ printSwapFreeInfo(const char* cmd)
{
fprintf(CurrentClient, "Free Swap Memory\t0\t%d\tKB\n", STotal);
}
+
+/* Linux compat */
+void
+printBuffers(const char* cmd)
+{
+ fprintf(CurrentClient, "%d\n", Filepages /* + bufmem */);
+}
+
+void
+printBuffersInfo(const char* cmd)
+{
+ fprintf(CurrentClient, "Buffer Memory\t0\t%d\tKB\n", Total);
+}
+
+void
+printCached(const char* cmd)
+{
+ fprintf(CurrentClient, "0\n");
+}
+
+void
+printCachedInfo(const char* cmd)
+{
+ fprintf(CurrentClient, "Cached Memory\t0\t%d\tKB\n", Total);
+}
+
+void
+printAppl(const char* cmd)
+{
+ fprintf(CurrentClient, "%d\n", Appl);
+}
+
+void
+printApplInfo(const char* cmd)
+{
+ fprintf(CurrentClient, "Application Memory\t0\t%d\tKB\n", Total);
+}