mbox series

[v2,0/7] XDR overhaul of NFS callback service

Message ID 162637843471.728653.5920517086867549998.stgit@manet.1015granger.net (mailing list archive)
Headers show
Series XDR overhaul of NFS callback service | expand

Message

Chuck Lever July 15, 2021, 7:52 p.m. UTC
Trond, please let me know if you want to take these or if I may
handle them through the NFSD tree for v5.15. Thanks.


The purpose of this series is to prepare for the optimization of
svc_process_common() to handle NFSD workloads more efficiently. In
other words, NFSD should be the lubricated common case, and callback
is the use case that takes exceptional paths.

Changes since RFC:
- Removed RQ_DROPME test from nfs_callback_dispatch()
- Restored .pc_encode call-outs to prevent dropped replies
- Fixed whitespace damage

---

Chuck Lever (7):
      SUNRPC: Add svc_rqst::rq_auth_stat
      SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
      SUNRPC: Eliminate the RQ_AUTHERR flag
      NFS: Add a private local dispatcher for NFSv4 callback operations
      NFS: Remove unused callback void decoder
      NFS: Extract the xdr_init_encode/decode() calls from decode_compound
      NFS: Clean up the synopsis of callback process_op()


 fs/lockd/svc.c                    |  2 +
 fs/nfs/callback.c                 |  4 ++
 fs/nfs/callback_xdr.c             | 61 ++++++++++++++++---------------
 include/linux/sunrpc/svc.h        |  3 +-
 include/linux/sunrpc/svcauth.h    |  4 +-
 include/trace/events/sunrpc.h     |  9 ++---
 net/sunrpc/auth_gss/svcauth_gss.c | 47 +++++++++++++-----------
 net/sunrpc/svc.c                  | 39 ++++++--------------
 net/sunrpc/svcauth.c              |  8 ++--
 net/sunrpc/svcauth_unix.c         | 18 +++++----
 10 files changed, 96 insertions(+), 99 deletions(-)

--
Chuck Lever

Comments

Chuck Lever July 30, 2021, 7:52 p.m. UTC | #1
Hi Trond-

> On Jul 15, 2021, at 3:52 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
> 
> Trond, please let me know if you want to take these or if I may
> handle them through the NFSD tree for v5.15. Thanks.

I've included these in the NFSD for-next topic branch:

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=for-next

They can be removed if you would like to take them through
your tree instead.

If I am to take these, Bruce and I would like an Acked-by:
from you.


> The purpose of this series is to prepare for the optimization of
> svc_process_common() to handle NFSD workloads more efficiently. In
> other words, NFSD should be the lubricated common case, and callback
> is the use case that takes exceptional paths.
> 
> Changes since RFC:
> - Removed RQ_DROPME test from nfs_callback_dispatch()
> - Restored .pc_encode call-outs to prevent dropped replies
> - Fixed whitespace damage
> 
> ---
> 
> Chuck Lever (7):
>      SUNRPC: Add svc_rqst::rq_auth_stat
>      SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
>      SUNRPC: Eliminate the RQ_AUTHERR flag
>      NFS: Add a private local dispatcher for NFSv4 callback operations
>      NFS: Remove unused callback void decoder
>      NFS: Extract the xdr_init_encode/decode() calls from decode_compound
>      NFS: Clean up the synopsis of callback process_op()
> 
> 
> fs/lockd/svc.c                    |  2 +
> fs/nfs/callback.c                 |  4 ++
> fs/nfs/callback_xdr.c             | 61 ++++++++++++++++---------------
> include/linux/sunrpc/svc.h        |  3 +-
> include/linux/sunrpc/svcauth.h    |  4 +-
> include/trace/events/sunrpc.h     |  9 ++---
> net/sunrpc/auth_gss/svcauth_gss.c | 47 +++++++++++++-----------
> net/sunrpc/svc.c                  | 39 ++++++--------------
> net/sunrpc/svcauth.c              |  8 ++--
> net/sunrpc/svcauth_unix.c         | 18 +++++----
> 10 files changed, 96 insertions(+), 99 deletions(-)
> 
> --
> Chuck Lever
> 

--
Chuck Lever
Anna Schumaker Aug. 10, 2021, 6:01 p.m. UTC | #2
Hi Chuck,

On Fri, Jul 30, 2021 at 3:53 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
>
> Hi Trond-
>
> > On Jul 15, 2021, at 3:52 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
> >
> > Trond, please let me know if you want to take these or if I may
> > handle them through the NFSD tree for v5.15. Thanks.
>
> I've included these in the NFSD for-next topic branch:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=for-next
>
> They can be removed if you would like to take them through
> your tree instead.

These look to be mostly client-side changes, so it would make sense to
take them through the NFS tree. Would that cause problems now that
they've been in your for-next branch for a while?

Anna

>
> If I am to take these, Bruce and I would like an Acked-by:
> from you.
>
>
> > The purpose of this series is to prepare for the optimization of
> > svc_process_common() to handle NFSD workloads more efficiently. In
> > other words, NFSD should be the lubricated common case, and callback
> > is the use case that takes exceptional paths.
> >
> > Changes since RFC:
> > - Removed RQ_DROPME test from nfs_callback_dispatch()
> > - Restored .pc_encode call-outs to prevent dropped replies
> > - Fixed whitespace damage
> >
> > ---
> >
> > Chuck Lever (7):
> >      SUNRPC: Add svc_rqst::rq_auth_stat
> >      SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
> >      SUNRPC: Eliminate the RQ_AUTHERR flag
> >      NFS: Add a private local dispatcher for NFSv4 callback operations
> >      NFS: Remove unused callback void decoder
> >      NFS: Extract the xdr_init_encode/decode() calls from decode_compound
> >      NFS: Clean up the synopsis of callback process_op()
> >
> >
> > fs/lockd/svc.c                    |  2 +
> > fs/nfs/callback.c                 |  4 ++
> > fs/nfs/callback_xdr.c             | 61 ++++++++++++++++---------------
> > include/linux/sunrpc/svc.h        |  3 +-
> > include/linux/sunrpc/svcauth.h    |  4 +-
> > include/trace/events/sunrpc.h     |  9 ++---
> > net/sunrpc/auth_gss/svcauth_gss.c | 47 +++++++++++++-----------
> > net/sunrpc/svc.c                  | 39 ++++++--------------
> > net/sunrpc/svcauth.c              |  8 ++--
> > net/sunrpc/svcauth_unix.c         | 18 +++++----
> > 10 files changed, 96 insertions(+), 99 deletions(-)
> >
> > --
> > Chuck Lever
> >
>
> --
> Chuck Lever
>
>
>
Chuck Lever Aug. 10, 2021, 6:16 p.m. UTC | #3
> On Aug 10, 2021, at 2:01 PM, Anna Schumaker <schumaker.anna@gmail.com> wrote:
> 
> Hi Chuck,
> 
> On Fri, Jul 30, 2021 at 3:53 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
>> 
>> Hi Trond-
>> 
>>> On Jul 15, 2021, at 3:52 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
>>> 
>>> Trond, please let me know if you want to take these or if I may
>>> handle them through the NFSD tree for v5.15. Thanks.
>> 
>> I've included these in the NFSD for-next topic branch:
>> 
>> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=for-next
>> 
>> They can be removed if you would like to take them through
>> your tree instead.
> 
> These look to be mostly client-side changes, so it would make sense to
> take them through the NFS tree. Would that cause problems now that
> they've been in your for-next branch for a while?

I've dropped them.


> Anna
> 
>> 
>> If I am to take these, Bruce and I would like an Acked-by:
>> from you.
>> 
>> 
>>> The purpose of this series is to prepare for the optimization of
>>> svc_process_common() to handle NFSD workloads more efficiently. In
>>> other words, NFSD should be the lubricated common case, and callback
>>> is the use case that takes exceptional paths.
>>> 
>>> Changes since RFC:
>>> - Removed RQ_DROPME test from nfs_callback_dispatch()
>>> - Restored .pc_encode call-outs to prevent dropped replies
>>> - Fixed whitespace damage
>>> 
>>> ---
>>> 
>>> Chuck Lever (7):
>>>     SUNRPC: Add svc_rqst::rq_auth_stat
>>>     SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
>>>     SUNRPC: Eliminate the RQ_AUTHERR flag
>>>     NFS: Add a private local dispatcher for NFSv4 callback operations
>>>     NFS: Remove unused callback void decoder
>>>     NFS: Extract the xdr_init_encode/decode() calls from decode_compound
>>>     NFS: Clean up the synopsis of callback process_op()
>>> 
>>> 
>>> fs/lockd/svc.c                    |  2 +
>>> fs/nfs/callback.c                 |  4 ++
>>> fs/nfs/callback_xdr.c             | 61 ++++++++++++++++---------------
>>> include/linux/sunrpc/svc.h        |  3 +-
>>> include/linux/sunrpc/svcauth.h    |  4 +-
>>> include/trace/events/sunrpc.h     |  9 ++---
>>> net/sunrpc/auth_gss/svcauth_gss.c | 47 +++++++++++++-----------
>>> net/sunrpc/svc.c                  | 39 ++++++--------------
>>> net/sunrpc/svcauth.c              |  8 ++--
>>> net/sunrpc/svcauth_unix.c         | 18 +++++----
>>> 10 files changed, 96 insertions(+), 99 deletions(-)
>>> 
>>> --
>>> Chuck Lever
>>> 
>> 
>> --
>> Chuck Lever

--
Chuck Lever
Anna Schumaker Aug. 10, 2021, 6:19 p.m. UTC | #4
On Tue, Aug 10, 2021 at 2:16 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
>
>
>
> > On Aug 10, 2021, at 2:01 PM, Anna Schumaker <schumaker.anna@gmail.com> wrote:
> >
> > Hi Chuck,
> >
> > On Fri, Jul 30, 2021 at 3:53 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
> >>
> >> Hi Trond-
> >>
> >>> On Jul 15, 2021, at 3:52 PM, Chuck Lever <chuck.lever@oracle.com> wrote:
> >>>
> >>> Trond, please let me know if you want to take these or if I may
> >>> handle them through the NFSD tree for v5.15. Thanks.
> >>
> >> I've included these in the NFSD for-next topic branch:
> >>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?h=for-next
> >>
> >> They can be removed if you would like to take them through
> >> your tree instead.
> >
> > These look to be mostly client-side changes, so it would make sense to
> > take them through the NFS tree. Would that cause problems now that
> > they've been in your for-next branch for a while?
>
> I've dropped them.

And I've added them. Thanks!

Anna

>
>
> > Anna
> >
> >>
> >> If I am to take these, Bruce and I would like an Acked-by:
> >> from you.
> >>
> >>
> >>> The purpose of this series is to prepare for the optimization of
> >>> svc_process_common() to handle NFSD workloads more efficiently. In
> >>> other words, NFSD should be the lubricated common case, and callback
> >>> is the use case that takes exceptional paths.
> >>>
> >>> Changes since RFC:
> >>> - Removed RQ_DROPME test from nfs_callback_dispatch()
> >>> - Restored .pc_encode call-outs to prevent dropped replies
> >>> - Fixed whitespace damage
> >>>
> >>> ---
> >>>
> >>> Chuck Lever (7):
> >>>     SUNRPC: Add svc_rqst::rq_auth_stat
> >>>     SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
> >>>     SUNRPC: Eliminate the RQ_AUTHERR flag
> >>>     NFS: Add a private local dispatcher for NFSv4 callback operations
> >>>     NFS: Remove unused callback void decoder
> >>>     NFS: Extract the xdr_init_encode/decode() calls from decode_compound
> >>>     NFS: Clean up the synopsis of callback process_op()
> >>>
> >>>
> >>> fs/lockd/svc.c                    |  2 +
> >>> fs/nfs/callback.c                 |  4 ++
> >>> fs/nfs/callback_xdr.c             | 61 ++++++++++++++++---------------
> >>> include/linux/sunrpc/svc.h        |  3 +-
> >>> include/linux/sunrpc/svcauth.h    |  4 +-
> >>> include/trace/events/sunrpc.h     |  9 ++---
> >>> net/sunrpc/auth_gss/svcauth_gss.c | 47 +++++++++++++-----------
> >>> net/sunrpc/svc.c                  | 39 ++++++--------------
> >>> net/sunrpc/svcauth.c              |  8 ++--
> >>> net/sunrpc/svcauth_unix.c         | 18 +++++----
> >>> 10 files changed, 96 insertions(+), 99 deletions(-)
> >>>
> >>> --
> >>> Chuck Lever
> >>>
> >>
> >> --
> >> Chuck Lever
>
> --
> Chuck Lever
>
>
>