Skip to content

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

Open
baum wants to merge 4 commits into
ceph:ceph-nvmeof-v26.01from
baum:librbd_asio_spdk
Open

bdev/rbd: integrate SpdkContextWQ for reactor thread execution#17
baum wants to merge 4 commits into
ceph:ceph-nvmeof-v26.01from
baum:librbd_asio_spdk

Conversation

@baum
Copy link
Copy Markdown

@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 3 times, most recently from c3ea327 to 912f5f1 Compare January 29, 2026 08:53
@baum baum requested review from bill-scales and idryomov February 2, 2026 07:17
@baum baum force-pushed the librbd_asio_spdk branch 4 times, most recently 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
@baum baum force-pushed the librbd_asio_spdk branch 2 times, most recently from f5fa24a to d64385e Compare May 1, 2026 12:35
Alexander Indenbaum added 3 commits May 14, 2026 14:50
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>
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>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
@baum baum force-pushed the librbd_asio_spdk branch from bc5a685 to 930a42d Compare May 14, 2026 11:52
@baum baum changed the base branch from ceph-nvmeof-v25.09 to ceph-nvmeof-v26.01 May 14, 2026 12:03
@baum baum force-pushed the librbd_asio_spdk branch 2 times, most recently from 78c7568 to f0cce4f Compare May 18, 2026 04:07
@baum baum force-pushed the librbd_asio_spdk branch from f0cce4f to 61de874 Compare May 18, 2026 04:21
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
@baum baum force-pushed the librbd_asio_spdk branch from 61de874 to 7944465 Compare May 18, 2026 10:28
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.

1 participant