From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [patch 07/10] KVM: MMU: mmu_parent_walk Date: Mon, 22 Sep 2008 23:30:51 +0300 Message-ID: <48D8007B.10405@redhat.com> References: <20080918212749.800177179@localhost.localdomain> <20080918213336.976429470@localhost.localdomain> <48D44A4E.3070400@redhat.com> <20080921004428.GB10120@dmt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, "David S. Ahern" To: Marcelo Tosatti Return-path: Received: from mx2.redhat.com ([66.187.237.31]:35408 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753569AbYIVUaw (ORCPT ); Mon, 22 Sep 2008 16:30:52 -0400 In-Reply-To: <20080921004428.GB10120@dmt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: Marcelo Tosatti wrote: > On Fri, Sep 19, 2008 at 05:56:46PM -0700, Avi Kivity wrote: > >>> + } while (level > start_level-1); >>> +} >>> + >>> >> Could be much simplified with recursion, no? As the depth is limited to >> 4, there's no stack overflow problem. >> > > The early version was recursive, but since its a generic helper I > preferred a non-recursive function. > Let's start with a super-simple recursive version. When the code has seen some debugging, we can add complexity. But for the initial phase, simpler is better. The non-recursive version has the advantage that it can be converted to a kvm_for_each_parent() later, but still, we can do that later. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.