Messages in this thread | | | From | Peter Oskolkov <> | Date | Sun, 11 Jul 2021 09:35:22 -0700 | Subject | Re: [RFC PATCH 3/3 v0.2] sched/umcg: RFC: implement UMCG syscalls |
| |
On Thu, Jul 8, 2021 at 12:46 PM Peter Oskolkov <posk@posk.io> wrote: [...]
> Pretty much everything works, with one issue: when a worker > blocks, we need to wake its server in umcg_wq_worker_sleeping > called from sched_submit_work within preempt_disable block. > As the server_tid is set by the userspace, it can point to > a running/spinning task, and so wake_server will hang waiting > for ttwu() to succeed. I do not think this is appropriate, > but I am not sure at the moment how to resolve this. Any sugestions?
[...]
I think I can solve this by carefully ordering state changes (both umcg state and task state) and maybe sending a signal to the wakee if not enough. I'll try this approach in v0.3.
| |