qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-8.1? 00/24] linux-user: mmap range fixes
@ 2023-06-30 13:21 Richard Henderson
  2023-06-30 13:21 ` [PATCH 01/24] linux-user: Use assert in mmap_fork_start Richard Henderson
                   ` (23 more replies)
  0 siblings, 24 replies; 43+ messages in thread
From: Richard Henderson @ 2023-06-30 13:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: mjt, laurent

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



^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2023-07-03 16:03 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-30 13:21 [PATCH for-8.1? 00/24] linux-user: mmap range fixes Richard Henderson
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

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).