Fix urcu-call-rcu-impl.h: false-sharing
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 8 Oct 2012 14:44:38 +0000 (10:44 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 8 Oct 2012 14:44:38 +0000 (10:44 -0400)
commitb9f893b69fbc31baea418794938f4eb74cc4923a
treeda308b8fd3fcf929061feb0c93e8df9a08ebd137
parent5161f31e09ce33dd79afad8d08a2372fbf1c4fbe
Fix urcu-call-rcu-impl.h: false-sharing

> >  struct call_rcu_data {
> > -   struct cds_wfq_queue cbs;
> > +   /*
> > +    * Align the tail on cache line size to eliminate false-sharing
> > +    * with head.
> > +    */
> > +   struct cds_wfcq_tail __attribute__((aligned(CAA_CACHE_LINE_SIZE))) cbs_tail;
> > +   /* Alignment on cache line size will add padding here */
> > +
> > +   struct cds_wfcq_head cbs_head;
>
>
> wrong here. In this code, cbs_tail and cbs_head are in the same cache line.

Reported-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu-call-rcu-impl.h
This page took 0.025129 seconds and 4 git commands to generate.