Re: [GIT PULL] vfs netfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 13, 2024 at 06:56:36PM +0200, Christian Brauner wrote:
> Hey Linus,
> 
> /* Summary */
> 
> This contains the work to improve read/write performance for the new
> netfs library.
> 
> The main performance enhancing changes are:
> 
>     - Define a structure, struct folio_queue, and a new iterator type,
>       ITER_FOLIOQ, to hold a buffer as a replacement for ITER_XARRAY. See
>       that patch for questions about naming and form.
> 
>       ITER_FOLIOQ is provided as a replacement for ITER_XARRAY. The
>       problem with an xarray is that accessing it requires the use of a
>       lock (typically the RCU read lock) - and this means that we can't
>       supply iterate_and_advance() with a step function that might sleep
>       (crypto for example) without having to drop the lock between
>       pages. ITER_FOLIOQ is the iterator for a chain of folio_queue
>       structs, where each folio_queue holds a small list of folios. A
>       folio_queue struct is a simpler structure than xarray and is not
>       subject to concurrent manipulation by the VM. folio_queue is used
>       rather than a bvec[] as it can form lists of indefinite size,
>       adding to one end and removing from the other on the fly.

<...>

> David Howells (24):
>       cachefiles: Fix non-taking of sb_writers around set/removexattr
>       netfs: Adjust labels in /proc/fs/netfs/stats
>       netfs: Record contention stats for writeback lock
>       netfs: Reduce number of conditional branches in netfs_perform_write()
>       netfs, cifs: Move CIFS_INO_MODIFIED_ATTR to netfs_inode
>       netfs: Move max_len/max_nr_segs from netfs_io_subrequest to netfs_io_stream
>       netfs: Reserve netfs_sreq_source 0 as unset/unknown
>       netfs: Remove NETFS_COPY_TO_CACHE
>       netfs: Set the request work function upon allocation
>       netfs: Use bh-disabling spinlocks for rreq->lock
>       mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios
>       iov_iter: Provide copy_folio_from_iter()
>       cifs: Provide the capability to extract from ITER_FOLIOQ to RDMA SGEs
>       netfs: Use new folio_queue data type and iterator instead of xarray iter
>       netfs: Provide an iterator-reset function
>       netfs: Simplify the writeback code
>       afs: Make read subreqs async
>       netfs: Speed up buffered reading
>       netfs: Remove fs/netfs/io.c
>       cachefiles, netfs: Fix write to partial block at EOF
>       netfs: Cancel dirty folios that have no storage destination
>       cifs: Use iterate_and_advance*() routines directly for hashing
>       cifs: Switch crypto buffer to use a folio_queue rather than an xarray
>       cifs: Don't support ITER_XARRAY

Christian, David,

Do you have fixes for the following issues reported for series?
https://lore.kernel.org/all/20240923183432.1876750-1-chantr4@xxxxxxxxx/
https://lore.kernel.org/all/4b5621958a758da830c1cf09c6f6893aed371f9d.camel@xxxxxxxxx/
https://lore.kernel.org/all/20240924094809.GA1182241@unreal/

In my case, I don't have any other workaround but simply revert these commits:
 "netfs: Use new folio_queue data type and iterator instead of xarray iter"
 "netfs: Provide an iterator-reset function"
 "netfs: Simplify the writeback code"
 "afs: Make read subreqs async"
 "netfs: Speed up buffered reading"
 "netfs: Remove fs/netfs/io.c"
 "cachefiles, netfs: Fix write to partial block at EOF"
 "netfs: Cancel dirty folios that have no storage destination"
 "cifs: Use iterate_and_advance*() routines directly for hashing"
 "cifs: Switch crypto buffer to use a folio_queue rather than an xarray"
 "cifs: Don't support ITER_XARRAY"
 "cifs: Fix signature miscalculation"
 "cifs: Fix cifs readv callback merge resolution issue"
 "cifs: Remove redundant setting of NETFS_SREQ_HIT_EOF"

Thanks





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux