All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@kernel.org>
To: Anna Schumaker <anna.schumaker@oracle.com>
Cc: linux-nfs@vger.kernel.org, Jeff Layton <jlayton@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>,
	Anna Schumaker <anna@kernel.org>,
	Trond Myklebust <trondmy@hammerspace.com>,
	NeilBrown <neilb@suse.de>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v15 00/26] nfs/nfsd: add support for LOCALIO
Date: Wed, 11 Sep 2024 13:51:50 -0400	[thread overview]
Message-ID: <ZuHYtiL1PBr6fG3B@kernel.org> (raw)
In-Reply-To: <ZuDEJukUYv3yVSQM@kernel.org>

On Tue, Sep 10, 2024 at 06:11:50PM -0400, Mike Snitzer wrote:
> On Tue, Sep 10, 2024 at 04:31:23PM -0400, Anna Schumaker wrote:
> > Hi Mike,
> > 
> > On 9/10/24 3:14 PM, Mike Snitzer wrote:
> > > 
> > > In case it helps, I did just rebase LOCALIO (v16 + 1 fix) ontop of
> > > cel/nfsd-next (v6.11-rc6 based), and I've pushed the result here:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/snitzer/linux.git/log/?h=nfs-localio-for-next
> > 
> > I'm seeing the same hang on generic/525 with your latest branch.
> > 
> > Anna
> 
> Interesting, I just looked at ktest and it shows the regression point
> to be this commit:
>    nfs: implement client support for NFS_LOCALIO_PROGRAM
> 
> See:
> https://evilpiepirate.org/~testdashboard/ci?user=snitzer&branch=snitm-nfs-next&test=^fs.nfs.fstests.generic.525$
> 
> I think 525 has been like this for a while, really not sure why I
> ignored it... will dig deeper!

I haven't found/fixed this yet but when LOCALIO is used
xfs_file_buffered_read calls filemap_get_pages and filemap_get_pages
livelocks trying to complete.

Here is ftrace of LOCALIO's xfs_file_buffered_read immediately before
filemap_get_pages never returns (note that for debugging I reverted
the workqueue patch.. so the IO is issued in xfs_io context):

=> entry_SYSCALL_64_after_hwframe
          xfs_io-5609    [007] .....   211.831093: xfs_file_buffered_read: dev 8:16 ino 0x84 disize 0x7fffffffffffffff pos 0x7ffffffffffff000 bytecount 0x1000
          xfs_io-5609    [007] ...1.   211.831098: <stack trace>
 => trace_event_raw_event_xfs_file_class
 => xfs_file_buffered_read
 => xfs_file_read_iter
 => nfs_local_doio
 => nfs_initiate_pgio
 => nfs_generic_pg_pgios
 => nfs_pageio_doio
 => nfs_pageio_complete
 => nfs_pageio_complete_read
 => nfs_readahead
 => read_pages
 => page_cache_ra_unbounded
 => page_cache_sync_ra
 => filemap_get_pages
 => filemap_read
 => generic_file_read_iter
 => nfs_file_read
 => vfs_read
 => __x64_sys_pread64
 => x64_sys_call
 => do_syscall_64

Here is the same when testing only against XFS:

 => entry_SYSCALL_64_after_hwframe
          xfs_io-3451    [015] .....  1034.767416: xfs_file_buffered_read: dev 8:16 ino 0x84 disize 0x7fffffffffffffff pos 0x7ffffffffffffffe bytecount 0x1
          xfs_io-3451    [015] ...1.  1034.767418: <stack trace>
 => trace_event_raw_event_xfs_file_class
 => xfs_file_buffered_read
 => xfs_file_read_iter
 => vfs_read
 => __x64_sys_pread64
 => x64_sys_call
 => do_syscall_64

Will keep after this with urgency, just wanted to let you know what I
have found so far...

Thanks,
Mike

  reply	other threads:[~2024-09-11 17:51 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-31 22:37 [PATCH v15 00/26] nfs/nfsd: add support for LOCALIO Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 01/26] nfs_common: factor out nfs_errtbl and nfs_stat_to_errno Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 02/26] nfs_common: factor out nfs4_errtbl and nfs4_stat_to_errno Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 03/26] nfs: factor out {encode,decode}_opaque_fixed to nfs_xdr.h Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 04/26] NFSD: Handle @rqstp == NULL in check_nfsd_access() Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 05/26] NFSD: Refactor nfsd_setuser_and_check_port() Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 06/26] NFSD: Avoid using rqstp->rq_vers in nfsd_set_fh_dentry() Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 07/26] NFSD: Short-circuit fh_verify tracepoints for LOCALIO Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 08/26] nfsd: factor out __fh_verify to allow NULL rqstp to be passed Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 09/26] nfsd: add nfsd_file_acquire_local() Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 10/26] nfsd: add nfsd_serv_try_get and nfsd_serv_put Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 11/26] SUNRPC: remove call_allocate() BUG_ONs Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 12/26] SUNRPC: add svcauth_map_clnt_to_svc_cred_local Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 13/26] SUNRPC: replace program list with program array Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 14/26] nfs_common: add NFS LOCALIO auxiliary protocol enablement Mike Snitzer
2024-09-01 23:25   ` NeilBrown
2024-09-03 16:33     ` Mike Snitzer
2024-09-05 19:24   ` Anna Schumaker
2024-09-05 19:38     ` Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 15/26] nfs_common: prepare for the NFS client to use nfsd_file for LOCALIO Mike Snitzer
2024-09-01 23:37   ` NeilBrown
2024-08-31 22:37 ` [PATCH v15 16/26] nfsd: add LOCALIO support Mike Snitzer
2024-09-01 23:46   ` NeilBrown
2024-09-03 14:34   ` Chuck Lever
2024-09-03 14:40     ` Jeff Layton
2024-09-03 15:00       ` Mike Snitzer
2024-09-03 15:19         ` Jeff Layton
2024-09-03 15:29           ` Mike Snitzer
2024-09-03 15:59             ` Chuck Lever III
2024-09-03 16:09               ` Mike Snitzer
2024-09-03 17:07                 ` Chuck Lever III
2024-09-03 22:31               ` NeilBrown
2024-09-04  5:01                 ` NeilBrown
2024-09-04 13:47                   ` Chuck Lever
2024-09-05 14:21                     ` Mike Snitzer
2024-09-05 15:41                       ` Chuck Lever III
2024-09-05 23:34                       ` NeilBrown
2024-09-06 15:04                         ` Mike Snitzer
2024-09-06 18:07                           ` Mike Snitzer
2024-09-06 21:56                             ` NeilBrown
2024-09-06 22:33                               ` Chuck Lever III
2024-09-06 23:14                                 ` NeilBrown
2024-09-07 15:17                                   ` Mike Snitzer
2024-09-07 16:09                                     ` Chuck Lever III
2024-09-07 19:08                                       ` Mike Snitzer
2024-09-07 21:12                                         ` Chuck Lever III
2024-09-08 15:05                                           ` Chuck Lever III
2024-09-07 15:52                               ` Mike Snitzer
2024-09-04 13:54                   ` Jeff Layton
2024-09-04 13:56                     ` Chuck Lever III
2024-08-31 22:37 ` [PATCH v15 17/26] nfsd: implement server support for NFS_LOCALIO_PROGRAM Mike Snitzer
2024-09-03 14:11   ` Chuck Lever
2024-08-31 22:37 ` [PATCH v15 18/26] nfs: pass struct nfsd_file to nfs_init_pgio and nfs_init_commit Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 19/26] nfs: add LOCALIO support Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 20/26] nfs: enable localio for non-pNFS IO Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 21/26] pnfs/flexfiles: enable localio support Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 22/26] nfs/localio: use dedicated workqueues for filesystem read and write Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 23/26] nfs: implement client support for NFS_LOCALIO_PROGRAM Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 24/26] nfs: add Documentation/filesystems/nfs/localio.rst Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 25/26] nfs: add FAQ section to Documentation/filesystems/nfs/localio.rst Mike Snitzer
2024-08-31 22:37 ` [PATCH v15 26/26] nfs: add "NFS Client and Server Interlock" section to localio.rst Mike Snitzer
2024-09-01 23:52 ` [PATCH v15 00/26] nfs/nfsd: add support for LOCALIO NeilBrown
2024-09-03 14:49 ` Jeff Layton
2024-09-06 19:31 ` Anna Schumaker
2024-09-06 20:34   ` Mike Snitzer
2024-09-06 21:09     ` Chuck Lever III
2024-09-10 16:45     ` Mike Snitzer
2024-09-10 19:14       ` Mike Snitzer
2024-09-10 19:24         ` Anna Schumaker
2024-09-10 20:31         ` Anna Schumaker
2024-09-10 22:11           ` Mike Snitzer
2024-09-11 17:51             ` Mike Snitzer [this message]
2024-09-11 18:48               ` Mike Snitzer
2024-09-13 18:12                 ` Mike Snitzer
2024-09-11  0:43   ` NeilBrown
2024-09-11 16:03     ` Chuck Lever III
2024-09-12 23:31       ` NeilBrown
2024-09-12 23:42         ` Chuck Lever III
2024-09-13 12:27           ` Mike Snitzer

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=ZuHYtiL1PBr6fG3B@kernel.org \
    --to=snitzer@kernel.org \
    --cc=anna.schumaker@oracle.com \
    --cc=anna@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=trondmy@hammerspace.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.