Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Jul 2012 00:40:10 GMT
From:      Grzegorz Blach <magik@roorback.net>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/165361: x11-wm/e17-module-mem counts memory incorrectly
Message-ID:  <201207080040.q680eAZI082171@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/165361; it has been noted by GNATS.

From: Grzegorz Blach <magik@roorback.net>
To: bug-followup@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--
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207080040.q680eAZI082171>