From: "J. Bruce Fields" <bfields@fieldses.org>
To: Olga Kornievskaia <aglo@umich.edu>
Cc: Chuck Lever III <chuck.lever@oracle.com>,
Bruce Fields <bfields@redhat.com>,
Timo Rothenpieler <timo@rothenpieler.org>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
Dai Ngo <dai.ngo@oracle.com>
Subject: Re: Spurious instability with NFSoRDMA under moderate load
Date: Thu, 12 Aug 2021 11:40:01 -0400 [thread overview]
Message-ID: <20210812154001.GB9536@fieldses.org> (raw)
In-Reply-To: <CAN-5tyGq=EE4PjSbKVyKLtmhhFF_o6D9uG1QNQ-ByVMp9q8LOw@mail.gmail.com>
On Wed, Aug 11, 2021 at 04:40:04PM -0400, Olga Kornievskaia wrote:
> On Wed, Aug 11, 2021 at 4:14 PM J. Bruce Fields <bfields@fieldses.org> wrote:
> >
> > On Wed, Aug 11, 2021 at 08:01:30PM +0000, Chuck Lever III wrote:
> > > Probably not just CB_RECALL, but agreed, there doesn't seem to
> > > be any mechanism that can re-drive callback operations when the
> > > backchannel is replaced.
> >
> > The nfsd4_queue_cb() in nfsd4_cb_release() should queue a work item
> > to run nfsd4_run_cb_work, which should set up another callback client if
> > necessary.
But I think the result is it'll look to see if there's another
connection available for callbacks, and give up immediately if not.
There's no logic to wait for the client to fix the problem.
> diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
> index 7325592b456e..ed0e76f7185c 100644
> --- a/fs/nfsd/nfs4callback.c
> +++ b/fs/nfsd/nfs4callback.c
> @@ -1191,6 +1191,7 @@ static void nfsd4_cb_done(struct rpc_task *task,
> void *calldata)
> case -ETIMEDOUT:
> case -EACCES:
> nfsd4_mark_cb_down(clp, task->tk_status);
> + cb->cb_need_restart = true;
> }
> break;
> default:
>
> Something like this should requeue and retry the callback?
I think we'd need more than just that.
--b.
next prev parent reply other threads:[~2021-08-12 15:40 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-16 17:29 Spurious instability with NFSoRDMA under moderate load Timo Rothenpieler
2021-05-17 16:27 ` Chuck Lever III
2021-05-17 17:37 ` Timo Rothenpieler
2021-06-21 16:06 ` Timo Rothenpieler
2021-06-21 16:28 ` Chuck Lever III
2021-08-10 12:49 ` Timo Rothenpieler
[not found] ` <a28b403e-42cf-3189-a4db-86d20da1b7aa@rothenpieler.org>
2021-08-10 17:17 ` Chuck Lever III
2021-08-10 21:40 ` Timo Rothenpieler
[not found] ` <141fdf51-2aa1-6614-fe4e-96f168cbe6cf@rothenpieler.org>
2021-08-11 0:19 ` Chuck Lever III
[not found] ` <64F9A492-44B9-4057-ABA5-C8202828A8DD@oracle.com>
[not found] ` <1b8a24a9-5dba-3faf-8b0a-16e728a6051c@rothenpieler.org>
[not found] ` <5DD80ADC-0A4B-4D95-8CF7-29096439DE9D@oracle.com>
[not found] ` <0444ca5c-e8b6-1d80-d8a5-8469daa74970@rothenpieler.org>
[not found] ` <cc2f55cd-57d4-d7c3-ed83-8b81ea60d821@rothenpieler.org>
2021-08-11 17:30 ` Chuck Lever III
2021-08-11 18:38 ` Olga Kornievskaia
2021-08-11 18:51 ` Chuck Lever III
2021-08-11 19:46 ` Olga Kornievskaia
2021-08-11 20:01 ` Chuck Lever III
2021-08-11 20:14 ` J. Bruce Fields
2021-08-11 20:40 ` Olga Kornievskaia
2021-08-12 15:40 ` J. Bruce Fields [this message]
2021-08-11 20:51 ` J. Bruce Fields
2021-08-11 20:51 ` Olga Kornievskaia
2021-08-12 18:13 ` Timo Rothenpieler
2021-08-16 13:26 ` Chuck Lever III
2021-08-20 15:12 ` Chuck Lever III
2021-08-20 16:21 ` Timo Rothenpieler
[not found] ` <60273c2e-e946-25fb-68af-975f793e73d2@rothenpieler.org>
2021-10-29 15:14 ` Chuck Lever III
2021-10-29 18:17 ` Timo Rothenpieler
2021-10-29 19:06 ` Chuck Lever III
2021-08-17 21:08 ` Chuck Lever III
2021-08-17 21:51 ` Timo Rothenpieler
2021-08-17 22:55 ` dai.ngo
2021-08-17 23:05 ` dai.ngo
2021-08-18 16:55 ` Chuck Lever III
2021-08-18 0:03 ` Timo Rothenpieler
2021-05-19 15:20 ` Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210812154001.GB9536@fieldses.org \
--to=bfields@fieldses.org \
--cc=aglo@umich.edu \
--cc=bfields@redhat.com \
--cc=chuck.lever@oracle.com \
--cc=dai.ngo@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=timo@rothenpieler.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox