Re: [PATCH]updated ipc lock patch

Rusty Russell (rusty@rustcorp.com.au)
Tue, 29 Oct 2002 09:39:26 +1100


In message <Pine.LNX.4.44.0210280906150.966-100000@blue1.dev.mcafeelabs.com> yo
u write:
> On Mon, 28 Oct 2002, Rusty Russell wrote:
>
> > I think it's clearer *why* it's being done than:
> >
> > struct ipc_rcu_kmalloc
> > {
> > struct rcu_head rcu;
> > } __attribute__((aligned(__alignof__(void *))));
>
> Well, not really Rusty. The above syntax uses documented gcc features
> already used inside the kernel, while the fact that void *data[0];
> enforces alignment it is not ( to my knowledge ) documented anywhere.
> You can also avoid the comment using the aligned syntax ...

A comment is definitely required: you must say *why* you are aligning
the structure (a clearer comment would be better, of course):

/* We return a pointer after the structure to the unwitting
caller: ensure safe alignment. */

The alignment of a structure member of type X is the alignment of type
X: this seems obvious to me. And "type X data[0];" is the standard
way of representing a variable struct.

Have we picked all the nits yet? 8)
Rusty.

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/