Re: [RFC][PATCH] Put size in array to get rid of barriers in grow_ary()

From: Hugh Dickins
Date: Wed Sep 08 2004 - 10:41:38 EST


On Tue, 7 Sep 2004, Paul E. McKenney wrote:
>
> The grow_ary() code has a number of explicit memory barriers, as does
> ipc_lock(). This patch gets rid of the need for some of these by
> placing the array size in the same block of memory containing the
> array itself, so that the array and the size cannot possibly get out
> of sync. Also uses rcu_assign_pointer() to get rid of the remaining
> smp_wmb().

But Paul, if you keep removing all these examples of memory barriers,
how can I be expected to learn how to use them properly?

Seriously, good, yes, the fewer "mb"s the better.
I could always educate myself from the older source.

> Untested, therefore probably broken.

Agreed ;)

> Thoughts?

Wouldn't it be a little nicer to start ipc_ids off pointing to a
const ipc_id_ary of size 0, to avoid the various entries == NULL
tests you had to add?

Hugh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/