The NFSv4.1 server code has always only supported a single callback slot. This has the effect of serializing all the callbacks on the server, which can cause a bottleneck when there is a lot of callback activity. This patchset allows the NFS server to use up to 32 backchannel slots when communicating with clients. Note that so far, we don't have a great way to drive a lot of concurrent backchannel activity with standard testsuites. I did set up a server with two clients and had one client open a bunch of files, and a second client fork off a bunch of processes that statx'ed those files repeatedly. With that I was able to see the parallelization in action via CB_GETATTR activity. I'm still thinking about how best to test this with pynfs. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- Jeff Layton (2): nfsd: remove nfsd4_session->se_bchannel nfsd: allow for more callback session slots fs/nfsd/nfs4callback.c | 107 +++++++++++++++++++++++++++++++++++-------------- fs/nfsd/nfs4state.c | 9 +++-- fs/nfsd/state.h | 13 +++--- fs/nfsd/trace.h | 2 +- 4 files changed, 89 insertions(+), 42 deletions(-) --- base-commit: c7b8826b41906db1c930cbb10abb94eb24247f20 change-id: 20241025-bcwide-6bd7e4b63db2 Best regards, -- Jeff Layton <jlayton@xxxxxxxxxx>