v3 2026-08-06

修复 Xen GPC 在 RT 下 rwlock 睡眠 · v3

将 gfn_to_pfn_cache 读侧改为仅用 RCU,写者清 valid 等宽限期后操作,删除锁机制及大量补丁。

原始补丁链接

子 Patch(7)

1/7
KVM: pfncache: use a dedicated invalidation sequence for cache refresh
[– Attachment #1.1: Type: text/plain, Size: 6888 bytes –] The gfn_to_pfn_cache refresh path guards against mmu notifier invalidations which complete while it has dropped gpc->lock for the HVA->PFN l
2/7
mm/mmu_notifier: Remove non_block_start/end() from notifier invocation
[mm/mmu_notifier: Remove non_block_start/end() from notifier invocation] [– Attachment #1.1: Type: text/plain, Size: 3130 bytes –] This effectively reverts commit ba170f76b69d (“mm, notifier: Catch
3/7
KVM: pfncache: Use RCU for readers instead of a rwlock
[– Attachment #1.1: Type: text/plain, Size: 29321 bytes –] Replace the per-cache rwlock with RCU for the read side. Readers now run under rcu_read_lock() alone, which works in any context (including
4/7
KVM: x86/xen: Extract delivery of event to vCPU into a separate helper
[– Attachment #1.1: Type: text/plain, Size: 5282 bytes –] From: Sean Christopherson seanjc@google.com Move the marking of an event as pending in the target vCPU’s vcpu_info into a separate helper
5/7
KVM: x86/xen: Explicitly tag "shared info" page as never being dirty tracked
[– Attachment #1.1: Type: text/plain, Size: 3455 bytes –] From: Sean Christopherson seanjc@google.com Explicitly mark the Xen shared info page as never being dirty tracked so that higher-level gp
6/7
KVM: x86/xen: Don't dirty track "vCPU info" page
[– Attachment #1.1: Type: text/plain, Size: 1754 bytes –] From: Sean Christopherson seanjc@google.com Give the Xen per-vCPU info page the same treatment as the per-VM shared info page, and never
7/7
KVM: x86: Use gfn_to_pfn_cache for steal time / preempted status
[– Attachment #1.1: Type: text/plain, Size: 10352 bytes –] From: Carsten Stollmaier stollmc@amazon.com This largely reverts commit 7e2175ebd695 (“KVM: x86: Fix recording of guest steal time / pre