Skip to content

Pin unslothai/llama.cpp#210 (server-side preemption and exact concurrency) at afd3248b82 - #211

Open
danielhanchen wants to merge 14 commits into
masterfrom
pin/server-side-preemption-197
Open

Pin unslothai/llama.cpp#210 (server-side preemption and exact concurrency) at afd3248b82#211
danielhanchen wants to merge 14 commits into
masterfrom
pin/server-side-preemption-197

Conversation

@danielhanchen

@danielhanchen danielhanchen commented Sep 9, 2026

Copy link
Copy Markdown
Member

Adds one pin: #210 at 15bcc6c, the tree of #197 (server-side preemption: parking a slot instead of ending every conversation when the KV cache fills, per-request park and resume notices, asynchronous parks, the opt-in exact concurrency mode) composed with the pinned commit of ggml-org#25731 so it merges after it on b10871. #197 carries #184, #190 and #192 in its history, so those are not pinned; #194 is superseded by #197 (its code fixes were ported) and conflicts with it, so it is not pinned either.

Every preemption process in the pinned tree is off by default: --preempt-ram defaults to 0 (a server without the flag behaves exactly as upstream, unified cache included) and exact concurrency is an environment opt-in. Studio passes --preempt-ram explicitly when it wants the server to park.

Also records #210 under unchecked in feature-checks.json: a server park has no arch, backend-op or mtmd probe surface; the feature is covered by test-exact-geometry and the server preemption tests in #197, which need a CUDA host for the exact path.

Reproduced the preflight's resolve loop (fresh clone of upstream at the base tag, every pin fetched and merged in listed order with diff3, additive_merge.py on conflict, then merge_checks.py and pin_contract.py) on b10871, the base the preflight resolves at the time of writing:

ok ggml-org/llama.cpp#24423
ok ggml-org/llama.cpp#25731 (additive resolve)
ok unslothai/llama.cpp#70 (additive resolve)
ok unslothai/llama.cpp#61
ok unslothai/llama.cpp#95
ok ggml-org/llama.cpp#27754
ok unslothai/llama.cpp#137
ok unslothai/llama.cpp#158
ok unslothai/llama.cpp#157
ok unslothai/llama.cpp#149
ok unslothai/llama.cpp#144
ok unslothai/llama.cpp#152
ok unslothai/llama.cpp#176
ok unslothai/llama.cpp#210 (additive resolve)
merge_checks: clean
pin_contract: all 14 pins are intact in the merged tree

The new pin's two residual hunks are pure add/add against earlier pins (the CUDA proc-address table entry next to ggml-org#24423's, the exact-concurrency refusals in llama-memory-hybrid.cpp next to the kpool-dirty blocks), which additive_merge.py resolves.

Why the pin is composed with inkling rather than a single commit on the tag: inkling's pinned commit edits the mul_mat dispatch #197 restructured (its f32_pedantic guards) and adds declarations and a test struct at the same insertion points, a modify/modify overlap additive_merge.py cannot resolve. The pin commit therefore has the inkling pin as its second parent, with the guard folded into ggml_cuda_mul_mat_path, so the composed merge has one base. The cost: #210 has to be recomposed whenever ggml-org#25731 is repinned or dropped, which the repin bot does not do on its own.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for security reviews. Please try again later.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T13:24:17.549287Z de95de4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: de95de4612

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/unsloth/pr-set.json Outdated
"https://github.com/unslothai/llama.cpp/pull/152/commits/b2b5ed9ff86427a530b762a45d3fdbd453bcd4e8",
"https://github.com/unslothai/llama.cpp/pull/176/commits/09ce1a4d2939844e211f7b4d30a296f4c1aed9a8"
"https://github.com/unslothai/llama.cpp/pull/176/commits/09ce1a4d2939844e211f7b4d30a296f4c1aed9a8",
"https://github.com/unslothai/llama.cpp/pull/210/commits/afd3248b8270bf4aa66f5f3fb0e2c9cbc64337a1"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Register the new pin in feature-checks

When unsloth-pr-set-lint.yml runs for this pr-set.json change, it derives unslothai#210 from the new URL, but that identifier appears in neither features nor unchecked in scripts/unsloth/feature-checks.json; the "Every pin is either checked or knowingly unchecked" step therefore exits with status 1. Add a runtime feature check for the preemption/concurrency behavior, or explicitly record why this pin is unchecked, so the pin validation can pass.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in e2e0390: #210 is recorded under unchecked in feature-checks.json with the reason (a server park has no arch, backend-op or mtmd probe surface; it is covered by test-exact-geometry and the server preemption tests in #197, which need a CUDA host). The lint pr-set.json run on that push passes.

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