From owner-svn-src-head@FreeBSD.ORG Wed Feb 26 02:37:02 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 65A11E1A; Wed, 26 Feb 2014 02:37:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4EF211DEF; Wed, 26 Feb 2014 02:37:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1Q2b23t051438; Wed, 26 Feb 2014 02:37:02 GMT (envelope-from jasone@svn.freebsd.org) Received: (from jasone@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1Q2b026051410; Wed, 26 Feb 2014 02:37:00 GMT (envelope-from jasone@svn.freebsd.org) Message-Id: <201402260237.s1Q2b026051410@svn.freebsd.org> From: Jason Evans Date: Wed, 26 Feb 2014 02:37:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r262521 - in head/contrib/jemalloc: . doc include/jemalloc include/jemalloc/internal src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Feb 2014 02:37:02 -0000 Author: jasone Date: Wed Feb 26 02:36:59 2014 New Revision: 262521 URL: http://svnweb.freebsd.org/changeset/base/262521 Log: Update jemalloc to version 3.5.1. Modified: head/contrib/jemalloc/ChangeLog head/contrib/jemalloc/FREEBSD-Xlist head/contrib/jemalloc/VERSION head/contrib/jemalloc/doc/jemalloc.3 head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h head/contrib/jemalloc/include/jemalloc/internal/prof.h head/contrib/jemalloc/include/jemalloc/jemalloc.h head/contrib/jemalloc/src/arena.c head/contrib/jemalloc/src/huge.c Modified: head/contrib/jemalloc/ChangeLog ============================================================================== --- head/contrib/jemalloc/ChangeLog Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/ChangeLog Wed Feb 26 02:36:59 2014 (r262521) @@ -3,8 +3,26 @@ bug fixes are all mentioned, but interna brevity (even though they are more fun to write about). Much more detail can be found in the git revision history: - http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git - git://canonware.com/jemalloc.git + https://github.com/jemalloc/jemalloc + +* 3.5.1 (February 25, 2014) + + This version primarily addresses minor bugs in test code. + + Bug fixes: + - Configure Solaris/Illumos to use MADV_FREE. + - Fix junk filling for mremap(2)-based huge reallocation. This is only + relevant if configuring with the --enable-mremap option specified. + - Avoid compilation failure if 'restrict' C99 keyword is not supported by the + compiler. + - Add a configure test for SSE2 rather than assuming it is usable on i686 + systems. This fixes test compilation errors, especially on 32-bit Linux + systems. + - Fix mallctl argument size mismatches (size_t vs. uint64_t) in the stats unit + test. + - Fix/remove flawed alignment-related overflow tests. + - Prevent compiler optimizations that could change backtraces in the + prof_accum unit test. * 3.5.0 (January 22, 2014) @@ -16,7 +34,7 @@ found in the git revision history: API. The *allocx() functions are slightly simpler to use because they have fewer parameters, they directly return the results of primary interest, and mallocx()/rallocx() avoid the strict aliasing pitfall that - allocm()/rallocx() share with posix_memalign(). Note that *allocm() is + allocm()/rallocm() share with posix_memalign(). Note that *allocm() is slated for removal in the next non-bugfix release. - Add support for LinuxThreads. Modified: head/contrib/jemalloc/FREEBSD-Xlist ============================================================================== --- head/contrib/jemalloc/FREEBSD-Xlist Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/FREEBSD-Xlist Wed Feb 26 02:36:59 2014 (r262521) @@ -28,6 +28,7 @@ include/jemalloc/internal/public_unnames include/jemalloc/internal/size_classes.sh include/jemalloc/jemalloc.h.in include/jemalloc/jemalloc.sh +include/jemalloc/jemalloc_defs.h include/jemalloc/jemalloc_defs.h.in include/jemalloc/jemalloc_macros.h include/jemalloc/jemalloc_macros.h.in Modified: head/contrib/jemalloc/VERSION ============================================================================== --- head/contrib/jemalloc/VERSION Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/VERSION Wed Feb 26 02:36:59 2014 (r262521) @@ -1 +1 @@ -3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6 +3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136 Modified: head/contrib/jemalloc/doc/jemalloc.3 ============================================================================== --- head/contrib/jemalloc/doc/jemalloc.3 Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/doc/jemalloc.3 Wed Feb 26 02:36:59 2014 (r262521) @@ -2,12 +2,12 @@ .\" Title: JEMALLOC .\" Author: Jason Evans .\" Generator: DocBook XSL Stylesheets v1.76.1 -.\" Date: 01/22/2014 +.\" Date: 02/25/2014 .\" Manual: User Manual -.\" Source: jemalloc 3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6 +.\" Source: jemalloc 3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136 .\" Language: English .\" -.TH "JEMALLOC" "3" "01/22/2014" "jemalloc 3.5.0-0-gcc47dde16203" "User Manual" +.TH "JEMALLOC" "3" "02/25/2014" "jemalloc 3.5.1-0-g7709a64c59da" "User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ jemalloc \- general purpose memory allocation functions .SH "LIBRARY" .PP -This manual describes jemalloc 3\&.5\&.0\-0\-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6\&. More information can be found at the +This manual describes jemalloc 3\&.5\&.1\-0\-g7709a64c59daf0b1f938be49472fcc499e1bd136\&. More information can be found at the \m[blue]\fBjemalloc website\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP The following configuration options are enabled in libc\*(Aqs built\-in jemalloc: Modified: head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h ============================================================================== --- head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h Wed Feb 26 02:36:59 2014 (r262521) @@ -188,6 +188,9 @@ */ /* #undef JEMALLOC_HAS_ALLOCA_H */ +/* C99 restrict keyword supported. */ +#define JEMALLOC_HAS_RESTRICT 1 + /* sizeof(int) == 2^LG_SIZEOF_INT. */ #define LG_SIZEOF_INT 2 Modified: head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h ============================================================================== --- head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h Wed Feb 26 02:36:59 2014 (r262521) @@ -45,3 +45,7 @@ #ifndef __DECONST # define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) #endif + +#ifndef JEMALLOC_HAS_RESTRICT +# define restrict +#endif Modified: head/contrib/jemalloc/include/jemalloc/internal/prof.h ============================================================================== --- head/contrib/jemalloc/include/jemalloc/internal/prof.h Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/include/jemalloc/internal/prof.h Wed Feb 26 02:36:59 2014 (r262521) @@ -8,7 +8,11 @@ typedef struct prof_ctx_s prof_ctx_t; typedef struct prof_tdata_s prof_tdata_t; /* Option defaults. */ -#define PROF_PREFIX_DEFAULT "jeprof" +#ifdef JEMALLOC_PROF +# define PROF_PREFIX_DEFAULT "jeprof" +#else +# define PROF_PREFIX_DEFAULT "" +#endif #define LG_PROF_SAMPLE_DEFAULT 19 #define LG_PROF_INTERVAL_DEFAULT -1 Modified: head/contrib/jemalloc/include/jemalloc/jemalloc.h ============================================================================== --- head/contrib/jemalloc/include/jemalloc/jemalloc.h Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/include/jemalloc/jemalloc.h Wed Feb 26 02:36:59 2014 (r262521) @@ -67,12 +67,12 @@ extern "C" { #include #include -#define JEMALLOC_VERSION "3.5.0-0-gcc47dde16203a6ae7eb685b53e1ae501f3869bc6" +#define JEMALLOC_VERSION "3.5.1-0-g7709a64c59daf0b1f938be49472fcc499e1bd136" #define JEMALLOC_VERSION_MAJOR 3 #define JEMALLOC_VERSION_MINOR 5 -#define JEMALLOC_VERSION_BUGFIX 0 +#define JEMALLOC_VERSION_BUGFIX 1 #define JEMALLOC_VERSION_NREV 0 -#define JEMALLOC_VERSION_GID "cc47dde16203a6ae7eb685b53e1ae501f3869bc6" +#define JEMALLOC_VERSION_GID "7709a64c59daf0b1f938be49472fcc499e1bd136" # define MALLOCX_LG_ALIGN(la) (la) # if LG_SIZEOF_PTR == 2 Modified: head/contrib/jemalloc/src/arena.c ============================================================================== --- head/contrib/jemalloc/src/arena.c Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/src/arena.c Wed Feb 26 02:36:59 2014 (r262521) @@ -2476,7 +2476,6 @@ bin_info_run_size_calc(arena_bin_info_t bin_info->reg_interval) - pad_size; } while (try_hdr_size > try_redzone0_offset); } while (try_run_size <= arena_maxclass - && try_run_size <= arena_maxclass && RUN_MAX_OVRHD * (bin_info->reg_interval << 3) > RUN_MAX_OVRHD_RELAX && (try_redzone0_offset << RUN_BFP) > RUN_MAX_OVRHD * try_run_size Modified: head/contrib/jemalloc/src/huge.c ============================================================================== --- head/contrib/jemalloc/src/huge.c Wed Feb 26 02:02:51 2014 (r262520) +++ head/contrib/jemalloc/src/huge.c Wed Feb 26 02:36:59 2014 (r262521) @@ -171,6 +171,16 @@ huge_ralloc(void *ptr, size_t oldsize, s abort(); memcpy(ret, ptr, copysize); chunk_dealloc_mmap(ptr, oldsize); + } else if (config_fill && zero == false && opt_junk && oldsize + < newsize) { + /* + * mremap(2) clobbers the original mapping, so + * junk/zero filling is not preserved. There is no + * need to zero fill here, since any trailing + * uninititialized memory is demand-zeroed by the + * kernel, but junk filling must be redone. + */ + memset(ret + oldsize, 0xa5, newsize - oldsize); } } else #endif