Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268483AbUJDGwr (ORCPT ); Mon, 4 Oct 2004 02:52:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268484AbUJDGwq (ORCPT ); Mon, 4 Oct 2004 02:52:46 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:55199 "EHLO fgwmail5.fujitsu.co.jp") by vger.kernel.org with ESMTP id S268483AbUJDGwo (ORCPT ); Mon, 4 Oct 2004 02:52:44 -0400 Date: Mon, 04 Oct 2004 15:58:11 +0900 From: Hiroyuki KAMEZAWA Subject: Re: [RFC] memory defragmentation to satisfy high order allocations In-reply-to: <20041001182221.GA3191@logos.cnet> To: Marcelo Tosatti Cc: linux-mm@kvack.org, akpm@osdl.org, Nick Piggin , arjanv@redhat.com, linux-kernel@vger.kernel.org Message-id: <4160F483.3000309@jp.fujitsu.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7bit X-Accept-Language: en-us, en User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113 References: <20041001182221.GA3191@logos.cnet> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 839 Lines: 35 Hi, Marcelo Tosatti wrote: > +int can_move_page(struct page *page) > +{ > + if (page_count(page) == 0) > + return 1; I think there are 3 cases when page_count(page) == 0. 1. a page is free and in the buddy allocator. 2. a page is free and in per-cpu-pages list. 3. a page is in pagevec . I think only case 1 pages meet your requirements. I used PG_private flag for distinguishing case 1 from 2 and 3 in my no-bitmap buddy allocator posted before. I added PG_private flag to a page which is in buddy allocator's free_list. Regards -- Kame - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/