From owner-freebsd-current@FreeBSD.ORG Thu Apr 5 18:55:49 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D57361065781; Thu, 5 Apr 2012 18:55:49 +0000 (UTC) (envelope-from jasone@canonware.com) Received: from canonware.com (10140.x.rootbsd.net [204.109.63.53]) by mx1.freebsd.org (Postfix) with ESMTP id B2E268FC15; Thu, 5 Apr 2012 18:55:49 +0000 (UTC) Received: from [172.25.16.174] (unknown [173.252.71.3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by canonware.com (Postfix) with ESMTPSA id CFC582842C; Thu, 5 Apr 2012 11:55:48 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1257) Content-Type: text/plain; charset=us-ascii From: Jason Evans In-Reply-To: <20120405175244.GZ2358@deviant.kiev.zoral.com.ua> Date: Thu, 5 Apr 2012 11:55:48 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <294B61A0-72E4-4014-8B13-ED5259112E61@canonware.com> References: <431CB493-836B-4DF4-AC42-A7C6ABF7DE3E@canonware.com> <20120405175244.GZ2358@deviant.kiev.zoral.com.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1257) X-Mailman-Approved-At: Thu, 05 Apr 2012 20:12:17 +0000 Cc: jasone@freebsd.org, current@freebsd.org Subject: Re: contrib/jemalloc 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: Thu, 05 Apr 2012 18:55:49 -0000 On Apr 5, 2012, at 10:52 AM, Konstantin Belousov wrote: > On Wed, Apr 04, 2012 at 09:56:45PM -0700, Jason Evans wrote: >> I have the current version of jemalloc integrated into libc as = contrib/jemalloc: >>=20 >> = http://people.freebsd.org/~jasone/patches/jemalloc_20120404b.patch >=20 >> * Are the symbol versioning specifications right, and are the >> compatibility symbols for _malloc_options and _malloc_message = workable? > Why do you manually added __sys_compat() for the symbols ? > My reading of the patch shows that you do not change the ABI, > and symbols are still at FBSD_1.0 and even in Symbol.map. > The 1.3 symbols have different names, without prepended '_' ? > Please correct me if I am wrong, but it seems that the __sym_compat() > magic is not needed. The malloc_conf and malloc_message symbols are new to this version of = jemalloc, though they are similar in spirit to = _malloc_options/_malloc_message. _malloc_options/_malloc_message aren't actually supported by this = version of jemalloc, but the symbols still need to exist so that old = applications that were linked with previous releases can run. My = intention with the __sys_compat() macros was to make = _malloc_options/_malloc_message available to those applications, but to = keep from exporting the symbols for use when linking new applications. = Is this the wrong thing to do, and/or do I misunderstand how compat = symbols work? >> * Is the light editing of the jemalloc manual page sufficient? = Keeping >> the changes minimal will make regular imports less work, but the >> result is less tailored to FreeBSD. >>=20 > Might be, keep existing but somewhat trimmed malloc(3) page as is, but > add the unedited man from contrib as jemalloc(3), xreferencing it from > malloc(3) ? Hmm, that's an interesting idea. My main concerns with it are the = amount of redundancy (everything in malloc(3) would be redundant), and = the decreased visibility of additional functionality in the = documentation. The TUNING, IMPLEMENTATION NOTES, DEBUGGING MALLOC = PROBLEMS, and DIAGNOSTIC MESSAGES sections would all be absent from = malloc(3), thus requiring users to notice the jemalloc(3) cross = reference to find full documentation. Thanks, Jason=