From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with ESMTP id CB54B6B0044 for ; Wed, 28 Jan 2009 20:22:01 -0500 (EST) Date: Thu, 29 Jan 2009 10:16:23 +0900 From: Daisuke Nishimura Subject: Re: [PATCH] migration: migrate_vmas should check "vma" Message-Id: <20090129101623.0d64d81b.nishimura@mxp.nes.nec.co.jp> In-Reply-To: <20090128165512.GA22588@cmpxchg.org> References: <20090128162619.2205befd.nishimura@mxp.nes.nec.co.jp> <20090128165512.GA22588@cmpxchg.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Christoph Lameter Cc: Johannes Weiner , Andrew Morton , LKML , linux-mm , nishimura@mxp.nes.nec.co.jp List-ID: On Wed, 28 Jan 2009 17:55:12 +0100, Johannes Weiner wrote: > On Wed, Jan 28, 2009 at 11:42:36AM -0500, Christoph Lameter wrote: > > On Wed, 28 Jan 2009, Daisuke Nishimura wrote: > > > > > migrate_vmas() should check "vma" not "vma->vm_next" for for-loop condition. > > > > The loop condition is checked before vma = vma->vm_next. So the last > > iteration of the loop will now be run with vma = NULL? > > No, the condition is always checked before the body is executed. The > assignment to vma->vm_next happens at the end of every body. > So, I think in current code the loop body is not executed about the last vma in the list. Thanks, Daisuke Nishimura. > Try this: > > int a = 2; > > for (puts("init"); puts("cond"), a; puts("next")) > a--; > > Hannes -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org