lkml.org 
[lkml]   [2009]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 2/4 -mm] flex_array: add flex_array_clear function
On Mon, 24 Aug 2009, Dave Hansen wrote:

> My only worry about this is that it's largely a copy-and-paste of
> flex_array_put(). If we had a function that just returned a pointer to
> 'dst', we could use that in both cases.
>
> Couldn't we implement the above with just:
>
> int flex_array_clear(struct flex_array *fa, unsigned int element_nr)
> {
> return flex_array_put(fa, element_nr, &empty_zero_page);
> }
>

Sure, if you never increase FLEX_ARRAY_PART_SIZE. Otherwise, doing

static char zero_part[FLEX_ARRAY_PART_SIZE] = {
[0 ... FLEX_ARRAY_PART_SIZE - 1] = 0
};

and using flex_array_put(fa, element_nr, &zero_part) would work although
you're trading off cleaner, yet not more efficient, code at the cost of
FLEX_ARRAY_PART_SIZE wasted memory and memcpy() being slower than
memset().


\
 
 \ /
  Last update: 2009-08-24 22:33    [W:0.368 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site