Messages in this thread | | | Date | Fri, 3 Aug 2012 17:05:31 -0700 | From | Tejun Heo <> | Subject | Re: [RFC v2 1/7] hashtable: introduce a small and naive hashtable |
| |
Hello,
On Fri, Aug 03, 2012 at 04:47:47PM -0700, Linus Torvalds wrote: > On Fri, Aug 3, 2012 at 3:36 PM, Tejun Heo <tj@kernel.org> wrote: > > > > I suppose you mean unsized. I remember this working. Maybe I'm > > confusing it with zero-sized array. Hmm... gcc doesn't complain about > > the following. --std=c99 seems happy too. > > Ok, I'm surprised, but maybe it's supposed to work if you do it inside > another struct like that, exactly so that you can preallocate things..
Yeah, I think the rule is var array should be the last member of any given struct definition. Once a struct is defined, its alignment and size are fixed and it behaves like any other struct.
> Or maybe it's just a gcc bug. I do think this all is way hackier than > Sasha's original simple code that didn't need these kinds of games, > and didn't need a size member at all. > > I really think all the extra complexity and overhead is just *bad*. > The first simple version was much nicer and likely generated better > code too.
The size member could have performance impact in extreme cases. If we're looking for something simple & fast, maybe just pass in @size as argument and be done with it?
Thanks.
-- tejun
| |