Re: [PATCH v7 02/10] KVM: MMU: abstract spte write-protect

From: Takuya Yoshikawa
Date: Wed Jun 20 2012 - 05:02:58 EST


On Wed, 20 Jun 2012 15:57:15 +0800
Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> wrote:

> Introduce a common function to abstract spte write-protect to
> cleanup the code
>
> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>

...

> +/* Return true if the spte is dropped. */
> +static bool spte_write_protect(struct kvm *kvm, u64 *sptep, bool *flush)
> +{
> + u64 spte = *sptep;
> +
> + if (!is_writable_pte(spte))
> + return false;
> +
> + rmap_printk("rmap_write_protect: spte %p %llx\n", sptep, *sptep);

...

> @@ -3902,16 +3915,7 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
> !is_last_spte(pt[i], sp->role.level))
> continue;
>
> - if (is_large_pte(pt[i])) {
> - drop_spte(kvm, &pt[i]);
> - --kvm->stat.lpages;
> - continue;
> - }
> -
> - /* avoid RMW */
> - if (is_writable_pte(pt[i]))
> - mmu_spte_update(&pt[i],
> - pt[i] & ~PT_WRITABLE_MASK);
> + spte_write_protect(kvm, &pt[i], &flush);

Adding rmap_printk() here seems wrong.

If you think it is not a problem, please explain why you think so in
the changelog.

Thanks,
Takuya
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/