Skip to content

feat: doorbell#36

Open
yhdengh wants to merge 1 commit into
arca-networking-prfrom
arca-networking-pr-2
Open

feat: doorbell#36
yhdengh wants to merge 1 commit into
arca-networking-prfrom
arca-networking-pr-2

Conversation

@yhdengh

@yhdengh yhdengh commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Sequenced after #35

This PR adds DoorBell/DoorBellWaiter traits for allowing one end of the bidirectional pipe to notify the other end on new readable content and new writable space in the pipe.

In the VM ==> Host direction, DoorBell::ring is a write to an MMIO address, and DoorBellWaiter is a wrapper around a KVM_IOEVENTFD.
In the Host ==> VM direction, DoorBell::ring is a write to a KVM_IRQFD. There is no DoorBellWaiter as the interrupts will be handled by kthread logic.

This PR does not include tests on the mechanisms. It makes more sense to have integration tests after the control pipe protocol is implemented.

@yhdengh yhdengh force-pushed the arca-networking-pr-2 branch from 143e399 to cac780f Compare June 8, 2026 21:56
@yhdengh yhdengh force-pushed the arca-networking-pr-1 branch from 9cadb75 to 220309c Compare June 8, 2026 22:41
@yhdengh yhdengh force-pushed the arca-networking-pr-2 branch from cac780f to d61f1ac Compare June 8, 2026 22:41
@yhdengh yhdengh mentioned this pull request Jun 10, 2026
@yhdengh

yhdengh commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@ruiting-chen Could you take a look at this PR first? It would probably be easier for the rebasing if we first merge doorbell and the sync stream into the bidirectional pipe PR.

@GregoryLi360 GregoryLi360 force-pushed the arca-networking-pr-1 branch from 220309c to ced5641 Compare June 15, 2026 00:48
@ruiting-chen ruiting-chen force-pushed the arca-networking-pr-2 branch from d61f1ac to 73700a1 Compare June 15, 2026 18:36
@ruiting-chen

Copy link
Copy Markdown

Combined Greg's update for owned shm region design in pr#34 with DoorBell generic, producing BidirectionalPipe<R, D> and SyncStream<R, D>

Base automatically changed from arca-networking-pr-1 to arca-networking-pr June 17, 2026 16:57
@yhdengh yhdengh force-pushed the arca-networking-pr-2 branch 2 times, most recently from ed08579 to 5a5a663 Compare June 17, 2026 17:40
@yhdengh yhdengh force-pushed the arca-networking-pr branch from 854e908 to 4e69589 Compare June 17, 2026 18:00
@yhdengh yhdengh force-pushed the arca-networking-pr-2 branch from 5a5a663 to c55cb8a Compare June 17, 2026 18:00
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