From: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
To: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Cc: Avi Kivity <avi@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 1/3] KVM MMU: make kvm_mmu_zap_page() return the number of zapped sp in total.
Date: Fri, 23 Apr 2010 11:49:43 +0800 [thread overview]
Message-ID: <4BD118D7.4040102@cn.fujitsu.com> (raw)
In-Reply-To: <4BD017CD.1090500@cn.fujitsu.com>
Gui Jianfeng wrote:
> Currently, in kvm_mmu_change_mmu_pages(kvm, page), "used_pages--" is performed after calling
> kvm_mmu_zap_page() in spite of that whether "page" is actually reclaimed. Because root sp won't be
> reclaimed by kvm_mmu_zap_page(). So making kvm_mmu_zap_page() return total number of reclaimed sp
> makes more sense. A new flag is put into kvm_mmu_zap_page() to indicate whether the top page is reclaimed.
>
This bug only hurts kvm_mmu_change_mmu_pages() function, we'd better allow 'self_deleted' is
NULL, then we can pass NULL at other place.
> @@ -1571,7 +1584,8 @@ restart:
> pgprintk("%s: gfn %lx role %x\n", __func__, gfn,
> sp->role.word);
> r = 1;
> - if (kvm_mmu_zap_page(kvm, sp))
> + ret = kvm_mmu_zap_page(kvm, sp, &self_deleted);
> + if (ret > 1 || (ret == 1 && self_deleted == 0))
> goto restart;
Maybe we can keep kvm_mmu_zap_page() returns the number of zapped children,
and 'self_deleted' indicates whether self is zapped, then we no need modify
those function, just fix kvm_mmu_change_mmu_pages() that is if 'self_deleted == 1',
inc 'used_pages'
Xiao
next prev parent reply other threads:[~2010-04-23 3:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-22 9:33 [PATCH 1/3] KVM MMU: make kvm_mmu_zap_page() return the number of zapped sp in total Gui Jianfeng
2010-04-23 3:49 ` Xiao Guangrong [this message]
2010-04-23 5:03 ` Gui Jianfeng
2010-04-23 5:58 ` [PATCH 1/3 v2] " Gui Jianfeng
2010-04-26 17:36 ` Marcelo Tosatti
2010-05-03 13:38 ` Gui Jianfeng
2010-05-04 13:25 ` Marcelo Tosatti
2010-05-05 0:18 ` Gui Jianfeng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BD118D7.4040102@cn.fujitsu.com \
--to=xiaoguangrong@cn.fujitsu.com \
--cc=avi@redhat.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.