public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Szabolcs Nagy <szabolcs.nagy@arm.com>
To: libc-alpha@sourceware.org, DJ Delorie <dj@redhat.com>
Subject: [PATCH 0/6] malloc: more memory tagging optimizations
Date: Fri, 19 Mar 2021 13:25:45 +0000	[thread overview]
Message-ID: <cover.1616155129.git.szabolcs.nagy@arm.com> (raw)

Second set of refactoring patches on top of the previously posted
patches. The two sets together are in the nsz/mtag-2 branch.

The main changes are renaming CHUNK_AVAILABLE_SIZE and changing
chunk2mem to not get the tag at mem (so the returned pointer
is not suitable for dereference if mem is already tagged, but
that turns out to be rare).

Further changes considered but rejected:

- remove tag_at from mem2chunk too (mem is often known to be
  untagged, or we can assume the internal tag is 0 and turn
  tag_at into an unmask operations). this does not seem to have
  much performance effect on small allocations.

- don't try to use a new tag different from the old one in
  tag_new_usable since at most call sites the old one is just
  the internal one which is excluded already from tag generation,
  only realloc benefits from the current behaviour. this change
  would be a bit aarch64 specific (tag generation can exclude the
  internally used tag) and does not have much perf effect either.

Szabolcs Nagy (6):
  malloc: Use memsize instead of CHUNK_AVAILABLE_SIZE
  malloc: Use different tag after mremap
  malloc: Use chunk2rawmem throughout
  malloc: Rename chunk2rawmem
  malloc: Remove unnecessary tagging around _mid_memalign
  malloc: Ensure mtag code path in checked_request2size is cold

 malloc/hooks.c  |  13 +++--
 malloc/malloc.c | 126 +++++++++++++++++++++++++-----------------------
 2 files changed, 72 insertions(+), 67 deletions(-)

-- 
2.17.1


             reply	other threads:[~2021-03-19 13:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 13:25 Szabolcs Nagy [this message]
2021-03-19 13:26 ` [PATCH 1/6] malloc: Use memsize instead of CHUNK_AVAILABLE_SIZE Szabolcs Nagy
2021-03-23 20:01   ` DJ Delorie
2021-03-19 13:26 ` [PATCH 2/6] malloc: Use different tag after mremap Szabolcs Nagy
2021-03-23 20:03   ` DJ Delorie
2021-03-19 13:26 ` [PATCH 3/6] malloc: Use chunk2rawmem throughout Szabolcs Nagy
2021-03-23 20:25   ` DJ Delorie
2021-03-19 13:27 ` [PATCH 4/6] malloc: Rename chunk2rawmem Szabolcs Nagy
2021-03-23 20:43   ` DJ Delorie
2021-03-19 13:27 ` [PATCH 5/6] malloc: Remove unnecessary tagging around _mid_memalign Szabolcs Nagy
2021-03-23 20:44   ` DJ Delorie
2021-03-19 13:27 ` [PATCH 6/6] malloc: Ensure mtag code path in checked_request2size is cold Szabolcs Nagy
2021-03-23 20:46   ` DJ Delorie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1616155129.git.szabolcs.nagy@arm.com \
    --to=szabolcs.nagy@arm.com \
    --cc=dj@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).