From mboxrd@z Thu Jan 1 00:00:00 1970 From: walt Subject: Re: [PATCH 3/4] restart search at beggining of vmalloc address Date: Fri, 14 Nov 2008 09:53:03 -0800 Message-ID: References: <1226097354-7523-1-git-send-email-glommer@redhat.com> <1226097354-7523-2-git-send-email-glommer@redhat.com> <1226097354-7523-3-git-send-email-glommer@redhat.com> <1226097354-7523-4-git-send-email-glommer@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org To: kvm@vger.kernel.org Return-path: Received: from main.gmane.org ([80.91.229.2]:55221 "EHLO ciao.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754678AbYKNRxO (ORCPT ); Fri, 14 Nov 2008 12:53:14 -0500 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1L12r3-0007uy-I9 for kvm@vger.kernel.org; Fri, 14 Nov 2008 17:53:13 +0000 Received: from adsl-69-234-198-72.dsl.irvnca.pacbell.net ([69.234.198.72]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Nov 2008 17:53:13 +0000 Received: from w41ter by adsl-69-234-198-72.dsl.irvnca.pacbell.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 14 Nov 2008 17:53:13 +0000 In-Reply-To: <1226097354-7523-4-git-send-email-glommer@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Glauber Costa wrote: > Current vmalloc restart search for a free area in case we > can't find one. The reason is there are areas which are lazily > freed, and could be possibly freed now. However, current implementation > start searching the tree from the last failing address, which is > pretty much by definition at the end of address space. So, we fail. > > The proposal of this patch is to restart the search from the beginning > of the requested vstart address. This fixes the regression in running > KVM virtual machines for me, described in > http://lkml.org/lkml/2008/10/28/349, caused by commit > db64fe02258f1507e13fe5212a989922323685ce. > > Signed-off-by: Glauber Costa > CC: Nick Piggin > --- > mm/vmalloc.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 7db493d..6fe2003 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -378,6 +378,7 @@ found: > if (!purged) { > purge_vmap_area_lazy(); > purged = 1; > + addr = ALIGN(vstart, align); > goto retry; > } > if (printk_ratelimit()) Linus doesn't seem to have this patch yet. Is it still needed?