guide: VMBus channels, StorVSP subchannels, and CPU scheduling docs#2978
Closed
mattkur wants to merge 2 commits intomicrosoft:mainfrom
Closed
guide: VMBus channels, StorVSP subchannels, and CPU scheduling docs#2978mattkur wants to merge 2 commits intomicrosoft:mainfrom
mattkur wants to merge 2 commits intomicrosoft:mainfrom
Conversation
|
This PR modifies files containing For more on why we check whole files, instead of just diffs, check out the Rustonomicon |
23b6aeb to
3bad991
Compare
Why is this change being made? - Addresses [microsoft#2954](microsoft#2954) — document VMBus channels & subchannels in the storage context. - Touches on [microsoft#2955](microsoft#2955) — CPU affinity for storage I/O. - The VMBus channel model, StorVSP's subchannel negotiation, the cooperative executor model, and the VP-to-CPU identity mapping were all undocumented. What changed? - New Guide page: `architecture/vmbus/channels.md` — VMBus channel concepts: identity model, ring buffers, subchannel lifecycle, target VP, VP index vs CPU number vs APIC ID. - New Guide page: `devices/vmbus/storvsp_channels.md` — StorVSP subchannel negotiation, worker model, CPU affinity, scaling diagrams, poll mode, slow-disk problem, sidecar, configuration, Hyper-V differences, inspect output. - New Guide page: `architecture/openhcl/cpu_scheduling.md` — cooperative executor, VP thread model, blocking scenarios (VTL0/kernel/hypervisor), mitigations, sidecar, OpenVMM comparison, device design rules. - Updated `storvsp.md`, `storage.md`, `storage_configuration.md`, `ide.md` with cross-links and new content (IDE accelerator section, `scsi_sub_channels` fixed settings). - Rustdoc improvements across [`vmbus_channel`](https://openvmm.dev/rustdoc/linux/vmbus_channel/index.html), [`vmcore`](https://openvmm.dev/rustdoc/linux/vmcore/index.html), and [`storvsp`](https://openvmm.dev/rustdoc/linux/storvsp/index.html). How was the change tested? - ✅ `cargo doc --no-deps -p vmbus_channel -p vmcore -p storvsp` — no warnings - ✅ All Guide cross-links verified - ✅ This is the combined PR; individual pieces are in separate PRs for independent review Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3bad991 to
5b79eea
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Combined PR containing the content from #2975 (CPU scheduling), #2976 (StorVSP channels), and #2977 (VMBus channels) with all inter-page cross-links resolved.
The individual PRs degrade cross-links to plain text so they can be committed independently. This PR has the full linked versions. If all three individual PRs are merged, this PR is not needed. If reviewing as a single unit is preferred, use this one.
New pages
architecture/openhcl/cpu_scheduling.md— cooperative executor, VP thread model, blocking scenarios, sidecar, OpenVMM comparison, device design rules.architecture/vmbus/channels.md— channel identity, ring buffers, subchannel lifecycle, target VP, VP index vs APIC ID.devices/vmbus/storvsp_channels.md— subchannel negotiation, worker model, CPU affinity, scaling diagrams, poll mode, slow-disk problem, configuration, Hyper-V differences, inspect output.Modified pages
storvsp.md,storage.md,storage_configuration.md,ide.md— cross-links and new content (IDE accelerator section,scsi_sub_channelssettings).vmbus_channel,vmcore, andstorvsp.Addresses #2954, touches #2955.