[RFCv2][PATCH] flexible array implementation

Andrew Morton akpm at linux-foundation.org
Tue Jul 21 15:35:24 PDT 2009


On Tue, 21 Jul 2009 15:09:05 -0700
Dave Hansen <dave at linux.vnet.ibm.com> wrote:

> On Tue, 2009-07-21 at 15:00 -0700, Dave Hansen wrote:
> > 
> > The interface is dirt simple.  4 functions:
> >         alloc_flex_array()
> >         free_flex_array()
> >         flex_array_put()
> >         flex_array_get()
> > 
> > put() appends an item into the array while get() takes
> > indexes and does array-style access.
> 
> I need to update this description, but the kerneldoc comments are up to
> date.
> 
> That reminds me...  People will get somewhat weird behavior if they mix
> flex_array_append() and flex_array_put().  Is that OK?  Should
> flex_array_put() modify ->nr_elements to point to the element past the
> one that was just put()?  Should we perhaps drop the append() function
> and the ->nr_elements variable completely?

I'd say that we can drop ->append.  C arrays don't have an `append', and
callers trivially append stuff to arrays all the time.  `for (i = 0; i < ....'


More information about the Containers mailing list