Re: [PATCH 18/22] kvm: mmu: Support disabling dirty logging for the tdp MMU

From: Paolo Bonzini
Date: Fri Sep 25 2020 - 21:09:23 EST


On 25/09/20 23:22, Ben Gardon wrote:
> + for_each_tdp_pte_root(iter, root, start, end) {
> + if (!is_shadow_present_pte(iter.old_spte) ||
> + is_last_spte(iter.old_spte, iter.level))
> + continue;
> +

I'm starting to wonder if another iterator like
for_each_tdp_leaf_pte_root would be clearer, since this idiom repeats
itself quite often. The tdp_iter_next_leaf function would be easily
implemented as

while (likely(iter->valid) &&
(!is_shadow_present_pte(iter.old_spte) ||
is_last_spte(iter.old_spte, iter.level))
tdp_iter_next(iter);

Paolo