perf(config): optimize the x86 guest kernel - #25
Merged
Conversation
Advance the bundled stable kernel by one patch release so the firmware build remains on the current Linux 6.12.y baseline. Keep the existing libkrunfw version, ABI, reproducible timestamp, and patch stack unchanged.
Build the kernel's feature-detected CRC32C implementation so capable AMD and Intel guests can use hardware acceleration for ext4 metadata checksums instead of crc32c-generic.
Disable dynamic preemption in the x86 firmware configuration so the PREEMPT_NONE selection is compiled as the sole scheduling model. Keep this change isolated for hardlink throughput and responsiveness A/B testing before it is considered for the cumulative stack.
Enable the x86 guest kernel's x2APIC support on top of the cumulative CRC32C and static PREEMPT_NONE firmware. Keep the change isolated so its interrupt-routing and workload effects can be accepted or rejected without changing the cumulative performance branch.
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.
TL;DR
Enable hardware CRC32C, compile the x86 guest with static
PREEMPT_NONE, and enable x2APIC for the Microsandbox firmware performance stack.Description
PREEMPT_NONEas the selected scheduling model.Test Plan
scripts/check-kernel-version.shconfirms the stacked Linux 6.12.99 baseline is currentgit diff --check origin/krunfw..HEADexits 0CONFIG_CRYPTO_CRC32C_INTEL=y,CONFIG_PREEMPT_NONE=y,CONFIG_PREEMPT_DYNAMICdisabled, andCONFIG_X86_X2APIC=yexactly once