lkml.org 
[lkml]   [2022]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 22/28] KVM: x86/mmu: Zap defunct roots via asynchronous worker
From
On 3/2/22 20:33, Sean Christopherson wrote:
> What about that idea? Put roots invalidated by "fast zap" on_another_ list?
> My very original idea of moving the roots to a separate list didn't work because
> the roots needed to be reachable by the mmu_notifier. But we could just add
> another list_head (inside the unsync_child_bitmap union) and add the roots to
> _that_ list.

Perhaps the "separate list" idea could be extended to have a single
worker for all kvm_tdp_mmu_put_root() work, and then indeed replace
kvm_tdp_mmu_zap_invalidated_roots() with a flush of _that_ worker. The
disadvantage is a little less parallelism in zapping invalidated roots;
but what is good for kvm_tdp_mmu_zap_invalidated_roots() is just as good
for kvm_tdp_mmu_put_root(), I suppose. If one wants separate work
items, KVM could have its own workqueue, and then you flush that workqueue.

For now let's do it the simple but ugly way. Keeping
next_invalidated_root() does not make things worse than the status quo,
and further work will be easier to review if it's kept separate from
this already-complex work.

Paolo

\
 
 \ /
  Last update: 2022-03-02 21:15    [W:0.247 / U:1.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site