Hi Peter,
Thanks a lot for the feedback!
在 2025/6/6 16:22, Peter Zijlstra 写道:
This isn't blocking fork(), this is failing fork(). Huge difference.The intent was to prevent late-created user tasks from interfering with
Also problematic, because -EBUSY is not a recognised return value of
fork(). As such, no existing software will adequately handle it.
I completely agree there's a significant difference between failing
and blocking fork().
the freezing process, but you're right: returning -EBUSY is not valid
for fork(), and existing user-space programs wouldn't expect or handle
that properly.
As a next step, I'm considering switching to a blocking mechanism
instead — that is, have user fork() temporarily sleep if it's attempted
during the freeze window. That should avoid breaking user-space
expectations while still helping maintain freeze stability.
Would that be more acceptable?