Hello,
On Thu, 18 Apr 2013, Simon Horman wrote:
> On Wed, Apr 17, 2013 at 11:50:47PM +0300, Julian Anastasov wrote:
> > kbuild test robot reports for sparse warnings in
> > commits c2a4ffb70eef39 ("ipvs: convert lblc scheduler to rcu")
> > and c5549571f975ab ("ipvs: convert lblcr scheduler to rcu").
> >
> > Fix it by removing extra __rcu annotation.
>
> Hi Julian,
>
> perhaps only for my benefit, but could you explain
> why the annotations are unnecessary?
IMHO, because __rcu should be used only for
pointers, not for struct hlist_head. The *list*_rcu
methods enforce __rcu internally for the pointers.
> > Signed-off-by: Julian Anastasov <ja@xxxxxx>
> > ---
> > net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
> > net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
> > 2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/net/netfilter/ipvs/ip_vs_lblc.c
> > b/net/netfilter/ipvs/ip_vs_lblc.c
> > index b2cc252..5ea26bd 100644
> > --- a/net/netfilter/ipvs/ip_vs_lblc.c
> > +++ b/net/netfilter/ipvs/ip_vs_lblc.c
> > @@ -104,7 +104,7 @@ struct ip_vs_lblc_entry {
> > */
> > struct ip_vs_lblc_table {
> > struct rcu_head rcu_head;
> > - struct hlist_head __rcu bucket[IP_VS_LBLC_TAB_SIZE]; /* hash bucket */
> > + struct hlist_head bucket[IP_VS_LBLC_TAB_SIZE]; /* hash bucket */
> > struct timer_list periodic_timer; /* collect stale entries */
> > atomic_t entries; /* number of entries */
> > int max_size; /* maximum size of entries */
> > diff --git a/net/netfilter/ipvs/ip_vs_lblcr.c
> > b/net/netfilter/ipvs/ip_vs_lblcr.c
> > index feb9656..50123c2 100644
> > --- a/net/netfilter/ipvs/ip_vs_lblcr.c
> > +++ b/net/netfilter/ipvs/ip_vs_lblcr.c
> > @@ -284,7 +284,7 @@ struct ip_vs_lblcr_entry {
> > */
> > struct ip_vs_lblcr_table {
> > struct rcu_head rcu_head;
> > - struct hlist_head __rcu bucket[IP_VS_LBLCR_TAB_SIZE]; /* hash bucket */
> > + struct hlist_head bucket[IP_VS_LBLCR_TAB_SIZE]; /* hash bucket */
> > atomic_t entries; /* number of entries */
> > int max_size; /* maximum size of entries */
> > struct timer_list periodic_timer; /* collect stale entries */
> > --
> > 1.7.3.4
Regards
--
Julian Anastasov <ja@xxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|