[PATCH v5] um: Enable preemption in UML

Johannes Berg johannes at sipsolutions.net
Fri Sep 22 01:41:42 PDT 2023


> 
> Yes, but when does the fork actually happen?
> 

Looking further at this, now I'm confused as to why it doesn't happen
_all_ the time.

I think this has pretty much always been wrong, just now we actually
notice it?

Basically, when we create a new thread (really just mm I think), we say
the first thing that has to run there is fork_handler(), which
initialises things the first time around. This calls force_flush_all()

But of course it's called from __schedule(), which has
preemption/interrupts disabled. So you can't do mmap_read_lock()?

But I'm confused as to why it doesn't seem happen all the time?

johannes



More information about the linux-um mailing list