All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/9] simplified UML/NOMMU approach
@ 2026-07-20 18:26 Johannes Berg
  2026-07-20 18:26 ` [RFC PATCH 1/9] x86/um: nommu: elf loader for fdpic Johannes Berg
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Johannes Berg @ 2026-07-20 18:26 UTC (permalink / raw)
  To: linux-um; +Cc: Hajime Tazaki

Hi,

After Hajime's talk at netdevconf 0x1A I was this time really
tempted into implementing an approach to NOMMU UML that I'd
thought about quite a while ago, and here's the resulting
code. I had prototyped some of this with LLM help, but now
have pretty much reworked most of it (except boilerplate).

Instead of using a wholly new architectural interface, new
process/thread handling, new seccomp machinery etc. this
just reuses all the existing infrastructure (we're not in
fact trying to run UML on nommu, but run _as_ nommu), but
makes runner processes for each CPU instead of each userspace
MM (as it would be on MMU).

This eventually results in a far simpler implementation that
doesn't have all the complexity of the syscall handling yet
again.

It's also more capable:
 - continues working with ptrace
 - doesn't require disabling SMP
   (just has a runner per CPU)
 - should work on 32-bit (untested)
 - keeps physmem FD, which in theory should allow virtio
   PCI devices, but PCI doesn't build on !MMU right now

However, it does go in an entirely different direction
and while it doesn't entirely close off all things for
optimisations wrt. syscall speed that the much older
versions of the NOMMU patchset did, it does create the
infrastructure in a way that doesn't make that easier.

Personally, I think the only real use case for this
whole thing is NOMMU testing (which was requested), and
we don't really need everything else.

Note: the futex thing seems odd. I mirrored the existing
implementation, but I think it's just wrong. There's a
FIXME in the code for now.

It does boot ghcr.io/thehajime/alpine:3.20.3-um-nommu
as was documented before.

johannes



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

end of thread, other threads:[~2026-07-22 12:45 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-20 18:26 [RFC PATCH 0/9] simplified UML/NOMMU approach Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 1/9] x86/um: nommu: elf loader for fdpic Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 2/9] um: decouple MMU specific code from the common part Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 3/9] um: nommu: memory handling Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 4/9] um: change machine name for uname output Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 5/9] x86/um/vdso: nommu: vdso memory update Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 6/9] um: further decouple MMU related code Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 7/9] um: nommu: add SMP futex operations Johannes Berg
2026-07-20 19:06   ` Johannes Berg
2026-07-20 19:10     ` Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 8/9] um: nommu: add userspace runner processes Johannes Berg
2026-07-22  1:30   ` Hajime Tazaki
2026-07-22 12:44     ` Johannes Berg
2026-07-20 18:26 ` [RFC PATCH 9/9] um: nommu: plug nommu code into build system Johannes Berg
2026-07-22  0:39 ` [RFC PATCH 0/9] simplified UML/NOMMU approach Hajime Tazaki
2026-07-22  7:46   ` Johannes Berg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.