From: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
To: Hajime Tazaki <thehajime@gmail.com>
Cc: linux-um@lists.infradead.org, ricarkol@google.com,
Liam.Howlett@oracle.com, vbabka@suse.cz, linux-mm@kvack.org,
Jann Horn <jannh@google.com>
Subject: Re: [RFC PATCH v2 00/13] nommu UML
Date: Fri, 22 Nov 2024 09:33:51 +0000 [thread overview]
Message-ID: <77ab71c7-3608-4636-a618-3044c2316a92@lucifer.local> (raw)
In-Reply-To: <cover.1731290567.git.thehajime@gmail.com>
+ VMA people, mm list
On Mon, Nov 11, 2024 at 03:27:00PM +0900, Hajime Tazaki wrote:
> This is a series of patches of nommu arch addition to UML. It would
> be nice to ask comments/opinions on this.
In general, while I appreciate your work and don't mean to be negative, we
in mm consistently have problems with nommu as it is a rarely-tested
more-or-less hack used for very few very old architectures and a constant
source of problems and maintenance overhead for us.
It also complicates mm code and time taken to develop new features.
So ideally we'd avoid doing anything that requires us maintain it going
forward unless the benefits really overwhelmingly outweigh the drawbacks.
There have been various murmourings about moving towards elimination of
nommu, obviously this would entirely prevent that.
Thanks, Lorenzo
>
> There are still several limitations/issues which we already found;
> here is the list of those issues.
>
> - prompt configured with /etc/profile is broken (variables are not
> expanded, ${HOSTNAME%%.*}:$PWD#)
> - there are no mechanism implemented to cache for mapped memory of
> exec(2) thus, always read files from filesystem upon every exec,
> which makes slow on some benchmark (lmbench).
>
> -- Hajime
>
>
> RFC v2:
> - base branch is now uml/linux.git instead of torvalds/linux.git.
> - reorganize the patch series to clean up
> - fixed various coding styles issues
> - clean up exec code path [07/13]
> - fixed the crash/SIGSEGV case on userspace programs [10/13]
> - add seccomp filter to limit syscall caller address [06/13]
> - detect fsgsbase availability with sigsetjmp/siglongjmp [08/13]
> - removes unrelated changes
> - removes unneeded ifndef CONFIG_MMU
> - convert UML_CONFIG_MMU to CONFIG_MMU as using uml/linux.git
> - proposed a patch of maple-tree issue (resolving a limitation in RFC v1)
> https://lore.kernel.org/linux-mm/20241108222834.3625217-1-thehajime@gmail.com/
>
> RFC:
> - https://lore.kernel.org/linux-um/cover.1729770373.git.thehajime@gmail.com/
>
> Hajime Tazaki (13):
> fs: binfmt_elf_efpic: add architecture hook elf_arch_finalize_exec
> x86/um: nommu: elf loader for fdpic
> um: nommu: memory handling
> x86/um: nommu: syscall handling
> x86/um: nommu: syscall translation by zpoline
> um: nommu: prevent host syscalls from userspace by seccomp filter
> x86/um: nommu: process/thread handling
> um: nommu: configure fs register on host syscall invocation
> x86/um/vdso: nommu: vdso memory update
> x86/um: nommu: signal handling
> um: change machine name for uname output
> um: nommu: add documentation of nommu UML
> um: nommu: plug nommu code into build system
>
> Documentation/virt/uml/nommu-uml.rst | 221 +++++++++++++++++++++++
> arch/um/Kconfig | 14 +-
> arch/um/Makefile | 6 +
> arch/um/configs/x86_64_nommu_defconfig | 64 +++++++
> arch/um/include/asm/Kbuild | 1 +
> arch/um/include/asm/futex.h | 4 +
> arch/um/include/asm/mmu.h | 8 +
> arch/um/include/asm/mmu_context.h | 13 +-
> arch/um/include/asm/ptrace-generic.h | 6 +
> arch/um/include/asm/tlbflush.h | 22 +++
> arch/um/include/asm/uaccess.h | 7 +-
> arch/um/include/shared/kern_util.h | 3 +
> arch/um/include/shared/os.h | 14 ++
> arch/um/kernel/Makefile | 3 +-
> arch/um/kernel/mem.c | 12 +-
> arch/um/kernel/physmem.c | 6 +
> arch/um/kernel/process.c | 33 +++-
> arch/um/kernel/skas/Makefile | 4 +-
> arch/um/kernel/trap.c | 14 ++
> arch/um/kernel/um_arch.c | 4 +
> arch/um/os-Linux/Makefile | 5 +-
> arch/um/os-Linux/cpu.c | 50 ++++++
> arch/um/os-Linux/internal.h | 5 +
> arch/um/os-Linux/main.c | 5 +
> arch/um/os-Linux/process.c | 94 +++++++++-
> arch/um/os-Linux/signal.c | 18 +-
> arch/um/os-Linux/skas/process.c | 4 +
> arch/um/os-Linux/start_up.c | 3 +
> arch/um/os-Linux/util.c | 3 +-
> arch/x86/um/Makefile | 18 ++
> arch/x86/um/asm/elf.h | 11 +-
> arch/x86/um/asm/module.h | 24 ---
> arch/x86/um/asm/processor.h | 12 ++
> arch/x86/um/do_syscall_64.c | 108 ++++++++++++
> arch/x86/um/entry_64.S | 108 ++++++++++++
> arch/x86/um/shared/sysdep/syscalls_64.h | 6 +
> arch/x86/um/signal.c | 37 +++-
> arch/x86/um/syscalls_64.c | 69 ++++++++
> arch/x86/um/vdso/um_vdso.c | 20 +++
> arch/x86/um/vdso/vma.c | 14 ++
> arch/x86/um/zpoline.c | 223 ++++++++++++++++++++++++
> fs/Kconfig.binfmt | 2 +-
> fs/binfmt_elf_fdpic.c | 10 ++
> 43 files changed, 1262 insertions(+), 46 deletions(-)
> create mode 100644 Documentation/virt/uml/nommu-uml.rst
> create mode 100644 arch/um/configs/x86_64_nommu_defconfig
> create mode 100644 arch/um/os-Linux/cpu.c
> delete mode 100644 arch/x86/um/asm/module.h
> create mode 100644 arch/x86/um/do_syscall_64.c
> create mode 100644 arch/x86/um/entry_64.S
> create mode 100644 arch/x86/um/zpoline.c
>
> --
> 2.43.0
>
>
next prev parent reply other threads:[~2024-11-22 9:34 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1729770373.git.thehajime@gmail.com>
2024-10-24 12:09 ` [RFC PATCH 01/13] fs: binfmt_elf_efpic: add architecture hook elf_arch_finalize_exec Hajime Tazaki
2024-10-24 12:09 ` [RFC PATCH 02/13] x86/um: nommu: elf loader for fdpic Hajime Tazaki
2024-10-25 8:56 ` Johannes Berg
2024-10-25 12:54 ` Hajime Tazaki
[not found] ` <cover.1731290567.git.thehajime@gmail.com>
2024-11-11 6:27 ` [RFC PATCH v2 01/13] fs: binfmt_elf_efpic: add architecture hook elf_arch_finalize_exec Hajime Tazaki
2024-11-11 6:27 ` [RFC PATCH v2 02/13] x86/um: nommu: elf loader for fdpic Hajime Tazaki
2024-11-12 12:48 ` Geert Uytterhoeven
2024-11-12 22:07 ` Hajime Tazaki
2024-11-13 8:19 ` Geert Uytterhoeven
2024-11-13 8:36 ` Johannes Berg
2024-11-13 8:36 ` Johannes Berg
2024-11-13 10:27 ` Geert Uytterhoeven
2024-11-13 13:17 ` Hajime Tazaki
2024-11-13 13:55 ` Geert Uytterhoeven
2024-11-13 23:32 ` Hajime Tazaki
2024-11-14 1:40 ` Greg Ungerer
2024-11-14 10:41 ` Hajime Tazaki
2024-11-22 9:33 ` Lorenzo Stoakes [this message]
2024-11-22 9:53 ` [RFC PATCH v2 00/13] nommu UML Johannes Berg
2024-11-22 10:29 ` Lorenzo Stoakes
2024-11-22 12:18 ` Christoph Hellwig
2024-11-22 12:25 ` Lorenzo Stoakes
2024-11-22 12:38 ` Christoph Hellwig
2024-11-22 12:49 ` Damien Le Moal
2024-11-22 12:52 ` Lorenzo Stoakes
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=77ab71c7-3608-4636-a618-3044c2316a92@lucifer.local \
--to=lorenzo.stoakes@oracle.com \
--cc=Liam.Howlett@oracle.com \
--cc=jannh@google.com \
--cc=linux-mm@kvack.org \
--cc=linux-um@lists.infradead.org \
--cc=ricarkol@google.com \
--cc=thehajime@gmail.com \
--cc=vbabka@suse.cz \
/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