summaryrefslogtreecommitdiffstats
path: root/doc/jemalloc.xml.in
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2016-06-03 19:05:53 (GMT)
committerJason Evans <jasone@canonware.com>2016-06-06 04:00:02 (GMT)
commitf8f0542194e2a7fb0eff8a20143a26fe4a6ea6a5 (patch)
tree05fb7ee485131a74d5885eea020a00a5c23b6d40 /doc/jemalloc.xml.in
parent6f29a8392403f70bfa1080964a65540b6f3699fe (diff)
downloadjemalloc-f8f0542194e2a7fb0eff8a20143a26fe4a6ea6a5.zip
jemalloc-f8f0542194e2a7fb0eff8a20143a26fe4a6ea6a5.tar.gz
jemalloc-f8f0542194e2a7fb0eff8a20143a26fe4a6ea6a5.tar.bz2
Modify extent hook functions to take an (extent_t *) argument.
This facilitates the application accessing its own extent allocator metadata during hook invocations. This resolves #259.
Diffstat (limited to 'doc/jemalloc.xml.in')
-rw-r--r--doc/jemalloc.xml.in14
1 files changed, 11 insertions, 3 deletions
diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in
index 74daf6a..bfc0073 100644
--- a/doc/jemalloc.xml.in
+++ b/doc/jemalloc.xml.in
@@ -1551,7 +1551,7 @@ malloc_conf = "xmalloc:true";]]></programlisting>
<varlistentry id="arena.i.extent_hooks">
<term>
<mallctl>arena.&lt;i&gt;.extent_hooks</mallctl>
- (<type>extent_hooks_t</type>)
+ (<type>extent_hooks_t *</type>)
<literal>rw</literal>
</term>
<listitem><para>Get or set the extent management hook functions for
@@ -1567,7 +1567,8 @@ malloc_conf = "xmalloc:true";]]></programlisting>
allocation.</para>
<programlisting language="C"><![CDATA[
-typedef struct {
+typedef extent_hooks_s extent_hooks_t;
+struct extent_hooks_s {
extent_alloc_t *alloc;
extent_dalloc_t *dalloc;
extent_commit_t *commit;
@@ -1575,7 +1576,7 @@ typedef struct {
extent_purge_t *purge;
extent_split_t *split;
extent_merge_t *merge;
-} extent_hooks_t;]]></programlisting>
+};]]></programlisting>
<para>The <type>extent_hooks_t</type> structure comprises function
pointers which are described individually below. jemalloc uses these
functions to manage extent lifetime, which starts off with allocation of
@@ -1592,6 +1593,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef void *<function>(extent_alloc_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>new_addr</parameter></paramdef>
<paramdef>size_t <parameter>size</parameter></paramdef>
<paramdef>size_t <parameter>alignment</parameter></paramdef>
@@ -1627,6 +1629,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_dalloc_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr</parameter></paramdef>
<paramdef>size_t <parameter>size</parameter></paramdef>
<paramdef>bool <parameter>committed</parameter></paramdef>
@@ -1646,6 +1649,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_commit_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr</parameter></paramdef>
<paramdef>size_t <parameter>size</parameter></paramdef>
<paramdef>size_t <parameter>offset</parameter></paramdef>
@@ -1667,6 +1671,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_decommit_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr</parameter></paramdef>
<paramdef>size_t <parameter>size</parameter></paramdef>
<paramdef>size_t <parameter>offset</parameter></paramdef>
@@ -1688,6 +1693,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_purge_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr</parameter></paramdef>
<paramdef>size_t<parameter>size</parameter></paramdef>
<paramdef>size_t <parameter>offset</parameter></paramdef>
@@ -1707,6 +1713,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_split_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr</parameter></paramdef>
<paramdef>size_t <parameter>size</parameter></paramdef>
<paramdef>size_t <parameter>size_a</parameter></paramdef>
@@ -1728,6 +1735,7 @@ typedef struct {
<funcsynopsis><funcprototype>
<funcdef>typedef bool <function>(extent_merge_t)</function></funcdef>
+ <paramdef>extent_hooks_t *<parameter>extent_hooks</parameter></paramdef>
<paramdef>void *<parameter>addr_a</parameter></paramdef>
<paramdef>size_t <parameter>size_a</parameter></paramdef>
<paramdef>void *<parameter>addr_b</parameter></paramdef>