Messages in this thread | | | Subject | Re: [RFC PATCH] Linux kernel Wait-Free Concurrent Queue Implementation | From | Peter Hurley <> | Date | Thu, 14 Mar 2013 20:49:44 -0400 |
| |
On Mon, 2013-03-11 at 17:36 -0400, Mathieu Desnoyers wrote: > +/* > + * Do not put head and tail on the same cache-line if concurrent > + * enqueue/dequeue are expected from many CPUs. This eliminates > + * false-sharing between enqueue and dequeue. > + */ > +struct wfcq_head { > + struct wfcq_node node; > + struct mutex lock; > +}; > + > +struct wfcq_tail { > + struct wfcq_node *p; > +};
If you want to force separate cachelines for SMP, this would be
struct wfcq_head { struct wfcq_node node; struct mutex lock; } ____cacheline_aligned_in_smp;
struct wfcq_tail { struct wfcq_node *p; } ____cacheline_aligned_in_smp;
| |