Skip to content

drivers: hv: mshv_vtl: disable TSC_ADJUST handling for CONFIG_HYPERV_VTL_MODE#120

Open
Brian-Perkins wants to merge 1 commit intomicrosoft:product/hcl-main/6.12from
Brian-Perkins:restore_partition_time_ignore_tsc_adjust
Open

drivers: hv: mshv_vtl: disable TSC_ADJUST handling for CONFIG_HYPERV_VTL_MODE#120
Brian-Perkins wants to merge 1 commit intomicrosoft:product/hcl-main/6.12from
Brian-Perkins:restore_partition_time_ignore_tsc_adjust

Conversation

@Brian-Perkins
Copy link
Copy Markdown
Contributor

drivers: hv: mshv_vtl: TSC_ADJUST handling should not be needed for guests running in Hyper-V.

For backward compatibility, turn it off only when built with CONFIG_HYPERV_VTL_MODE. This addresses an issue where the TSC_ADJUST runtime checks would conflict with restore_partition_time handling that would adjust the global TSC value using a Hyper-V hypercall.

Copilot AI review requested due to automatic review settings March 26, 2026 22:05
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Disables x86 TSC_ADJUST-based synchronization/adjustment logic when running in Hyper-V Virtual Trust Level (VTL) mode, avoiding conflicts with Hyper-V’s partition time restore behavior.

Changes:

  • Clear X86_FEATURE_TSC_ADJUST during VTL platform initialization so TSC_ADJUST-dependent logic (e.g., periodic sync checks) is skipped.
  • Add an explanatory comment describing why TSC_ADJUST is disabled in this mode.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +86 to +90
* Disable TSC_ADJUST so that the periodic TSC sync check timer
* (start_sync_check_timer) and related TSC adjustment logic are
* skipped. The TSC exposed via Hyper-V will be consistent across
* processors.
*/
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

Block comment formatting is inconsistent with the rest of this file/kernel style: the lines inside the /* / should be indented as "\t * ..." (with a space after the tab), but they currently start with "\t". Please align the leading " *" on lines inside the comment (and the closing */) with other comments in this file (e.g., the one starting near line 51).

Suggested change
* Disable TSC_ADJUST so that the periodic TSC sync check timer
* (start_sync_check_timer) and related TSC adjustment logic are
* skipped. The TSC exposed via Hyper-V will be consistent across
* processors.
*/
* Disable TSC_ADJUST so that the periodic TSC sync check timer
* (start_sync_check_timer) and related TSC adjustment logic are
* skipped. The TSC exposed via Hyper-V will be consistent across
* processors.
*/

Copilot uses AI. Check for mistakes.
…uests running in Hyper-V.

For backward compatibility, turn it off only when built with CONFIG_HYPERV_VTL_MODE.
This addresses an issue where the TSC_ADJUST runtime checks would conflict with
restore_partition_time handling that would adjust the global TSC value using a Hyper-V
hypercall.

Signed-off-by: Brian Perkins <brian.perkins@microsoft.com>
@Brian-Perkins Brian-Perkins force-pushed the restore_partition_time_ignore_tsc_adjust branch from 17059c9 to a5735f3 Compare March 26, 2026 22:27
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.

2 participants