[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100728090854.9b255f7c.kamezawa.hiroyu@jp.fujitsu.com>
Date: Wed, 28 Jul 2010 09:08:54 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Jonathan Corbet <corbet@....net>
Cc: "linux-mm@...ck.org" <linux-mm@...ck.org>,
"nishimura@....nes.nec.co.jp" <nishimura@....nes.nec.co.jp>,
"balbir@...ux.vnet.ibm.com" <balbir@...ux.vnet.ibm.com>,
gthelen@...gle.com, m-ikeda@...jp.nec.com,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC][PATCH 1/7][memcg] virtually indexed array library.
On Tue, 27 Jul 2010 12:29:49 -0600
Jonathan Corbet <corbet@....net> wrote:
> On Tue, 27 Jul 2010 16:53:03 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> wrote:
>
> > This virt-array allocates a virtally contiguous array via get_vm_area()
> > and allows object allocation per an element of array.
>
> Quick question: this looks a lot like the "flexible array" mechanism
> which went in around a year ago, and which is documented in
> Documentation/flexible-arrays.txt. I'm not sure we need two of
> these... That said, it appears that there are still no users of
> flexible arrays. If your virtually-indexed arrays provide something
> that flexible arrays don't, perhaps your implementation should replace
> flexible arrays?
Hmm. As Documentatin/flexible-arrays.txt says,
"The down sides are that the arrays cannot be indexed directly, individual object
size cannot exceed the system page size, and putting data into a flexible array
requires a copy operation. "
This virtually-indexed array is
- the arrays can be indexed directly.
- individual object size can be defined arbitrary.
- puttind data into virt-array requires memory allocation via alloc_varray_item().
But, virtyally-indexed array has its own down side, too.
- It uses vmalloc() area. This can be very limited in 32bit archs.
- It cannot be used in !MMU archs.
- It may consume much TLBs because vmalloc area tends not to be backed by hugepage.
Especially, I think !MMU case is much different. So, there are functional
difference. I implemented this to do quick direct access to objects by indexes.
Otherwise, flex-array may be able to provide more generic frameworks.
Then, I myself don't think virt-array is a replacemento for flex-array.
A discussion "flex-array should be dropped or not" is out of my scope, sorry.
I think you can ask to drop it just because it's almost dead without mentioning
virt-array.
Thanks,
-Kame
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists