From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v2 2/9] KVM: MMU: introduce for_each_rmap_spte() Date: Tue, 12 May 2015 17:36:26 +0800 Message-ID: <5551C99A.3020002@linux.intel.com> References: <1431397953-16642-1-git-send-email-guangrong.xiao@linux.intel.com> <1431397953-16642-3-git-send-email-guangrong.xiao@linux.intel.com> <5551B4EE.8020000@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gleb@kernel.org, mtosatti@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Paolo Bonzini Return-path: In-Reply-To: <5551B4EE.8020000@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 05/12/2015 04:08 PM, Paolo Bonzini wrote: > > > On 12/05/2015 04:32, Xiao Guangrong wrote: >> - while ((sptep = rmap_get_first(*rmapp, &iter))) { >> - BUG_ON(!(*sptep & PT_PRESENT_MASK)); >> +restart: >> + for_each_rmap_spte(rmapp, &iter, sptep) { >> rmap_printk("kvm_rmap_unmap_hva: spte %p %llx gfn %llx (%d)\n", >> sptep, *sptep, gfn, level); >> >> drop_spte(kvm, sptep); >> need_tlb_flush = 1; >> + goto restart; >> } >> > > For this one, I would keep using rmap_get_first. Otherwise looks good. > > Paolo > Okay, will do.