[PR #193] [MERGED] fix: filter KVM-managed CPUID leaf 0x1f #241

Closed
opened 2026-10-29 14:21:22 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/193
Author: @zlzGithub-0801
Created: 8/19/2026
Status: ✅ Merged
Merged: 8/20/2026
Merged by: @yingdi-shan

Base: main ← Head: fix/filter-cpuid-leaf-1f


📝 Commits (1)

  • ef1700c fix: filter KVM-managed CPUID leaf 0x1f

📊 Changes

2 files changed (+4 additions, -2 deletions)

View changed files

📝 services/scheduler/internal/cpu_template.go (+2 -1)
📝 services/scheduler/internal/cpu_template_test.go (+2 -1)

📄 Description

What

Filter CPUID leaf 0x1f from cluster CPU template intersections.

Why

Firecracker may dump topology entries under leaf 0x1f that are absent from KVM_GET_SUPPORTED_CPUID, causing intermittent template build failures.

N/A.

Scope and non-goals

This only extends the existing filtering of Firecracker-managed topology leaves and does not change CPU template generation or Firecracker.

Design and behavior changes

The scheduler now excludes both CPUID leaves 0xb and 0x1f before returning the cluster CPU configuration.

Compatibility and operations

  • Public API or generated protocol: N/A.
  • Configuration or defaults: N/A.
  • Snapshot manifest, artifact layout, or storage format: N/A.
  • Upgrade and rollback: Safe to upgrade or roll back without migration.
  • Host requirements, permissions, ports, or dependencies: N/A.

Validation

  • make fmt
  • make clippy
  • make test-unit
  • Relevant Rust integration tests
  • make -C services test (required when services/ changes)
  • Generated clients/server regenerated with the documented make target
  • Documentation updated
  • [] Benchmarks or performance comparison completed

Skipped checks and reasons: Full checks were not run because the change is limited to the scheduler CPUID filter and its existing focused test.

Risks and reviewer notes

N/A

Checklist

  • The PR contains one coherent change and no unrelated formatting or refactoring.
  • New behavior is covered by tests, or I explained why testing is impractical.
  • Logs and examples contain no credentials, tokens, or private registry information.
  • I did not manually edit generated code without updating its source and regenerating it.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/193 **Author:** [@zlzGithub-0801](https://github.com/zlzGithub-0801) **Created:** 8/19/2026 **Status:** ✅ Merged **Merged:** 8/20/2026 **Merged by:** [@yingdi-shan](https://github.com/yingdi-shan) **Base:** `main` ← **Head:** `fix/filter-cpuid-leaf-1f` --- ### 📝 Commits (1) - [`ef1700c`](https://github.com/kvcache-ai/AgentENV/commit/ef1700c91f343ab26299d7cf4112486197dd6a92) fix: filter KVM-managed CPUID leaf 0x1f ### 📊 Changes **2 files changed** (+4 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `services/scheduler/internal/cpu_template.go` (+2 -1) 📝 `services/scheduler/internal/cpu_template_test.go` (+2 -1) </details> ### 📄 Description ## What Filter CPUID leaf `0x1f` from cluster CPU template intersections. ## Why Firecracker may dump topology entries under leaf `0x1f` that are absent from `KVM_GET_SUPPORTED_CPUID`, causing intermittent template build failures. ## Related issue N/A. ## Scope and non-goals This only extends the existing filtering of Firecracker-managed topology leaves and does not change CPU template generation or Firecracker. ## Design and behavior changes The scheduler now excludes both CPUID leaves `0xb` and `0x1f` before returning the cluster CPU configuration. ## Compatibility and operations - Public API or generated protocol: N/A. - Configuration or defaults: N/A. - Snapshot manifest, artifact layout, or storage format: N/A. - Upgrade and rollback: Safe to upgrade or roll back without migration. - Host requirements, permissions, ports, or dependencies: N/A. ## Validation - [x] `make fmt` - [x] `make clippy` - [x] `make test-unit` - [x] Relevant Rust integration tests - [x] `make -C services test` (required when `services/` changes) - [x] Generated clients/server regenerated with the documented `make` target - [ ] Documentation updated - [] Benchmarks or performance comparison completed Skipped checks and reasons: Full checks were not run because the change is limited to the scheduler CPUID filter and its existing focused test. ## Risks and reviewer notes N/A ## Checklist - [x] The PR contains one coherent change and no unrelated formatting or refactoring. - [x] New behavior is covered by tests, or I explained why testing is impractical. - [x] Logs and examples contain no credentials, tokens, or private registry information. - [x] I did not manually edit generated code without updating its source and regenerating it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:21:22 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#241
No description provided.