-
-
Notifications
You must be signed in to change notification settings - Fork 0
windows-ioring-sys: durability, a seeded response-space resolver, and the delivery-stall fix (M20-M26) #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
98 commits
Select commit
Hold shift + click to select a range
0b429ea
docs(ioring): queue the epoch-log review findings as M21 through M23
702715a
docs: record the M20.1 / M20.3 coupling to SH-4.12 in both checklists
14d5e4d
docs(ioring): correct the file-handle NUMA mechanism in "What is not …
44e36ef
docs(ioring): record the ARM no-L3 measurement as D-48
338b6ff
docs(ioring): remove the status claim from the notes and the rustdoc
38d0527
docs: add CONTRACT INTEGRITY rule 6 -- never store a fact another art…
fa5e9a7
docs(ioring): justify the epoch-order assertion by the half of D-24 t…
c6703f3
feat(ioring): add a bounded pop, generic over the wait the caller sup…
48be30c
refactor(ioring): make the epoch trigger a value each match arm must …
7cde484
test(ioring): bind what a failed commit means for durable_through
53ae977
docs(ioring): record what remediating the epoch-log review has taught…
665edab
fix(ioring): bound every wait that could hang, not the two that were …
9c9c5ff
fix(ioring): an expired wait is a result, not an error
0cda73b
chore: teach the borrow-surface check the two shapes it could not see
6dfcbcc
docs(ioring): record an unreproduced bounded_pop failure and queue it…
8f079ca
fix(ioring): make bounded_pop wait on a pipe, not on a fast enough de…
badfe57
test(ioring): assert the mechanism, not the clock
621a022
docs(ioring): write up hermetic unit tests without losing unit-level …
6fe586c
docs(ioring): record the non-hermetic unit suite as a defect, and sch…
ef87310
docs(ioring): correct M24's sequencing rationale -- waiting does not …
1d01997
docs: extend CONTRACT INTEGRITY rule 6 to characterisations of siblin…
40beb1b
docs: park the principles-vs-triggers coverage idea, with the objecti…
6cba288
docs: record the feasibility point as a concern, not an objection
7c12708
perf(ioring): batch an epoch's appends into one submission, and measu…
834c7af
fix(ioring): derive the epoch-log sample's free slots instead of trac…
896252e
feat(ioring): provide NumaBuffer, and place the epoch-log arena delib…
7bda668
docs(ioring): re-plan M22+.2 as M23.3, because it justified itself wi…
4600a64
docs(ioring): investigate M20.6 -- the benchmark measures deferral, n…
8b8afaf
test(ioring): cover ring_copy's degraded-fallback path, both directions
3433fe0
fix(ioring)!: ask which cache level partitions the machine, never fil…
2f597d4
docs(ioring): answer M24.1 -- the fake was the wrong instrument; queu…
785211d
refactor(ioring): split the ring's bookkeeping out of the ring
9bc0350
test(ioring): mint tokens from the ledger, so token's tests open no ring
e15ab83
test(ioring): relocate the ring-opening lib tests that use only publi…
a4f2f25
ci(ioring): inventory the lib tests that open a ring, so the count ca…
a76fb63
docs(ioring): sweep what M24 made false -- and what it did not
740e40d
docs(ioring): stop the epoch-log sample claiming to measure a commit
26fad15
docs(ioring): keep options open; foreclose only on analytic grounds
0ba7167
docs: record the adoption thesis behind the ring, queue and locality …
d3c84ea
docs(topology-planner): settle the goal as a dataflow description; tw…
169195f
docs: record the resolution gradient, and correct a deferral written …
cbd5ce6
docs(ioring): say why placement.rs calls DeviceIoControl directly
d845bb2
feat(ioring): state that the ring, not the log, is the durability unit
4adea67
fix(ioring): separate the barrier's scope from the flush's in the con…
48dc99d
docs(ioring): right-size the device question in the epoch-log contract
b20d1e0
docs: record the co-flush musing, and question whether M23.2(b) is at…
4319688
feat(ioring): D-54 -- this crate owns one flush, not durability groups
0c245de
docs: keep the concept as flush equivalence, not device identity
29ea07e
docs(ioring): archive M23.1 with a stub, per the move-with-link rule
6101ca6
docs: new crates take the win- prefix; queue the migration at the hor…
947b252
feat!: create win-numa-sys and move NumaBuffer into it
740d786
docs(numa): record N-D-1 -- both ways to a node, and no shortcut betw…
bc856bd
feat(ioring): spike Pending<T, X> for M23.3, and report what it canno…
448709b
test(ioring): reach the failed-write path, and make the M22.2 regress…
783a94c
docs(ioring): correct the type-erasure claim, and record the M23.3 ex…
b4d17f7
docs(ioring): reframe M23.3 on its mechanism rather than its duplicat…
fdc3f7f
feat(ioring)!: D-55 -- the ring owns the pending inventory
74022a3
fix(ioring): keep Drop guards silent while already panicking
75b3ef7
test(ioring): cover both of IoRing::drop's asserts without a seam
a8a2a3e
feat(ioring): give epoch-log records a sector stride, both ends
e75a9d7
feat(ioring): open the epoch log NO_BUFFERING | OVERLAPPED over a wri…
e44fa97
docs(ioring): call the pre-allocation step a zero-fill, and say it is…
54cf1c6
docs(ioring): measure what set_len costs instead of asserting it
7bb7cc1
docs(ioring): measure the deliberate-forcing trick, and bound the fil…
e9b086a
docs(ioring): measure what the pre-allocation costs at this sample's …
c7bf651
perf(ioring): size the zero-fill chunk from measurement, not habit
bc86ea6
docs(ioring): record why the zero buffer is allocated and not a static
e1c65cc
test(ioring): run the epoch-log sample's own verification, and main u…
2b2e75c
feat(ioring): measure a commit as submit / blocking / deferral
6c012e6
fix(ioring): count a strategy's preparation as part of its commit, an…
d8c90f6
docs(ioring): sweep what M25 made false, and record D-56 and D-57
fc9f48e
docs(ioring): report the comparison, not the verdict, in the M25 capt…
2d62cbe
refactor(ioring): keep replay's slice for a stated reason, digest the…
c200174
docs(ioring): specify the permitted kernel response space as D-59
73b60c9
feat(ioring): route the submission-path kernel calls through a seam
6e53bbe
feat(ioring): build the seeded resolver over the kernel response space
ac177da
test(ioring): state the properties that must hold under every resolution
ce747ce
test(ioring): calibrate the resolver against two defects that really …
b518a94
test(ioring): raise the standard seeded-sweep size to 2048
b0fd225
test(ioring): give the kernel tests their conformance job and enforce it
d4ecf8d
test(ioring): restate 31 frozen observations as this crate's contract
2585180
feat(ioring): hand rundown's retry policy to the caller, and fix an e…
382efe6
test(ioring): make the event-delivery stall report a diagnosis, not a…
0444768
docs(ioring): narrow the event-delivery flake to a minimal reproducer
2522bbf
feat(threadpool): add a trace for defects that only appear under conc…
ef3ada4
feat(ioring): trace the delivery path, and prove the pool is alive wh…
dedbc19
docs(threadpool): state the arm-before-signal rule on arm and rearm
6d6956d
fix(ioring): arm the delivery wait before signalling the completion e…
f4d4f0e
feat(ioring): decide RS-P-8, a completion may report fewer bytes than…
9c01eb9
docs(ioring): record how M26.11 will determine a handle type
1275443
docs(ioring): withdraw an unsupported claim in M26.11 and reframe the…
eb2f15b
docs(ioring): decide against a handle pre-check for the epoch log (D-70)
1b975af
feat(ioring): state the epoch log's handle requirements and enforce t…
29a6ebd
chore: bootstrap win-numa-sys in the release-please manifest
3fbb0a5
chore: register win-numa-sys in the publish workflow
02bb88f
fix(ioring): resolve the intra-doc links this branch broke
04c329b
fix(ioring): address PR #108 review, and record what one finding unco…
95fc3e3
fix(ioring): address the two findings Copilot raised without a thread
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.