On Thu, 2025-01-16 at 19:43 +0800, yangerkun wrote: > Hi, > > Thanks for the patch. > > Before 39494194f93b("SUNRPC: Fix races with rpc_killall_tasks()", > every > time we set RPC_TASK_SIGNALLED, when we go through __rpc_execute, > this > rpc_task will immediate break and exist. > > However after that, __rpc_execute won't judge RPC_TASK_SIGNNALED, so > for > the case like you point out below, even after your commit > rpc_check_timeout will help break and exist eventually, but this > rpc_task has already do some work. I prefer reintroduce judging > RPC_TASK_SIGNNALED in __rpc_execute to help exist immediatly. > Better yet... Let's get rid of the RPC_TASK_SIGNALLED flag altogether and just replace #define RPC_TASK_SIGNALLED(task) (READ_ONCE(task->tk_rpc_status) == -ERESTARTSYS) There is no good reason to try to maintain two completely separate sources of truth to describe the same task state. -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx