!26 Correct tsd layout graph

From: @meng-wenhua 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
This commit is contained in:
openeuler-ci-bot 2023-01-09 11:30:05 +00:00 committed by Gitee
commit 488e333581
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 58 additions and 1 deletions

View File

@ -0,0 +1,51 @@
From 56c8ecffc1f84f630e10f775bc29fcf4c743a3c9 Mon Sep 17 00:00:00 2001
From: Yinan Zhang <zyn8950@gmail.com>
Date: Thu, 6 Jun 2019 09:22:10 -0700
Subject: [PATCH] Correct tsd layout graph
Augmented the tsd layout graph so that the two recently added fields,
`offset_state` and `bytes_until_sample`, are properly reflected.
As is shown, the cache footprint is 16 bytes larger than before.
---
include/jemalloc/internal/tsd.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/jemalloc/internal/tsd.h b/include/jemalloc/internal/tsd.h
index 9ba26004..18b2476b 100644
--- a/include/jemalloc/internal/tsd.h
+++ b/include/jemalloc/internal/tsd.h
@@ -20,6 +20,7 @@
* e: tcache_enabled
* m: thread_allocated (config_stats)
* f: thread_deallocated (config_stats)
+ * b: bytes_until_sample (config_prof)
* p: prof_tdata (config_prof)
* c: rtree_ctx (rtree cache accessed on deallocation)
* t: tcache
@@ -27,6 +28,7 @@
* d: arenas_tdata_bypass
* r: reentrancy_level
* x: narenas_tdata
+ * v: offset_state
* i: iarena
* a: arena
* o: arenas_tdata
@@ -35,11 +37,13 @@
* Use a compact layout to reduce cache footprint.
* +--- 64-bit and 64B cacheline; 1B each letter; First byte on the left. ---+
* |---------------------------- 1st cacheline ----------------------------|
- * | sedrxxxx mmmmmmmm ffffffff pppppppp [c * 32 ........ ........ .......] |
+ * | sedrxxxx vvvvvvvv mmmmmmmm ffffffff bbbbbbbb pppppppp [c * 16 .......] |
* |---------------------------- 2nd cacheline ----------------------------|
* | [c * 64 ........ ........ ........ ........ ........ ........ .......] |
* |---------------------------- 3nd cacheline ----------------------------|
- * | [c * 32 ........ ........ .......] iiiiiiii aaaaaaaa oooooooo [t...... |
+ * | [c * 48 ........ ........ ........ ........ .......] iiiiiiii aaaaaaaa |
+ * +---------------------------- 4th cacheline ----------------------------+
+ * | oooooooo [t...... ........ ........ ........ ........ ........ ........ |
* +-------------------------------------------------------------------------+
* Note: the entire tcache is embedded into TSD and spans multiple cachelines.
*
--
2.37.3.windows.1

View File

@ -12,7 +12,7 @@
Name: jemalloc
Version: 5.2.1
Release: 1
Release: 2
Summary: General-purpose scalable concurrent malloc implementation
License: BSD
URL: http://www.canonware.com/jemalloc/
@ -21,6 +21,9 @@ Source0: https://github.com/jemalloc/%{name}/releases/download/%{version}
Patch1: backport-Jemalloc-5.2.1-patch-1-fix-large-bin-index-accessed-through-cache-bin-descriptor.patch
Patch2: backport-Jemalloc-5.2.1-patch-2-fix-undefined-behavior-in-hash.patch
Patch3: backport-Jemalloc-5.2.1-patch-3-fix-tcaches-mutex-pre-post-fork-handling.patch
Patch6000: backport-0001-Correct-tsd-layout-graph.patch
BuildRequires: libxslt perl-generators gcc
%description
@ -82,6 +85,9 @@ make check
%{_mandir}/man3/jemalloc.3*
%changelog
* Mon Jan 9 2023 mengwenhua <mengwenhua@xfusion.com> - 5.2.1-2
- Correct tsd layout graph
* Thu Dec 30 2021 xigaoxinyan <xigaoxinyan@huawei.com> - 5.2.1-1
- Update jemlloc