Re: [axboe-block:for-next] [block] 1122c0c1cc: aim7.jobs-per-min 22.6% improvement

2024-06-26 Thread Christoph Hellwig
On Thu, Jun 27, 2024 at 10:35:38AM +0800, Oliver Sang wrote: > > I failed to apply patch in your previous reply to 1122c0c1cc or current tip > of axboe-block/for-next: > c1440ed442a58 (axboe-block/for-next) Merge branch 'for-6.11/block' into > for-next That already includes it. > > but it's ok

Re: [axboe-block:for-next] [block] 1122c0c1cc: aim7.jobs-per-min 22.6% improvement

2024-06-26 Thread Oliver Sang
hi, Christoph Hellwig, On Tue, Jun 25, 2024 at 08:39:50PM -0700, Christoph Hellwig wrote: > On Wed, Jun 26, 2024 at 10:10:49AM +0800, Oliver Sang wrote: > > I'm not sure I understand this test request. as in title, we see a good > > improvement of aim7 for 1122c0c1cc, and we didn't observe other i

[PATCH v6 7/7] um: Add 4 level page table support

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg The larger memory space is useful to support more applications inside UML. One example for this is ASAN instrumentation of userspace applications which requires addresses that would otherwise not be available. Signed-off-by: Benjamin Berg --- v2: - Do not hide option behin

[PATCH v6 0/7] Increased address space for 64 bit

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg The new version of the patchset uses execveat on a memfd instead of cloning twice to disable rseq. This should be much more robust going forward as it will also avoid issues with other new features like mseal. This patchset fixes a few bugs, adds a new method of discovering t

[PATCH v6 6/7] um: Discover host_task_size from envp

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg When loading the UML binary, the host kernel will place the stack at the highest possible address. It will then map the program name and environment variables onto the start of the stack. As such, an easy way to figure out the host_task_size is to use the highest pointer to a

[PATCH v6 4/7] um: Fix stub_start address calculation

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg The calculation was wrong as it only subtracted one and then rounded down for alignment. However, this is incorrect if host_task_size is not already aligned. This probably worked fine because on 64 bit the host_task_size is bigger than returned by os_get_top_address. Signed-

[PATCH v6 5/7] um: Limit TASK_SIZE to the addressable range

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg We may have a TASK_SIZE from the host that is bigger than UML is able to address with a three-level pagetable. Guard against that by clipping the maximum TASK_SIZE to the maximum addressable area. Signed-off-by: Benjamin Berg --- arch/um/kernel/um_arch.c | 7 ++- 1 file

[PATCH v6 3/7] um: use execveat to create userspace MMs

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg Using clone will not undo features that have been enabled by libc. An example of this already happening is rseq, which could cause the kernel to read/write memory of the userspace process. In the future the standard library might also use mseal by default to protect itself, wh

[PATCH v6 1/7] um: Add generic stub_syscall6 function

2024-06-26 Thread Benjamin Berg
This function will be used by the new static stub binary. Signed-off-by: Benjamin Berg --- arch/x86/um/shared/sysdep/stub_32.h | 22 ++ arch/x86/um/shared/sysdep/stub_64.h | 16 2 files changed, 38 insertions(+) diff --git a/arch/x86/um/shared/sysdep/stub_32

[PATCH v6 2/7] um: Add generic stub_syscall1 function

2024-06-26 Thread Benjamin Berg
From: Benjamin Berg The 64bit version did not have a stub_syscall1 function yet. Add it as it will be useful to implement a static binary for stub loading. Signed-off-by: Benjamin Berg --- arch/x86/um/shared/sysdep/stub_64.h | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch