Re: RCU: how to suppress warnings from rcu_assign_pointer?

From: David Miller
Date: Sat Jul 30 2011 - 23:16:47 EST


From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date: Sat, 30 Jul 2011 14:17:05 +0200

> Le vendredi 29 juillet 2011 à 10:50 -0700, Stephen Hemminger a écrit :
>> Gcc now generates warnings from rcu_assign_pointer when passed the
>> address of something for example:
>> rcu_assign_pointer(dev_queue->qdisc, &noop_qdisc);
>> This warning is harmless and should be surpressed but there maybe
>> other cases where we want that Gcc warning.
>>
>> I tried various combinations of in rcu_assign_pointer macro
>> #pragma GCC diagnostic push
>> #pragma GCC diagnostic ignored "-Wlogical-op"
>> ...
>> #pragma GCC diagnostic pop
>> but macro's and pragma's don't nest with the correct scope for
>> this.
>>
>> Maybe some one with more Gcc foo and time to waste could take
>> a crack at it.
>
> I would just remove the test from rcu_assign_pointer().
>
> We now have RCU_INIT_POINTER() for places we dont want/afford the
> smp_wmb()

Agreed:

Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
--
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/