[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <642413c4bdbe296db722f0091ffa5190c992eb8e.camel@hammerspace.com>
Date: Thu, 16 Jan 2025 20:52:36 +0000
From: Trond Myklebust <trondmy@...merspace.com>
To: "horms@...nel.org" <horms@...nel.org>, "davem@...emloft.net"
<davem@...emloft.net>, "chuck.lever@...cle.com" <chuck.lever@...cle.com>,
"pabeni@...hat.com" <pabeni@...hat.com>, "yangerkun@...wei.com"
<yangerkun@...wei.com>, "okorniev@...hat.com" <okorniev@...hat.com>,
"anna@...nel.org" <anna@...nel.org>, "lilingfeng3@...wei.com"
<lilingfeng3@...wei.com>, "Dai.Ngo@...cle.com" <Dai.Ngo@...cle.com>,
"jlayton@...nel.org" <jlayton@...nel.org>, "neilb@...e.de" <neilb@...e.de>,
"tom@...pey.com" <tom@...pey.com>, "edumazet@...gle.com"
<edumazet@...gle.com>, "kuba@...nel.org" <kuba@...nel.org>
CC: "lilingfeng@...weicloud.com" <lilingfeng@...weicloud.com>,
"houtao1@...wei.com" <houtao1@...wei.com>, "linux-nfs@...r.kernel.org"
<linux-nfs@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "yukuai1@...weicloud.com"
<yukuai1@...weicloud.com>, "yi.zhang@...wei.com" <yi.zhang@...wei.com>
Subject: Re: [PATCH] SUNRPC: Set tk_rpc_status when RPC_TASK_SIGNALLED is
detected
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@...merspace.com
Powered by blists - more mailing lists