ports/165361: x11-wm/e17-module-mem counts memory incorrectly
Grzegorz Blach
magik at roorback.net
Sun Jul 8 00:40:11 UTC 2012
The following reply was made to PR ports/165361; it has been noted by GNATS.
From: Grzegorz Blach <magik at roorback.net>
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: ports/165361: x11-wm/e17-module-mem counts memory incorrectly
Date: Sun, 08 Jul 2012 02:33:12 +0200
--=-c6k1T1waxOTtpcpjr33k
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Patch merged to port x11-wm/e17-module-mem, dumped portrevision
--=-c6k1T1waxOTtpcpjr33k
Content-Disposition: attachment; filename="x11-wm_e17-module-mem.diff"
Content-Type: text/x-patch; name="x11-wm_e17-module-mem.diff"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
diff -ruN x11-wm/e17-module-mem/Makefile x11-wm/e17-module-mem/Makefile
--- x11-wm/e17-module-mem/Makefile 2012-06-26 19:36:24.000000000 +0200
+++ x11-wm/e17-module-mem/Makefile 2012-07-08 02:19:23.000000000 +0200
@@ -7,6 +7,7 @@
PORTNAME= mem
PORTVERSION= 20111128
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= x11-wm enlightenment
MASTER_SITES= http://files.roorback.net/e17/modules/
diff -ruN x11-wm/e17-module-mem/files/patch-src-e_mod_main.c.diff x11-wm/e17-module-mem/files/patch-src-e_mod_main.c.diff
--- x11-wm/e17-module-mem/files/patch-src-e_mod_main.c.diff 1970-01-01 01:00:00.000000000 +0100
+++ x11-wm/e17-module-mem/files/patch-src-e_mod_main.c.diff 2012-07-08 02:19:23.000000000 +0200
@@ -0,0 +1,17 @@
+diff -ur src.old/e_mod_main.c src/e_mod_main.c
+--- src.old/e_mod_main.c 2010-11-13 17:56:21.000000000 +0200
++++ src/e_mod_main.c 2012-02-21 23:43:46.548797357 +0200
+@@ -424,11 +424,9 @@
+
+ if (!inst->ci->show_percent)
+ {
+- snprintf (real_str, sizeof (real_str), "Real: %d/%d MB", (real / 1024),
+- (total_real / 1024));
++ snprintf (real_str, sizeof (real_str), "Real: %d/%d MB", real, total_real);
+ if ( total_swap )
+- snprintf (swap_str, sizeof (swap_str), "Swap: %d/%d MB", (swap / 1024),
+- (total_swap / 1024));
++ snprintf (swap_str, sizeof (swap_str), "Swap: %d/%d MB", swap, total_swap);
+ }
+ else
+ {
diff -ruN x11-wm/e17-module-mem/files/patch-src-machdep_freebsd.c.diff x11-wm/e17-module-mem/files/patch-src-machdep_freebsd.c.diff
--- x11-wm/e17-module-mem/files/patch-src-machdep_freebsd.c.diff 1970-01-01 01:00:00.000000000 +0100
+++ x11-wm/e17-module-mem/files/patch-src-machdep_freebsd.c.diff 2012-07-08 02:19:23.000000000 +0200
@@ -0,0 +1,51 @@
+diff -ur src.old/machdep_freebsd.c src/machdep_freebsd.c
+--- src.old/machdep_freebsd.c 2010-11-13 17:56:21.000000000 +0200
++++ src/machdep_freebsd.c 2012-02-21 23:18:00.000000000 +0200
+@@ -12,6 +12,8 @@
+
+ #define GETSYSCTL(name, var) getsysctl(name, &(var), sizeof (var))
+
++#define PAGES_PER_MEG ((1024 * 1024) / getpagesize())
++
+ static int
+ getsysctl (char *name, void *ptr, size_t len)
+ {
+@@ -32,7 +34,6 @@
+ static int
+ swapinfo (int *total, int *used)
+ {
+- int pagesize = getpagesize ();
+ size_t mibsize, size;
+ struct xswdev xsw;
+ int mib[16], n;
+@@ -61,8 +62,8 @@
+ return 1;
+ }
+
+- tmp_total = (long long) xsw.xsw_nblks * pagesize;
+- tmp_used = (long long) xsw.xsw_used * pagesize;
++ tmp_total = xsw.xsw_nblks / PAGES_PER_MEG;
++ tmp_used = xsw.xsw_used / PAGES_PER_MEG;
+ *total += tmp_total;
+ *used += tmp_used;
+ }
+@@ -82,8 +83,6 @@
+ {
+ int total_pages, inactive_pages, free_pages;
+
+- int pagesize = getpagesize ();
+-
+ if (GETSYSCTL ("vm.stats.vm.v_page_count", total_pages))
+ {
+ warnx ("can't read sysctl \"vm.stats.vm.v_page_count\"");
+@@ -102,8 +101,8 @@
+ return;
+ }
+
+- *phys_total = (total_pages * pagesize) >> 10;
+- *phys_used = ((total_pages - free_pages - inactive_pages) * pagesize) >> 10;
++ *phys_total = total_pages / PAGES_PER_MEG;
++ *phys_used = (total_pages - free_pages - inactive_pages) / PAGES_PER_MEG;
+
+ if ((swapinfo (sw_total, sw_used)) != 0)
+ {
--=-c6k1T1waxOTtpcpjr33k--
More information about the freebsd-ports-bugs
mailing list