aboutsummaryrefslogtreecommitdiff
path: root/rust/kernel/generated_arch_static_branch_asm.rs.S
diff options
context:
space:
mode:
authorJeff Layton <[email protected]>2024-11-18 09:54:34 -0500
committerChuck Lever <[email protected]>2024-11-18 20:23:13 -0500
commit583772eec7b0096516a8ee8b1cc31401894f1e3a (patch)
treefdace5298c719e54018c626233bd3f6340e8d98d /rust/kernel/generated_arch_static_branch_asm.rs.S
parentc840b8e1f039e90f97ca55525667eb961422f86c (diff)
nfsd: allow for up to 32 callback session slots
nfsd currently only uses a single slot in the callback channel, which is proving to be a bottleneck in some cases. Widen the callback channel to a max of 32 slots (subject to the client's target_maxreqs value). Change the cb_holds_slot boolean to an integer that tracks the current slot number (with -1 meaning "unassigned"). Move the callback slot tracking info into the session. Add a new u32 that acts as a bitmap to track which slots are in use, and a u32 to track the latest callback target_slotid that the client reports. To protect the new fields, add a new per-session spinlock (the se_lock). Fix nfsd41_cb_get_slot to always search for the lowest slotid (using ffs()). Finally, convert the session->se_cb_seq_nr field into an array of ints and add the necessary handling to ensure that the seqids get reset when the slot table grows after shrinking. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Chuck Lever <[email protected]>
Diffstat (limited to 'rust/kernel/generated_arch_static_branch_asm.rs.S')
0 files changed, 0 insertions, 0 deletions