Re: [PATCH 3/4 v0.5] sched/umcg: RFC: implement UMCG syscalls

From: Peter Oskolkov
Date: Tue Sep 14 2021 - 12:51:44 EST


On Wed, Sep 8, 2021 at 6:40 PM Jann Horn <jannh@xxxxxxxxxx> wrote:

[...]

> I think umcg_idle_loop() should never be called from scheduler
> callbacks (meaning umcg_wq_worker_running()), only from UMCG syscalls.

I'm moving umcg_wq_worker_running() out of
core.c/sched_update_worker() and into
/kernel/entry/common.c/exit_to_user_mode_loop()
(and will rename the function appropriately).
It seems rescheduling/sleeping there is fine.

I'm not yet sure if this is all that is needed to deal with
UMCG_TF_PREEMPTED flag; but I don't expect to see
any locks held when the task truly returns to the userspace.

Maybe I'll need to set TIF_NOTIFY_RESUME in sched_update_worker()...

[...]