all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob db14023a69389544201e1a2149f3ecce587deef5 1721 bytes (raw)
name: gnu/packages/patches/glibc-2-26-0082.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
From ade53e0df7a1257c54ce96e01fa659b374db2117 Mon Sep 17 00:00:00 2001
From: Wilco Dijkstra <wdijkstr@arm.com>
Date: Tue, 17 Oct 2017 18:25:43 +0100
Subject: [PATCH 82/90] Inline tcache functions

The functions tcache_get and tcache_put show up in profiles as they
are a critical part of the tcache code.  Inline them to give tcache
a 16% performance gain.  Since this improves multi-threaded cases
as well, it helps offset any potential performance loss due to adding
single-threaded fast paths.

	* malloc/malloc.c (tcache_put): Inline.
	(tcache_get): Inline.

(cherry-picked from commit e4dd4ace56880d2f1064cd787e2bdb96ddacc3c4)

diff --git a/ChangeLog b/ChangeLog
index e17a716e53..192acbf7d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* malloc/malloc.c (tcache_put): Inline.
+	(tcache_get): Inline.
+
 2017-10-13  James Clarke  <jrtc27@jrtc27.com>
 
 	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 01ec1571b9..546579bce4 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -2957,7 +2957,7 @@ static __thread tcache_perthread_struct *tcache = NULL;
 
 /* Caller must ensure that we know tc_idx is valid and there's room
    for more chunks.  */
-static void
+static __always_inline void
 tcache_put (mchunkptr chunk, size_t tc_idx)
 {
   tcache_entry *e = (tcache_entry *) chunk2mem (chunk);
@@ -2969,7 +2969,7 @@ tcache_put (mchunkptr chunk, size_t tc_idx)
 
 /* Caller must ensure that we know tc_idx is valid and there's
    available chunks to remove.  */
-static void *
+static __always_inline void *
 tcache_get (size_t tc_idx)
 {
   tcache_entry *e = tcache->entries[tc_idx];

debug log:

solving db14023a6 ...
found db14023a6 in https://yhetil.org/guix/87ine0pjiu.fsf@fastmail.com/ ||
	https://yhetil.org/guix/87d148pe57.fsf@fastmail.com/

applying [1/1] https://yhetil.org/guix/87ine0pjiu.fsf@fastmail.com/
diff --git a/gnu/packages/patches/glibc-2-26-0082.patch b/gnu/packages/patches/glibc-2-26-0082.patch
new file mode 100644
index 000000000..db14023a6

1:34: trailing whitespace.
 
1:35: space before tab in indent.
 	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
1:41: trailing whitespace.
 
1:50: trailing whitespace.
 
Checking patch gnu/packages/patches/glibc-2-26-0082.patch...
Applied patch gnu/packages/patches/glibc-2-26-0082.patch cleanly.
warning: 4 lines add whitespace errors.

skipping https://yhetil.org/guix/87d148pe57.fsf@fastmail.com/ for db14023a6
index at:
100644 db14023a69389544201e1a2149f3ecce587deef5	gnu/packages/patches/glibc-2-26-0082.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.