From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] fs: use kmalloc() to allocate fdmem if possible Date: Mon, 03 May 2010 11:49:40 +0300 Message-ID: <4BDE8E24.5050200@redhat.com> References: <1272818776-7729-1-git-send-email-xiaosuo@gmail.com> <4BDDB6E9.4060703@redhat.com> <201005030915.FCD09385.FFHVOMJtSLOFQO@I-love.SAKURA.ne.jp> <4BDE67DA.4080004@redhat.com> <4BDE7E66.8030509@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Tetsuo Handa , jslaby@suse.cz, akpm@linux-foundation.org, paulmck@linux.vnet.ibm.com, adobriyan@gmail.com, mingo@elte.hu, peterz@infradead.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Changli Gao Return-path: Received: from mx1.redhat.com ([209.132.183.28]:22559 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751446Ab0ECIu1 (ORCPT ); Mon, 3 May 2010 04:50:27 -0400 In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 05/03/2010 10:52 AM, Changli Gao wrote: > On Mon, May 3, 2010 at 3:42 PM, Avi Kivity wrote: > >> On 05/03/2010 10:05 AM, Changli Gao wrote: >> >>> On Mon, May 3, 2010 at 2:06 PM, Avi Kivity wrote: >>> >>> >>>> My point is, vmalloc() and vfree should do this, not their callers: >>>> >>>> vmalloc(size): >>>> if (size<= PAGE_SIZE) >>>> return kmalloc(size, GFP_KERNEL); >>>> ... >>>> >>>> vfree(p): >>>> if (!is_vmalloc_addr(p) { >>>> kfree(p); >>>> return; >>>> } >>>> ... >>>> >>>> >>> I think we should not change vmalloc/vfree, and you can invent new >>> memory APIs, such as malloc()/free(). >>> >>> >> Why? >> >> > Because vmalloc is used to allocate virtually contiguous memory. v in > vmalloc means virtually. > > A kmalloc()ed page is virtually contiguous, satisfying your requirement. -- error compiling committee.c: too many arguments to function