From: Chuck Lever III <chuck.lever@oracle.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Jens Axboe <axboe@kernel.dk>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
Chuck Lever <cel@kernel.org>
Subject: Re: NFS workload leaves nfsd threads in D state
Date: Mon, 10 Jul 2023 14:06:16 +0000 [thread overview]
Message-ID: <3F16A14B-F854-41CC-A3CA-87C7946FC277@oracle.com> (raw)
In-Reply-To: <20230710075634.GA30120@lst.de>
> On Jul 10, 2023, at 3:56 AM, Christoph Hellwig <hch@lst.de> wrote:
>
> On Sat, Jul 08, 2023 at 06:30:26PM +0000, Chuck Lever III wrote:
>> Hi -
>>
>> I have a "standard" test of running the git regression suite with
>> many threads against an NFS mount. I found that with 6.5-rc, the
>> test stalled and several nfsd threads on the server were stuck
>> in D state.
>
> Can you paste the exact reproducer here?
It's a twisty little maze of scripts, but it does essentially this:
1. export a test filesystem on system B
2. mount that export on system A via NFS (I think I used NFSv4.1)
3. download the latest git tarball on system A
4. unpack the tarball on the test NFS mount on system A. umount / mount
5. "make -jN all docs" on system A, where N is nprocs. umount / mount
6. "make -jN test" on system A, where N is as in step 5.
(For "make test" to work, the mounted on dir on system A has to be
exactly the same for all steps).
My system A has 12 cores, and B has 4, fwiw. The network fabric
is InfiniBand, but I suspect that won't make much difference.
During step 6, the tests will slow down and then stop cold.
After another two minutes, on system B you'll start to see the
INFO splats about hung processes.
As an interesting side note, I have a btrfs filesystem on that same
mapper group and physical device. I'm not able to reproduce the problem
on that filesystem.
>> I can reproduce this stall 100% with both an xfs and an ext4
>> export, so I bisected with both, and both bisects landed on the
>> same commit:
>
>> On system 1: the exports are on top of /dev/mapper and reside on
>> an "INTEL SSDSC2BA400G3" SATA device.
>>
>> On system 2: the exports are on top of /dev/mapper and reside on
>> an "INTEL SSDSC2KB240G8" SATA device.
>>
>> System 1 was where I discovered the stall. System 2 is where I ran
>> the bisects.
>
> Ok. I'd be curious if this reproducers without either device mapper
> or on a non-SATA device. If you have an easy way to run it in a VM
> that'd be great. Otherwise I'll try to recreate it in various
> setups if you post the exact reproducer.
I have a way to test it on an xfs export backed by a pair of AIC
NVMe devices. Stand by.
--
Chuck Lever
next prev parent reply other threads:[~2023-07-10 14:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-08 18:30 NFS workload leaves nfsd threads in D state Chuck Lever III
2023-07-09 6:58 ` Linux regression tracking (Thorsten Leemhuis)
2023-07-10 7:56 ` Christoph Hellwig
2023-07-10 14:06 ` Chuck Lever III [this message]
2023-07-10 15:10 ` Chuck Lever III
2023-07-10 15:18 ` Christoph Hellwig
2023-07-10 17:28 ` Christoph Hellwig
2023-07-10 17:40 ` Chuck Lever III
2023-07-11 12:01 ` Christoph Hellwig
2023-07-12 11:34 ` Chengming Zhou
2023-07-12 13:29 ` Chuck Lever III
2023-07-25 9:57 ` Linux regression tracking (Thorsten Leemhuis)
2023-07-25 13:21 ` Chuck Lever III
2023-07-25 13:34 ` Linux regression tracking #update (Thorsten Leemhuis)
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=3F16A14B-F854-41CC-A3CA-87C7946FC277@oracle.com \
--to=chuck.lever@oracle.com \
--cc=axboe@kernel.dk \
--cc=cel@kernel.org \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-nfs@vger.kernel.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