Skip to content

bdev/rbd: integrate SpdkContextWQ for reactor thread execution#17

Open
baum wants to merge 3 commits intoceph:ceph-nvmeof-v25.09from
baum:librbd_asio_spdk
Open

bdev/rbd: integrate SpdkContextWQ for reactor thread execution#17
baum wants to merge 3 commits intoceph:ceph-nvmeof-v25.09from
baum:librbd_asio_spdk

Conversation

@baum
Copy link

@baum baum commented Jan 25, 2026

bdev/rbd: integrate SpdkContextWQ for reactor thread execution

Add SpdkContextWQ implementation to schedule RBD I/O operations on
SPDK reactor threads instead of ASIO thread pool. This includes:

  • New SpdkContextWQ class implementing ContextWQ interface
  • Reactor thread selection via bdev_rbd_find_reactor_thread()
  • Integration with ContextWQ API

@baum baum marked this pull request as ready for review January 25, 2026 14:17
@baum baum changed the base branch from librbd_asio_spdk to ceph-nvmeof-v25.09 January 25, 2026 14:18
@baum baum force-pushed the librbd_asio_spdk branch 2 times, most recently from 08f907b to 8ad5a1a Compare January 25, 2026 14:25
@gbregman gbregman force-pushed the ceph-nvmeof-v25.09 branch 2 times, most recently from 7c7026c to 289d473 Compare January 26, 2026 08:53
@baum baum force-pushed the librbd_asio_spdk branch from 040222b to b532f5f Compare January 27, 2026 20:39
@gbregman gbregman force-pushed the ceph-nvmeof-v25.09 branch 2 times, most recently from 7657f37 to c3ea327 Compare January 28, 2026 20:43
Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
Add SpdkContextWQ implementation to schedule RBD I/O operations on
SPDK reactor threads instead of ASIO thread pool. This includes:

- New SpdkContextWQ class implementing ContextWQ interface
- Reactor thread selection via bdev_rbd_find_reactor_thread()
- Integration with with ContextWQ ceph API

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
@baum baum force-pushed the librbd_asio_spdk branch 3 times, most recently from 573257d to 0b88e4c Compare February 4, 2026 13:16
Reactor threads are discovered and cached, and each
new RBD bdev gets the next reactor in round-robin order
so SpdkContextWQ work is spread across cores instead of a single reactor.

Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
@baum baum force-pushed the librbd_asio_spdk branch from 0b88e4c to 3ad6e64 Compare February 4, 2026 13:57
@gbregman gbregman force-pushed the ceph-nvmeof-v25.09 branch 3 times, most recently from 60b5c24 to cf59213 Compare February 11, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments