From: Jeremy Fitzhardinge Subject: Re: [PATCH] Allow lazy unmapping by taking extra page references V3 Date: Wed, 24 Oct 2007 15:46:16 -0700 Message-ID: <471FCB38.10106@goop.org> References: <471CEEB4.9040807@goop.org> <20071022190740.GA1695@one.firstfloor.org> <20071022223224.GC995458@sgi.com> <20071022233514.GA9057@one.firstfloor.org> <20071023003641.GF995458@sgi.com> <20071023070414.GM66820511@sgi.com> <20071023093035.GB24536@one.firstfloor.org> <20071024043619.GE66820511@sgi.com> <471ED35F.3020605@goop.org> <20071024214826.GH66820511@sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20071024214826.GH66820511@sgi.com> Sender: linux-kernel-owner@vger.kernel.org To: David Chinner Cc: Andi Kleen , dean gaudet , Nick Piggin , Xen-devel , Morten@suse.de, Linux Kernel Mailing List , =?ISO-8859-1?Q?B=F8geskov?= , xfs@oss.sgi.com, xfs-masters@oss.sgi.com, Mark Williamson List-Id: xen-devel@lists.xenproject.org David Chinner wrote: > Allow lazy unmapping of vmap()d regions be taking a reference > on each page in the region being vmap()ed. The page references > get released after the region is vunmap()ed, thereby ensuring > we don't leave stray mappings on freed pages that could lead to > problems pages being reallocated with incorrect mappings > associated with them. > > Tested with XFS filesystems with 64k directory blocks with > dirstress and XFSQA. > > Version 3: > - compile on latest -git > Not quite: CC mm/vmalloc.o /home/jeremy/hg/xen/paravirt/linux/mm/vmalloc.c: In function 'vm_area_alloc_pagearray': /home/jeremy/hg/xen/paravirt/linux/mm/vmalloc.c:338: error: 'GFP_LEVEL_MASK' undeclared (first use in this function) /home/jeremy/hg/xen/paravirt/linux/mm/vmalloc.c:338: error: (Each undeclared identifier is reported only once /home/jeremy/hg/xen/paravirt/linux/mm/vmalloc.c:338: error: for each function it appears in.) make[3]: *** [mm/vmalloc.o] Error 1 make[2]: *** [mm] Error 2 make[2]: *** Waiting for unfinished jobs.... GFP_RECLAM_MASK now? J