Re: [PATCH 5/5 v0.6] sched/umcg: add Documentation/userspace-api/umcg.txt
flat view
From: Thierry Delisle <hidden>
Date: 2021-10-12 16:25:37
Also in:
lkml
Hi Thierry, sorry for the delayed reply - I'm finally going through the documentation patches in preparation for the upcoming next version patchset mail-out.
No problem.
The documentation here outlines what sys_umcg_wait does, and it does put the current task to sleep without context switching if next_tid is zero. The question of whether this behavior is or is not appropriate for a worker wishing to yield/park itself is at a "policy" level, if you wish, and this "policy" level is described in "state transitions" section later in the document. sys_umcg_wait() does not enforce this "policy" directly, in order to make it simpler and easier to describe and reason about.
Just to be clear, sys_umcg_wait supports an operation that, when called from a worker, puts the worker to sleep without triggering block detection or context-switching back to the server?
quoted
With that said, I'm a little confused by the usage of "yields" in that example. I would expect workers yielding to behave like kernel threads calling sched_yield(), i.e., context switch to the server but also be immediately added to the idle_workers_ptr.I'm not a fan of arguing about how to name things. If the maintainers ask me to rename wait/wake to park/unpark, I'll do that.
I understand the sentiment, and I'm perfectly happy with the use of wait/wake. I was exclusively referring to this one use of "yield" in the documentation.