smb: smbdirect: introduce smbdirect_socket.send_io.credits.{count,wait_queue}

This will be shared between client and server soon.

Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Long Li <longli@microsoft.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Stefan Metzmacher 2025-08-11 16:03:00 +02:00 committed by Steve French
parent 3b7be44a0e
commit 2191b3471d

View File

@ -78,6 +78,14 @@ struct smbdirect_socket {
mempool_t *pool;
} mem;
/*
* The credit state for the send side
*/
struct {
atomic_t count;
wait_queue_head_t wait_queue;
} credits;
/*
* The state about posted/pending sends
*/
@ -163,6 +171,9 @@ static __always_inline void smbdirect_socket_init(struct smbdirect_socket *sc)
init_waitqueue_head(&sc->status_wait);
atomic_set(&sc->send_io.credits.count, 0);
init_waitqueue_head(&sc->send_io.credits.wait_queue);
atomic_set(&sc->send_io.pending.count, 0);
init_waitqueue_head(&sc->send_io.pending.dec_wait_queue);
init_waitqueue_head(&sc->send_io.pending.zero_wait_queue);