Message ID | 162575623717.2532.8517369487503961860.stgit@klimt.1015granger.net (mailing list archive) |
---|---|
Headers | show |
Series | Bulk-release pages during NFSD read splice | expand |
On Fri, 09 Jul 2021, Chuck Lever wrote: > > In this version of the series, each nfsd thread never accrues more > than 16 pages. We can easily make that larger or smaller, but 16 > already reduces the rate of put_pages() calls to a minute fraction > of what it was, and does not consume much additional space in struct > svc_rqst. > > Comments welcome! Very nice. Does "1/16" really count as "minute"? Or did I miss something and it is actually a smaller fraction? Either way: excellent work. Reviewed-by: NeilBrown <neilb@suse.de> NeilBrown > > --- > > Chuck Lever (3): > NFSD: Clean up splice actor > SUNRPC: Add svc_rqst_replace_page() API > NFSD: Batch release pages during splice read > > > fs/nfsd/vfs.c | 20 +++++--------------- > include/linux/sunrpc/svc.h | 5 +++++ > net/sunrpc/svc.c | 29 +++++++++++++++++++++++++++++ > 3 files changed, 39 insertions(+), 15 deletions(-) > > -- > Chuck Lever > >
> On Jul 8, 2021, at 7:23 PM, NeilBrown <neilb@suse.de> wrote: > > On Fri, 09 Jul 2021, Chuck Lever wrote: >> >> In this version of the series, each nfsd thread never accrues more >> than 16 pages. We can easily make that larger or smaller, but 16 >> already reduces the rate of put_pages() calls to a minute fraction >> of what it was, and does not consume much additional space in struct >> svc_rqst. >> >> Comments welcome! > > Very nice. Does "1/16" really count as "minute"? Or did I miss > something and it is actually a smaller fraction? 6% is better than an order of magnitude fewer calls. I can drop the "minute". > Either way: excellent work. > > Reviewed-by: NeilBrown <neilb@suse.de> Thanks! > NeilBrown > >> >> --- >> >> Chuck Lever (3): >> NFSD: Clean up splice actor >> SUNRPC: Add svc_rqst_replace_page() API >> NFSD: Batch release pages during splice read >> >> >> fs/nfsd/vfs.c | 20 +++++--------------- >> include/linux/sunrpc/svc.h | 5 +++++ >> net/sunrpc/svc.c | 29 +++++++++++++++++++++++++++++ >> 3 files changed, 39 insertions(+), 15 deletions(-) >> >> -- >> Chuck Lever >> >> -- Chuck Lever