All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduard Zingerman <eddyz87@gmail.com>
To: David Howells <dhowells@redhat.com>
Cc: Manu Bretelle <chantr4@gmail.com>,
	asmadeus@codewreck.org,  ceph-devel@vger.kernel.org,
	christian@brauner.io, ericvh@kernel.org,
	 hsiangkao@linux.alibaba.com, idryomov@gmail.com,
	jlayton@kernel.org,  linux-afs@lists.infradead.org,
	linux-cifs@vger.kernel.org,  linux-erofs@lists.ozlabs.org,
	linux-fsdevel@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, linux-nfs@vger.kernel.org,
	 marc.dionne@auristor.com, netdev@vger.kernel.org,
	netfs@lists.linux.dev,  pc@manguebit.com, smfrench@gmail.com,
	sprasad@microsoft.com, tom@talpey.com,  v9fs@lists.linux.dev,
	willy@infradead.org
Subject: Re: [PATCH v2 19/25] netfs: Speed up buffered reading
Date: Fri, 27 Sep 2024 16:22:01 -0700	[thread overview]
Message-ID: <d87e3b4dfd4624d182d3d23992eacb7b9ffeff90.camel@gmail.com> (raw)
In-Reply-To: <2668612.1727471502@warthog.procyon.org.uk>

On Fri, 2024-09-27 at 22:11 +0100, David Howells wrote:

[...]

> If you look here:
> 
> 	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-fixes
> 
> you can see some patches I've added.  If you can try this branch or cherry
> pick:
> 
> 	netfs: Fix write oops in generic/346 (9p) and generic/074 (cifs)
> 	netfs: Advance iterator correctly rather than jumping it
> 	netfs: Use a folio_queue allocation and free functions
> 	netfs: Add a tracepoint to log the lifespan of folio_queue structs

I used your branch netfs-fixes, namely at the following commit:
8e18fe180b0a ("netfs: Abstract out a rolling folio buffer implementation")

> And then turn on the following "netfs" tracepoints:
> 
> 	read,sreq,rreq,failure,write,write_iter,folio,folioq,progress,donate
>

System can't boot, so I used the following kernel command line:
... trace_event=:netfs_read,:netfs_sreq,:netfs_rreq,:netfs_failure,:netfs_write,:netfs_write_iter,:netfs_folio,:netfs_folioq,:netfs_progress,:netfs_donate

No warnings like "Failed to enable trace event ...", so I assume it worked
as expected.

A fresh dmesg is here:
https://gist.github.com/eddyz87/e8f4780d833675a7e58854596394a70f

Don't see any tracepoint output there, so something is probably missing.

> > Alternatively I can pack this thing in a dockerfile, so that you would
> > be able to reproduce locally (but that would have to wait till my evening).
> 
> I don't have Docker set up, so I'm not sure how easy that would be for me to
> use.

What's your preferred setup for the repro?


WARNING: multiple messages have this Message-ID (diff)
From: Eduard Zingerman <eddyz87@gmail.com>
To: David Howells <dhowells@redhat.com>
Cc: asmadeus@codewreck.org, linux-mm@kvack.org,
	marc.dionne@auristor.com, linux-afs@lists.infradead.org,
	pc@manguebit.com, linux-cifs@vger.kernel.org,
	Manu Bretelle <chantr4@gmail.com>,
	willy@infradead.org, smfrench@gmail.com,
	hsiangkao@linux.alibaba.com, idryomov@gmail.com,
	sprasad@microsoft.com, tom@talpey.com,
	ceph-devel@vger.kernel.org, ericvh@kernel.org,
	christian@brauner.io, linux-nfs@vger.kernel.org,
	netdev@vger.kernel.org, v9fs@lists.linux.dev, jlayton@kernel.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	netfs@lists.linux.dev, linux-erofs@lists.ozlabs.org
Subject: Re: [PATCH v2 19/25] netfs: Speed up buffered reading
Date: Fri, 27 Sep 2024 16:22:01 -0700	[thread overview]
Message-ID: <d87e3b4dfd4624d182d3d23992eacb7b9ffeff90.camel@gmail.com> (raw)
In-Reply-To: <2668612.1727471502@warthog.procyon.org.uk>

On Fri, 2024-09-27 at 22:11 +0100, David Howells wrote:

[...]

> If you look here:
> 
> 	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-fixes
> 
> you can see some patches I've added.  If you can try this branch or cherry
> pick:
> 
> 	netfs: Fix write oops in generic/346 (9p) and generic/074 (cifs)
> 	netfs: Advance iterator correctly rather than jumping it
> 	netfs: Use a folio_queue allocation and free functions
> 	netfs: Add a tracepoint to log the lifespan of folio_queue structs

I used your branch netfs-fixes, namely at the following commit:
8e18fe180b0a ("netfs: Abstract out a rolling folio buffer implementation")

> And then turn on the following "netfs" tracepoints:
> 
> 	read,sreq,rreq,failure,write,write_iter,folio,folioq,progress,donate
>

System can't boot, so I used the following kernel command line:
... trace_event=:netfs_read,:netfs_sreq,:netfs_rreq,:netfs_failure,:netfs_write,:netfs_write_iter,:netfs_folio,:netfs_folioq,:netfs_progress,:netfs_donate

No warnings like "Failed to enable trace event ...", so I assume it worked
as expected.

A fresh dmesg is here:
https://gist.github.com/eddyz87/e8f4780d833675a7e58854596394a70f

Don't see any tracepoint output there, so something is probably missing.

> > Alternatively I can pack this thing in a dockerfile, so that you would
> > be able to reproduce locally (but that would have to wait till my evening).
> 
> I don't have Docker set up, so I'm not sure how easy that would be for me to
> use.

What's your preferred setup for the repro?


  reply	other threads:[~2024-09-27 23:22 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-14 20:38 [PATCH v2 00/25] netfs: Read/write improvements David Howells
2024-08-14 20:38 ` David Howells
2024-08-14 20:38 ` [PATCH v2 01/25] netfs, ceph: Partially revert "netfs: Replace PG_fscache by setting folio->private and marking dirty" David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 02/25] cachefiles: Fix non-taking of sb_writers around set/removexattr David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 03/25] netfs: Adjust labels in /proc/fs/netfs/stats David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 04/25] netfs: Record contention stats for writeback lock David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 05/25] netfs: Reduce number of conditional branches in netfs_perform_write() David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 06/25] netfs, cifs: Move CIFS_INO_MODIFIED_ATTR to netfs_inode David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 07/25] netfs: Move max_len/max_nr_segs from netfs_io_subrequest to netfs_io_stream David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 08/25] netfs: Reserve netfs_sreq_source 0 as unset/unknown David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 09/25] netfs: Remove NETFS_COPY_TO_CACHE David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 10/25] netfs: Set the request work function upon allocation David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 11/25] netfs: Use bh-disabling spinlocks for rreq->lock David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 12/25] mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 13/25] iov_iter: Provide copy_folio_from_iter() David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 14/25] cifs: Provide the capability to extract from ITER_FOLIOQ to RDMA SGEs David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 15/25] netfs: Use new folio_queue data type and iterator instead of xarray iter David Howells
2024-08-14 20:38   ` David Howells
2024-09-24  9:48   ` Leon Romanovsky
2024-09-24  9:48     ` Leon Romanovsky via Linux-erofs
2024-08-14 20:38 ` [PATCH v2 16/25] netfs: Provide an iterator-reset function David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 17/25] netfs: Simplify the writeback code David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 18/25] afs: Make read subreqs async David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 19/25] netfs: Speed up buffered reading David Howells
2024-08-14 20:38   ` David Howells
2024-08-16 11:12   ` Simon Horman
2024-08-16 11:12     ` Simon Horman
2024-09-23 18:34   ` Manu Bretelle
2024-09-23 18:34     ` Manu Bretelle
2024-09-23 18:43     ` Eduard Zingerman
2024-09-23 18:43       ` Eduard Zingerman
2024-09-23 21:56       ` Eduard Zingerman
2024-09-23 21:56         ` Eduard Zingerman
2024-09-23 22:33         ` David Howells
2024-09-23 22:33           ` David Howells
2024-09-23 23:37           ` Eduard Zingerman
2024-09-23 23:37             ` Eduard Zingerman
2024-09-23 19:38     ` David Howells
2024-09-23 19:38       ` David Howells
2024-09-23 20:20       ` Manu Bretelle
2024-09-23 20:20         ` Manu Bretelle
2024-09-24 23:20     ` David Howells
2024-09-24 23:20       ` David Howells
2024-09-25  0:01       ` Eduard Zingerman
2024-09-25  0:01         ` Eduard Zingerman
2024-09-25 10:31         ` Leon Romanovsky
2024-09-25 10:31           ` Leon Romanovsky via Linux-erofs
2024-09-29  9:12           ` David Howells
2024-09-29  9:12             ` David Howells
2024-09-29  9:37             ` Eduard Zingerman
2024-09-29  9:37               ` Eduard Zingerman
2024-09-29 18:55               ` Leon Romanovsky
2024-09-29 18:55                 ` Leon Romanovsky via Linux-erofs
2024-09-30 12:44           ` David Howells
2024-09-30 12:44             ` David Howells
2024-09-30 12:51             ` David Howells
2024-09-30 12:51               ` David Howells
2024-09-30 16:46               ` Eduard Zingerman
2024-09-30 16:46                 ` Eduard Zingerman
2024-09-30 18:35                 ` David Howells
2024-09-30 18:35                   ` David Howells
2024-09-30 19:00                   ` Omar Sandoval
2024-09-30 19:00                     ` Omar Sandoval
2024-09-27 20:50     ` David Howells
2024-09-27 20:50       ` David Howells
2024-09-27 20:55       ` Eduard Zingerman
2024-09-27 20:55         ` Eduard Zingerman
2024-09-27 21:11         ` David Howells
2024-09-27 21:11           ` David Howells
2024-09-27 23:22           ` Eduard Zingerman [this message]
2024-09-27 23:22             ` Eduard Zingerman
2024-08-14 20:38 ` [PATCH v2 20/25] netfs: Remove fs/netfs/io.c David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 21/25] cachefiles, netfs: Fix write to partial block at EOF David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 22/25] netfs: Cancel dirty folios that have no storage destination David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 23/25] cifs: Use iterate_and_advance*() routines directly for hashing David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 24/25] cifs: Switch crypto buffer to use a folio_queue rather than an xarray David Howells
2024-08-14 20:38   ` David Howells
2024-08-14 20:38 ` [PATCH v2 25/25] cifs: Don't support ITER_XARRAY David Howells
2024-08-14 20:38   ` David Howells
2024-08-15 13:07 ` [PATCH v2 00/25] netfs: Read/write improvements Christian Brauner
2024-08-15 13:07   ` Christian Brauner

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=d87e3b4dfd4624d182d3d23992eacb7b9ffeff90.camel@gmail.com \
    --to=eddyz87@gmail.com \
    --cc=asmadeus@codewreck.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=chantr4@gmail.com \
    --cc=christian@brauner.io \
    --cc=dhowells@redhat.com \
    --cc=ericvh@kernel.org \
    --cc=hsiangkao@linux.alibaba.com \
    --cc=idryomov@gmail.com \
    --cc=jlayton@kernel.org \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=marc.dionne@auristor.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfs@lists.linux.dev \
    --cc=pc@manguebit.com \
    --cc=smfrench@gmail.com \
    --cc=sprasad@microsoft.com \
    --cc=tom@talpey.com \
    --cc=v9fs@lists.linux.dev \
    --cc=willy@infradead.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 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.