public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave@linux.vnet.ibm.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: [patch 3/4 -mm] flex_array: poison free elements
Date: Mon, 24 Aug 2009 14:42:36 -0700	[thread overview]
Message-ID: <1251150156.22398.8289.camel@nimitz> (raw)
In-Reply-To: <alpine.DEB.2.00.0908241330361.5574@chino.kir.corp.google.com>

On Mon, 2009-08-24 at 13:41 -0700, David Rientjes wrote:
> On the other hand, I'd have no problem trying to eliminate 
> fa->total_nr_elements (since we already have fa->element_size) since we 
> can calculate it in real-time; the only problem is being able to 
> distinguish when the elements are being stored in struct flex_array vs. 
> being stored in struct flex_array_part.

Yeah, that's the only reason it's there: to determine if we're using the
compact form or not.  We could probably find another place to store
that, or just store a flag telling whether we're using that form or not.
We couldn't do the bounds-checking, but I'm OK with that.

But, honestly, it doesn't *really* bother me if we just use two 32-bit
int slots in the 'struct flex_array'.  The 64-bit code has an extra 4
bytes now anyway.

> We could then use that
> unsigned int in struct flex_array to store the number of inuse elements 
> which is an alternative implementation to flex_array_shrink(), yet I'd 
> still propose to keep the poisoning to reveal use-uninitialized.

I kinda like the idea of truncating more, just because its simpler and
doesn't have any assumptions about the contents.  But, you are right
that poisoning has some distinct benefits, namely allowing sparsely used
arrays to shrink.

-- Dave


  parent reply	other threads:[~2009-08-24 21:42 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-21 23:21 [patch 1/4 -mm] flex_array: convert element_nr formals to unsigned David Rientjes
2009-08-21 23:21 ` [patch 2/4 -mm] flex_array: add flex_array_clear function David Rientjes
2009-08-24 15:41   ` Dave Hansen
2009-08-24 20:29     ` David Rientjes
2009-08-24 20:38       ` Dave Hansen
2009-08-24 20:50         ` David Rientjes
2009-08-24 21:28           ` Dave Hansen
2009-08-24 22:32             ` David Rientjes
2009-08-21 23:21 ` [patch 3/4 -mm] flex_array: poison free elements David Rientjes
2009-08-24 15:56   ` Dave Hansen
2009-08-24 20:41     ` David Rientjes
2009-08-24 21:16       ` Dave Hansen
2009-08-24 22:40         ` David Rientjes
2009-08-24 21:42       ` Dave Hansen [this message]
2009-08-24 22:44         ` David Rientjes
2009-09-08 22:26           ` David Rientjes
2009-09-09  2:05             ` Li Zefan
2009-09-09  3:18               ` David Rientjes
2009-09-09  3:31                 ` Li Zefan
2009-09-09  3:41                   ` David Rientjes
2009-09-09  3:45                     ` Li Zefan
2009-09-09  4:15                       ` David Rientjes
2009-09-09 15:28             ` Dave Hansen
2009-09-09 19:18               ` David Rientjes
2009-09-09 19:22                 ` Dave Hansen
2009-09-09 19:34                   ` David Rientjes
2009-08-21 23:21 ` [patch 4/4 -mm] flex_array: add flex_array_shrink function David Rientjes
2009-08-21 23:49   ` Andrew Morton
2009-08-22  0:02     ` Randy Dunlap
2009-08-22 21:28     ` David Rientjes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1251150156.22398.8289.camel@nimitz \
    --to=dave@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rientjes@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox