linux-nfs / nfsd

Linux kernel source tree
Other
0 stars 0 forks source link

Use splice in nfsd_write() #2

Closed chucklever closed 7 months ago

chucklever commented 7 months ago

This was bugzilla.linux-nfs.org 351

[Chuck Lever 2020-11-25 16:04:00 UTC] The nfsd_read() code path uses a page splicing mechanism to reduce the number of data copies needed to satisfy most NFS READ requests. The mechanism gives NFSD and the underlying RPC transport direct access to the page cache pages in the file being read.

The nfsd_write() path does not use a splicing mechanism. It might not be possible. Or, it might be difficult, and thus it hasn't been done before. More investigation is needed, and after a prototype is available, some performance results can show whether the additional complexity is beneficial.

chucklever commented 7 months ago

[Chuck Lever 2022-01-21 19:20:15 UTC] I've tried to implement this, but am always stopped by discovering other bottlenecks. Most recently I've found that the generic write code takes a mutex that introduces long and unpredictable latencies.