diff options
| author | Jeff Layton <jlayton@kernel.org> | 2026-02-23 20:10:01 +0300 |
|---|---|---|
| committer | Chuck Lever <chuck.lever@oracle.com> | 2026-03-30 04:25:09 +0300 |
| commit | facc4e3c80420e3466003ce09b576e005b56a015 (patch) | |
| tree | 6fe4f9f78530da602b8fd7348b89fad2dc9de3c3 /include/memory | |
| parent | 552d0e17ea042fc4f959c4543cbbd0e54de7a8e9 (diff) | |
| download | linux-facc4e3c80420e3466003ce09b576e005b56a015.tar.xz | |
sunrpc: split cache_detail queue into request and reader lists
Replace the single interleaved queue (which mixed cache_request and
cache_reader entries distinguished by a ->reader flag) with two
dedicated lists: cd->requests for upcall requests and cd->readers
for open file handles.
Readers now track their position via a monotonically increasing
sequence number (next_seqno) rather than by their position in the
shared list. Each cache_request is assigned a seqno when enqueued,
and a new cache_next_request() helper finds the next request at or
after a given seqno.
This eliminates the cache_queue wrapper struct entirely, simplifies
the reader-skipping loops in cache_read/cache_poll/cache_ioctl/
cache_release, and makes the data flow easier to reason about.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'include/memory')
0 files changed, 0 insertions, 0 deletions
