On Mon, Apr 04, 2016 at 08:27:59PM +0200, Vojtech Pavlik wrote: > On Mon, Apr 04, 2016 at 01:21:38PM -0500, Josh Poimboeuf wrote: > > > Hm, can you explain why it should be copied from the parent? > > > > I'm thinking the above code is correct for today, but it should still be > > changed to be more future-proof. > > > > Here's my thinking: > > > > A forked task starts out with no stack, so if I understand correctly, it > > can safely start out in the goal universe, regardless of which universe > > its parent belongs to. > > > > However, the current ret_from_fork code is a mess, and Andy Lutomirski > > has mentioned that he would like to give newly forked tasks a proper > > stack such that instead of jumping to ret_from_fork, they would just > > return from schedule(). In that case, it would no longer be safe to > > start the new task in the goal universe because it could be "sleeping" > > on a to-be-patched function. > > > > So for proper future proofing, newly forked tasks should be started in > > the initial universe (rather than starting in the goal universe or > > inheriting the parent's universe). They can then be transitioned over > > to the goal universe like any other task. How does that sound? > > How could a newly forked task start in the old universe if its parent > has already been migrated? Any context it inherits will already be from > the new universe. Can you be more specific about "context" and why inheritance of it would be a problem? -- Josh -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html