From owner-freebsd-gecko@FreeBSD.ORG Fri Oct 19 03:19:44 2012 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BDFEC375 for ; Fri, 19 Oct 2012 03:19:44 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id 5C08E8FC0A for ; Fri, 19 Oct 2012 03:19:44 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id q9J3JbMB033488 for ; Fri, 19 Oct 2012 03:19:37 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id q9J3JW8T032403 for freebsd-gecko@freebsd.org; Fri, 19 Oct 2012 03:19:32 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Fri, 19 Oct 2012 03:19:32 GMT Message-Id: <201210190319.q9J3JW8T032403@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1073 - in trunk: mail/thunderbird/files www/firefox-nightly/files www/firefox/files www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Oct 2012 03:19:44 -0000 Author: jbeich Date: Fri Oct 19 03:19:31 2012 New Revision: 1073 Log: count dirty unused pages in heap-committed, too Modified: trunk/mail/thunderbird/files/patch-z-bug762445 trunk/www/firefox-nightly/files/patch-z-bug762445 trunk/www/firefox/files/patch-z-bug762445 trunk/www/seamonkey/files/patch-z-bug762445 Modified: trunk/mail/thunderbird/files/patch-z-bug762445 ============================================================================== --- trunk/mail/thunderbird/files/patch-z-bug762445 Sat Oct 13 00:08:01 2012 (r1072) +++ trunk/mail/thunderbird/files/patch-z-bug762445 Fri Oct 19 03:19:31 2012 (r1073) @@ -11,19 +11,25 @@ index 94ad96e..7adfef5 100644 --- mozilla/memory/build/mozjemalloc_compat.c +++ mozilla/memory/build/mozjemalloc_compat.c -@@ -11,15 +11,37 @@ +@@ -11,15 +11,50 @@ #define wrap(a) je_ ## a #endif -extern MOZ_IMPORT_API(int) ++/* ++ * CTL_* macros are from memory/jemalloc/src/src/stats.c with changes: ++ * - drop `t' argument to avoid redundancy in calculating type size ++ * - require `i' argument for arena number explicitly ++ */ ++ +#define CTL_GET(n, v) do { \ + size_t sz = sizeof(v); \ + wrap(mallctl)(n, &v, &sz, NULL, 0); \ +} while (0) + -+#define CTL_I_GET(n, v) do { \ ++#define CTL_I_GET(n, v, i) do { \ + size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(size_t); \ ++ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ + size_t sz = sizeof(v); \ + wrap(mallctlnametomib)(n, mib, &miblen); \ + mib[2] = i; \ @@ -45,13 +51,20 @@ - wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0); - stats->committed = -1; - stats->dirty = -1; -+ unsigned i; -+ size_t page; -+ CTL_GET("arenas.narenas", i); ++ unsigned narenas; ++ size_t active, allocated, mapped, page, pdirty; ++ ++ CTL_GET("arenas.narenas", narenas); + CTL_GET("arenas.page", page); -+ CTL_GET("stats.active", stats->committed); -+ CTL_GET("stats.allocated", stats->allocated); -+ CTL_GET("stats.mapped", stats->mapped); -+ CTL_I_GET("stats.arenas.0.pdirty", stats->dirty); -+ stats->dirty *= page; ++ CTL_GET("stats.active", active); ++ CTL_GET("stats.allocated", allocated); ++ CTL_GET("stats.mapped", mapped); ++ ++ /* get the summation for all arenas, i == narenas */ ++ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); ++ ++ stats->allocated = allocated; ++ stats->mapped = mapped; ++ stats->dirty = pdirty * page; ++ stats->committed = active + stats->dirty; } Modified: trunk/www/firefox-nightly/files/patch-z-bug762445 ============================================================================== --- trunk/www/firefox-nightly/files/patch-z-bug762445 Sat Oct 13 00:08:01 2012 (r1072) +++ trunk/www/firefox-nightly/files/patch-z-bug762445 Fri Oct 19 03:19:31 2012 (r1073) @@ -11,19 +11,25 @@ index 94ad96e..7adfef5 100644 --- memory/build/mozjemalloc_compat.c +++ memory/build/mozjemalloc_compat.c -@@ -11,15 +11,37 @@ +@@ -11,15 +11,50 @@ #define wrap(a) je_ ## a #endif -extern MOZ_IMPORT_API(int) ++/* ++ * CTL_* macros are from memory/jemalloc/src/src/stats.c with changes: ++ * - drop `t' argument to avoid redundancy in calculating type size ++ * - require `i' argument for arena number explicitly ++ */ ++ +#define CTL_GET(n, v) do { \ + size_t sz = sizeof(v); \ + wrap(mallctl)(n, &v, &sz, NULL, 0); \ +} while (0) + -+#define CTL_I_GET(n, v) do { \ ++#define CTL_I_GET(n, v, i) do { \ + size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(size_t); \ ++ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ + size_t sz = sizeof(v); \ + wrap(mallctlnametomib)(n, mib, &miblen); \ + mib[2] = i; \ @@ -45,13 +51,20 @@ - wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0); - stats->committed = -1; - stats->dirty = -1; -+ unsigned i; -+ size_t page; -+ CTL_GET("arenas.narenas", i); ++ unsigned narenas; ++ size_t active, allocated, mapped, page, pdirty; ++ ++ CTL_GET("arenas.narenas", narenas); + CTL_GET("arenas.page", page); -+ CTL_GET("stats.active", stats->committed); -+ CTL_GET("stats.allocated", stats->allocated); -+ CTL_GET("stats.mapped", stats->mapped); -+ CTL_I_GET("stats.arenas.0.pdirty", stats->dirty); -+ stats->dirty *= page; ++ CTL_GET("stats.active", active); ++ CTL_GET("stats.allocated", allocated); ++ CTL_GET("stats.mapped", mapped); ++ ++ /* get the summation for all arenas, i == narenas */ ++ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); ++ ++ stats->allocated = allocated; ++ stats->mapped = mapped; ++ stats->dirty = pdirty * page; ++ stats->committed = active + stats->dirty; } Modified: trunk/www/firefox/files/patch-z-bug762445 ============================================================================== --- trunk/www/firefox/files/patch-z-bug762445 Sat Oct 13 00:08:01 2012 (r1072) +++ trunk/www/firefox/files/patch-z-bug762445 Fri Oct 19 03:19:31 2012 (r1073) @@ -11,19 +11,25 @@ index 94ad96e..7adfef5 100644 --- memory/build/mozjemalloc_compat.c +++ memory/build/mozjemalloc_compat.c -@@ -11,15 +11,37 @@ +@@ -11,15 +11,50 @@ #define wrap(a) je_ ## a #endif -extern MOZ_IMPORT_API(int) ++/* ++ * CTL_* macros are from memory/jemalloc/src/src/stats.c with changes: ++ * - drop `t' argument to avoid redundancy in calculating type size ++ * - require `i' argument for arena number explicitly ++ */ ++ +#define CTL_GET(n, v) do { \ + size_t sz = sizeof(v); \ + wrap(mallctl)(n, &v, &sz, NULL, 0); \ +} while (0) + -+#define CTL_I_GET(n, v) do { \ ++#define CTL_I_GET(n, v, i) do { \ + size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(size_t); \ ++ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ + size_t sz = sizeof(v); \ + wrap(mallctlnametomib)(n, mib, &miblen); \ + mib[2] = i; \ @@ -45,13 +51,20 @@ - wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0); - stats->committed = -1; - stats->dirty = -1; -+ unsigned i; -+ size_t page; -+ CTL_GET("arenas.narenas", i); ++ unsigned narenas; ++ size_t active, allocated, mapped, page, pdirty; ++ ++ CTL_GET("arenas.narenas", narenas); + CTL_GET("arenas.page", page); -+ CTL_GET("stats.active", stats->committed); -+ CTL_GET("stats.allocated", stats->allocated); -+ CTL_GET("stats.mapped", stats->mapped); -+ CTL_I_GET("stats.arenas.0.pdirty", stats->dirty); -+ stats->dirty *= page; ++ CTL_GET("stats.active", active); ++ CTL_GET("stats.allocated", allocated); ++ CTL_GET("stats.mapped", mapped); ++ ++ /* get the summation for all arenas, i == narenas */ ++ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); ++ ++ stats->allocated = allocated; ++ stats->mapped = mapped; ++ stats->dirty = pdirty * page; ++ stats->committed = active + stats->dirty; } Modified: trunk/www/seamonkey/files/patch-z-bug762445 ============================================================================== --- trunk/www/seamonkey/files/patch-z-bug762445 Sat Oct 13 00:08:01 2012 (r1072) +++ trunk/www/seamonkey/files/patch-z-bug762445 Fri Oct 19 03:19:31 2012 (r1073) @@ -11,19 +11,25 @@ index 94ad96e..7adfef5 100644 --- mozilla/memory/build/mozjemalloc_compat.c +++ mozilla/memory/build/mozjemalloc_compat.c -@@ -11,15 +11,37 @@ +@@ -11,15 +11,50 @@ #define wrap(a) je_ ## a #endif -extern MOZ_IMPORT_API(int) ++/* ++ * CTL_* macros are from memory/jemalloc/src/src/stats.c with changes: ++ * - drop `t' argument to avoid redundancy in calculating type size ++ * - require `i' argument for arena number explicitly ++ */ ++ +#define CTL_GET(n, v) do { \ + size_t sz = sizeof(v); \ + wrap(mallctl)(n, &v, &sz, NULL, 0); \ +} while (0) + -+#define CTL_I_GET(n, v) do { \ ++#define CTL_I_GET(n, v, i) do { \ + size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(size_t); \ ++ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ + size_t sz = sizeof(v); \ + wrap(mallctlnametomib)(n, mib, &miblen); \ + mib[2] = i; \ @@ -45,13 +51,20 @@ - wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0); - stats->committed = -1; - stats->dirty = -1; -+ unsigned i; -+ size_t page; -+ CTL_GET("arenas.narenas", i); ++ unsigned narenas; ++ size_t active, allocated, mapped, page, pdirty; ++ ++ CTL_GET("arenas.narenas", narenas); + CTL_GET("arenas.page", page); -+ CTL_GET("stats.active", stats->committed); -+ CTL_GET("stats.allocated", stats->allocated); -+ CTL_GET("stats.mapped", stats->mapped); -+ CTL_I_GET("stats.arenas.0.pdirty", stats->dirty); -+ stats->dirty *= page; ++ CTL_GET("stats.active", active); ++ CTL_GET("stats.allocated", allocated); ++ CTL_GET("stats.mapped", mapped); ++ ++ /* get the summation for all arenas, i == narenas */ ++ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); ++ ++ stats->allocated = allocated; ++ stats->mapped = mapped; ++ stats->dirty = pdirty * page; ++ stats->committed = active + stats->dirty; }