From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: mjt@tls.msk.ru, laurent@vivier.eu
Subject: [PATCH for-8.1? 00/24] linux-user: mmap range fixes
Date: Fri, 30 Jun 2023 15:21:35 +0200 [thread overview]
Message-ID: <20230630132159.376995-1-richard.henderson@linaro.org> (raw)
Supercedes: 20230629080835.71371-1-richard.henderson@linaro.org
While the above should make its way back into 8.0.N, we can do better
than simply avoiding the last page for automatically placed pages.
After this patch set, nothing in linux-user/mmap.c uses "end".
In the process, this fixes a couple of inefficiencies, where we
were probing pages one by one instead of walking the interval tree.
This also passes MJT's hppa fenics-basix test case.
r~
Richard Henderson (24):
linux-user: Use assert in mmap_fork_start
linux-user: Fix formatting of mmap.c
linux-user/strace: Expand struct flags to hold a mask
linux-user: Split TARGET_MAP_* out of syscall_defs.h
linux-user: Split TARGET_PROT_* out of syscall_defs.h
linux-user: Populate more bits in mmap_flags_tbl
accel/tcg: Introduce page_check_range_empty
bsd-user: Use page_check_range_empty for MAP_EXCL
linux-user: Implement MAP_FIXED_NOREPLACE
linux-user: Split out target_to_host_prot
linux-user: Widen target_mmap offset argument to off_t
linux-user: Rewrite target_mprotect
linux-user: Rewrite mmap_frag
accel/tcg: Introduce page_find_range_empty
bsd-user: Use page_find_range_empty for mmap_find_vma_reserved
linux-user: Use page_find_range_empty for mmap_find_vma_reserved
linux-user: Use 'last' instead of 'end' in target_mmap
linux-user: Rewrite mmap_reserve
linux-user: Rename mmap_reserve to mmap_reserve_or_unmap
linux-user: Simplify target_munmap
accel/tcg: Accept more page flags in page_check_range
accel/tcg: Return bool from page_check_range
linux-user: Remove can_passthrough_madvise
linux-user: Simplify target_madvise
bsd-user/qemu.h | 2 +-
include/exec/cpu-all.h | 39 +-
linux-user/aarch64/target_mman.h | 3 +
linux-user/alpha/target_mman.h | 13 +
linux-user/generic/target_mman.h | 58 +++
linux-user/hppa/target_mman.h | 10 +
linux-user/mips/target_mman.h | 13 +
linux-user/mips64/target_mman.h | 2 +-
linux-user/ppc/target_mman.h | 3 +
linux-user/qemu.h | 2 +-
linux-user/sparc/target_mman.h | 4 +
linux-user/syscall_defs.h | 96 +----
linux-user/user-mmap.h | 2 +-
linux-user/xtensa/target_mman.h | 13 +
accel/tcg/user-exec.c | 72 +++-
bsd-user/mmap.c | 49 +--
linux-user/mmap.c | 702 ++++++++++++++++---------------
linux-user/strace.c | 61 +--
linux-user/syscall.c | 22 +-
target/hppa/op_helper.c | 2 +-
target/riscv/vector_helper.c | 2 +-
target/sparc/ldst_helper.c | 2 +-
accel/tcg/ldst_atomicity.c.inc | 4 +-
23 files changed, 638 insertions(+), 538 deletions(-)
--
2.34.1
next reply other threads:[~2023-06-30 13:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-30 13:21 Richard Henderson [this message]
2023-06-30 13:21 ` [PATCH 01/24] linux-user: Use assert in mmap_fork_start Richard Henderson
2023-07-03 8:47 ` Alex Bennée
2023-07-03 15:56 ` Philippe Mathieu-Daudé
2023-06-30 13:21 ` [PATCH 02/24] linux-user: Fix formatting of mmap.c Richard Henderson
2023-07-03 8:48 ` Alex Bennée
2023-07-03 15:55 ` Philippe Mathieu-Daudé
2023-06-30 13:21 ` [PATCH 03/24] linux-user/strace: Expand struct flags to hold a mask Richard Henderson
2023-07-03 9:24 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 04/24] linux-user: Split TARGET_MAP_* out of syscall_defs.h Richard Henderson
2023-07-03 9:25 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 05/24] linux-user: Split TARGET_PROT_* " Richard Henderson
2023-07-03 9:32 ` Alex Bennée
2023-07-03 16:02 ` Philippe Mathieu-Daudé
2023-06-30 13:21 ` [PATCH 06/24] linux-user: Populate more bits in mmap_flags_tbl Richard Henderson
2023-07-03 9:42 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 07/24] accel/tcg: Introduce page_check_range_empty Richard Henderson
2023-07-03 9:45 ` Alex Bennée
2023-07-03 10:33 ` Richard Henderson
2023-07-03 11:36 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 08/24] bsd-user: Use page_check_range_empty for MAP_EXCL Richard Henderson
2023-06-30 18:46 ` Warner Losh
2023-06-30 19:40 ` Richard Henderson
2023-06-30 13:21 ` [PATCH 09/24] linux-user: Implement MAP_FIXED_NOREPLACE Richard Henderson
2023-07-03 9:51 ` Alex Bennée
2023-07-03 10:39 ` Richard Henderson
2023-06-30 13:21 ` [PATCH 10/24] linux-user: Split out target_to_host_prot Richard Henderson
2023-07-03 10:12 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 11/24] linux-user: Widen target_mmap offset argument to off_t Richard Henderson
2023-07-03 10:47 ` Alex Bennée
2023-06-30 13:21 ` [PATCH 12/24] linux-user: Rewrite target_mprotect Richard Henderson
2023-06-30 13:21 ` [PATCH 13/24] linux-user: Rewrite mmap_frag Richard Henderson
2023-06-30 13:21 ` [PATCH 14/24] accel/tcg: Introduce page_find_range_empty Richard Henderson
2023-06-30 13:21 ` [PATCH 15/24] bsd-user: Use page_find_range_empty for mmap_find_vma_reserved Richard Henderson
2023-06-30 13:21 ` [PATCH 16/24] linux-user: " Richard Henderson
2023-06-30 13:21 ` [PATCH 17/24] linux-user: Use 'last' instead of 'end' in target_mmap Richard Henderson
2023-06-30 13:21 ` [PATCH 18/24] linux-user: Rewrite mmap_reserve Richard Henderson
2023-06-30 13:21 ` [PATCH 19/24] linux-user: Rename mmap_reserve to mmap_reserve_or_unmap Richard Henderson
2023-06-30 13:21 ` [PATCH 20/24] linux-user: Simplify target_munmap Richard Henderson
2023-06-30 13:21 ` [PATCH 21/24] accel/tcg: Accept more page flags in page_check_range Richard Henderson
2023-06-30 13:21 ` [PATCH 22/24] accel/tcg: Return bool from page_check_range Richard Henderson
2023-06-30 13:21 ` [PATCH 23/24] linux-user: Remove can_passthrough_madvise Richard Henderson
2023-06-30 13:21 ` [PATCH 24/24] linux-user: Simplify target_madvise Richard Henderson
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=20230630132159.376995-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=laurent@vivier.eu \
--cc=mjt@tls.msk.ru \
--cc=qemu-devel@nongnu.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 NNTP newsgroup(s).