Skip to content

Scan for placeholder markers on the first line#1834

Merged
oferchen merged 1 commit into
masterfrom
implement-oc-rsync-from-rsync-3.4.1
Nov 1, 2025
Merged

Scan for placeholder markers on the first line#1834
oferchen merged 1 commit into
masterfrom
implement-oc-rsync-from-rsync-3.4.1

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented Nov 1, 2025

Summary

  • ensure the no-placeholders scanner analyzes the first line of Rust sources
  • extend the xtask no-placeholders tests to cover first-line findings

Testing

  • cargo test -p xtask
  • cargo run -p xtask -- no-placeholders

https://chatgpt.com/codex/tasks/task_e_6905623dcbcc8323ba83d38b782a4ca9

@oferchen oferchen merged commit ee6df9f into master Nov 1, 2025
@oferchen oferchen deleted the implement-oc-rsync-from-rsync-3.4.1 branch November 1, 2025 01:41
oferchen added a commit that referenced this pull request May 1, 2026
) (#3499)

Add an audit doc designing EMA-driven adaptive sizing for the io_uring
registered buffer pool, plus the lightweight telemetry counters that
the design depends on.

The audit (docs/audits/io-uring-adaptive-buffer-sizing.md) covers:

- Where the current sizing constants live (IoUringConfig defaults,
  for_large_files, for_small_files) and how they reach the pool.
- Where to measure miss rate without a syscall on the hot path.
- Proposed EMA design: alpha=0.2, WARMUP_SAMPLES=8, geometric grow /
  linear shrink, hysteresis cooldown, MIN/MAX clamps.
- Integration points: Phase 1 (telemetry) lands now; Phase 2
  (AdaptiveBufferSizer + resize driver) follows.
- Risks: registered-buffer reallocation cost, RLIMIT_MEMLOCK, the
  1024-buffer kernel cap, Drop ordering, in-flight SQEs, SQPOLL,
  per-checkout fetch_add overhead.

Telemetry (Phase 1):

- RegisteredBufferGroup carries total_acquires / total_misses
  AtomicU64 counters bumped inside checkout(). Cost is two Relaxed
  fetch_add per call; sub-percent at line rate.
- A new RegisteredBufferStats snapshot type with miss_rate(), modeled
  on BufferPoolStats in the engine.
- RegisteredBufferGroup::stats() accessor.
- The stub module mirrors the API so adaptive-sizing logic compiles
  on non-Linux targets.
- Five new unit tests cover the zero state, hit path, miss path,
  return-does-not-decrement invariant, and the helper math.

Phase 2 (the actual AdaptiveBufferSizer + resize cycle) is intentionally
not in this PR. The doc is the contract.
oferchen added a commit that referenced this pull request May 5, 2026
) (#3499)

Add an audit doc designing EMA-driven adaptive sizing for the io_uring
registered buffer pool, plus the lightweight telemetry counters that
the design depends on.

The audit (docs/audits/io-uring-adaptive-buffer-sizing.md) covers:

- Where the current sizing constants live (IoUringConfig defaults,
  for_large_files, for_small_files) and how they reach the pool.
- Where to measure miss rate without a syscall on the hot path.
- Proposed EMA design: alpha=0.2, WARMUP_SAMPLES=8, geometric grow /
  linear shrink, hysteresis cooldown, MIN/MAX clamps.
- Integration points: Phase 1 (telemetry) lands now; Phase 2
  (AdaptiveBufferSizer + resize driver) follows.
- Risks: registered-buffer reallocation cost, RLIMIT_MEMLOCK, the
  1024-buffer kernel cap, Drop ordering, in-flight SQEs, SQPOLL,
  per-checkout fetch_add overhead.

Telemetry (Phase 1):

- RegisteredBufferGroup carries total_acquires / total_misses
  AtomicU64 counters bumped inside checkout(). Cost is two Relaxed
  fetch_add per call; sub-percent at line rate.
- A new RegisteredBufferStats snapshot type with miss_rate(), modeled
  on BufferPoolStats in the engine.
- RegisteredBufferGroup::stats() accessor.
- The stub module mirrors the API so adaptive-sizing logic compiles
  on non-Linux targets.
- Five new unit tests cover the zero state, hit path, miss path,
  return-does-not-decrement invariant, and the helper math.

Phase 2 (the actual AdaptiveBufferSizer + resize cycle) is intentionally
not in this PR. The doc is the contract.
oferchen added a commit that referenced this pull request May 17, 2026
…4204)

Add a Criterion benchmark that synthesises 100K, 500K, and 1M out-of-order
inserts across drift windows of 32, 256, 2048, and 16K, then reports
insert+drain throughput together with the peak occupancy via the
`metrics().max_depth` accessor.

The benchmark pre-allocates the drifted permutation outside the timed
section and prints `max_depth` once per (count, drift) pair so operators
can compare against in-flight dispatch capacity and decide whether the
spill (#1884) or adaptive-sizing (#1834) paths are warranted. The 1M case
is gated behind `BENCH_REORDER_MEMORY_1M=1` to keep default runs fast.
oferchen added a commit that referenced this pull request May 17, 2026
…#1834) (#4216)

Records the design and explicit defer recommendation for an EMA-throughput
feedback loop over BufferPool soft capacity. Cites current sizing knobs in
crates/engine/src/local_copy/buffer_pool/, leverages the existing
ThroughputTracker (alpha=0.1) and AdaptiveBufferController instead of
introducing parallel state, and lists the bench thresholds prerequisite to
shipping the loop.
oferchen added a commit that referenced this pull request May 18, 2026
…4204)

Add a Criterion benchmark that synthesises 100K, 500K, and 1M out-of-order
inserts across drift windows of 32, 256, 2048, and 16K, then reports
insert+drain throughput together with the peak occupancy via the
`metrics().max_depth` accessor.

The benchmark pre-allocates the drifted permutation outside the timed
section and prints `max_depth` once per (count, drift) pair so operators
can compare against in-flight dispatch capacity and decide whether the
spill (#1884) or adaptive-sizing (#1834) paths are warranted. The 1M case
is gated behind `BENCH_REORDER_MEMORY_1M=1` to keep default runs fast.
oferchen added a commit that referenced this pull request May 18, 2026
…#1834) (#4216)

Records the design and explicit defer recommendation for an EMA-throughput
feedback loop over BufferPool soft capacity. Cites current sizing knobs in
crates/engine/src/local_copy/buffer_pool/, leverages the existing
ThroughputTracker (alpha=0.1) and AdaptiveBufferController instead of
introducing parallel state, and lists the bench thresholds prerequisite to
shipping the loop.
oferchen added a commit that referenced this pull request May 18, 2026
…4204)

Add a Criterion benchmark that synthesises 100K, 500K, and 1M out-of-order
inserts across drift windows of 32, 256, 2048, and 16K, then reports
insert+drain throughput together with the peak occupancy via the
`metrics().max_depth` accessor.

The benchmark pre-allocates the drifted permutation outside the timed
section and prints `max_depth` once per (count, drift) pair so operators
can compare against in-flight dispatch capacity and decide whether the
spill (#1884) or adaptive-sizing (#1834) paths are warranted. The 1M case
is gated behind `BENCH_REORDER_MEMORY_1M=1` to keep default runs fast.
oferchen added a commit that referenced this pull request May 18, 2026
…#1834) (#4216)

Records the design and explicit defer recommendation for an EMA-throughput
feedback loop over BufferPool soft capacity. Cites current sizing knobs in
crates/engine/src/local_copy/buffer_pool/, leverages the existing
ThroughputTracker (alpha=0.1) and AdaptiveBufferController instead of
introducing parallel state, and lists the bench thresholds prerequisite to
shipping the loop.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant