Re: [PATCH] SUNRPC: Set tk_rpc_status when RPC_TASK_SIGNALLED is detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux