From owner-freebsd-current@FreeBSD.ORG Sat Apr 28 20:17:11 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AADAA106566B; Sat, 28 Apr 2012 20:17:11 +0000 (UTC) (envelope-from ray@dlink.ua) Received: from smtp.dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id 62D9C8FC0A; Sat, 28 Apr 2012 20:17:11 +0000 (UTC) Received: from rnote.ddteam.net (4-108-133-95.pool.ukrtel.net [95.133.108.4]) (Authenticated sender: ray) by smtp.dlink.ua (Postfix) with ESMTPSA id EF933C4930; Sat, 28 Apr 2012 23:17:09 +0300 (EEST) Date: Sat, 28 Apr 2012 23:17:03 +0300 From: Aleksandr Rybalko To: Jason Evans Message-Id: <20120428231703.374bc042.ray@dlink.ua> In-Reply-To: References: <20120421185402.GH1743@albert.catwhisker.org> <7AD8956D-AD18-4CAB-9953-06E00185A7DA@freebsd.org> <20120428150941.e0464900.ray@dlink.ua> Organization: D-Link X-Mailer: Sylpheed 3.1.2 (GTK+ 2.24.5; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: current@freebsd.org Subject: Re: : jemalloc_arena.c:182: Failed assertion: "p[i] == 0" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Apr 2012 20:17:11 -0000 On Sat, 28 Apr 2012 11:29:01 -0700 Jason Evans wrote: > On Apr 28, 2012, at 5:09 AM, Aleksandr Rybalko wrote: > >>> On Apr 21, 2012, at 11:54 AM, David Wolfskill wrote: > >>>> > >>>> But contrib/jemalloc/src/arena.c contains a function, > >>>> arena_chunk_validate_zeroed(): > >>>> > >>>> 175 static inline void > >>>> 176 arena_chunk_validate_zeroed(arena_chunk_t *chunk, size_t > >>>> run_ind) 177 { > >>>> 178 size_t i; > >>>> 179 UNUSED size_t *p = (size_t *)((uintptr_t)chunk + > >>>> (run_ind << LG_PAGE)); 180 > >>>> 181 for (i = 0; i < PAGE / sizeof(size_t); i++) > >>>> 182 assert(p[i] == 0); > >>>> 183 } > > > > maybe it somehow related to low count of free memory, because I see > > that very frequently on my box. (Atheros AR7242 mips32be with 32M of > > RAM) > > > > After "#ifdef" of that function body, box behave good (seems) :) > > Yes, arena_chunk_validate_zeroed() (which is debug-only code) has the > side effect of faulting in untouched pages, so it potentially > increases physical memory usage. In practice, this sanity checking > has saved jemalloc from regressions that would otherwise manifest as > mysterious application memory corruption (and would have prevented > even more regressions, had it existed earlier). You can disable it > and many other performance-sacrificing debug features by defining > MALLOC_PRODUCTION in /etc/make.conf. Yeah, found it. Thank you. It is possible to hide such debug code under debug macro, so embedded guys will be more happy about sizes? :) Thank you for that big job! > > Jason_______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org" -- Aleksandr Rybalko