> On Nov 17, 2022, at 11:53 AM, Dai Ngo <dai.ngo@xxxxxxxxxx> wrote: > > > On 11/17/22 6:44 AM, Chuck Lever III wrote: >> >>> On Nov 16, 2022, at 10:44 PM, Dai Ngo <dai.ngo@xxxxxxxxxx> wrote: >>> >>> This patch series adds: >>> >>> . refactor courtesy_client_reaper to a generic low memory >>> shrinker. >>> >>> . XDR encode and decode function for CB_RECALL_ANY op. >>> >>> . the delegation reaper that sends the advisory CB_RECALL_ANY >>> to the clients to release unused delegations. >>> There is only one nfsd4_callback added for each nfs4_cleint. >>> Access to it must be serialized via the client flag >>> NFSD4_CLIENT_CB_RECALL_ANY. >>> >>> . Add CB_RECALL_ANY tracepoints. >>> >>> v2: >>> . modify deleg_reaper to check and send CB_RECALL_ANY to client >>> only once per 5 secs. >>> v3: >>> . modify nfsd4_cb_recall_any_release to use nn->client_lock to >>> protect cl_recall_any_busy and call put_client_renew_locked >>> to decrement cl_rpc_users. >>> >>> v4: >>> . move changes in nfs4state.c from patch (1/2) to patch(2/2). >>> . use xdr_stream_encode_u32 and xdr_stream_encode_uint32_array >>> to encode CB_RECALL_ANY arguments. >>> . add struct nfsd4_cb_recall_any with embedded nfs4_callback >>> and params for CB_RECALL_ANY op. >>> . replace cl_recall_any_busy boolean with client flag >>> NFSD4_CLIENT_CB_RECALL_ANY >>> . add tracepoints for CB_RECALL_ANY >>> >>> v5: >>> . refactor courtesy_client_reaper to a generic low memory >>> shrinker >>> . merge courtesy client shrinker and delegtion shrinker into >>> one. >>> . reposition nfsd_cb_recall_any and nfsd_cb_recall_any_done >>> in nfsd/trace.h >>> . use __get_sockaddr to display server IP address in >>> tracepoints. >>> . modify encode_cb_recallany4args to replace sizeof with >>> ARRAY_SIZE. >> Hi- >> >> I'm going to apply this version of the series with some minor >> changes. I'll reply to the individual patches where we can >> discuss those. > > Thank you Chuck! Changes folded in and pushed to nfsd's for-next. For the trace point patch, I've rebased your series on top of the patch that relocates include/trace/events/nfs.h so that the new show_rca_mask() macro can go in the common nfs.h instead of the NFSD-specific fs/nfsd/trace.h. Feel free to pull and test to make sure I didn't do anything bone-headed. -- Chuck Lever