Messages in this thread | | | Date | Tue, 15 Aug 2006 14:02:28 +0400 | From | Evgeniy Polyakov <> | Subject | Re: [PATCH 1/1] network memory allocator. |
| |
On Tue, Aug 15, 2006 at 10:08:23AM +0200, Andi Kleen (ak@suse.de) wrote: > Andrew Morton <akpm@osdl.org> writes: > > > > There will be heaps of cacheline pingpong accessing these arrays. I'd have > > though that > > > > static struct whatever { > > avl_t avl_node_id; > > struct avl_node **avl_node_array; > > struct list_head *avl_container_array; > > struct avl_node *avl_root; > > struct avl_free_list *avl_free_list_head; > > spinlock_t avl_free_lock; > > } __cacheline_aligned_in_smp whatevers[NR_CPUS]; > > > > would be better. > > Or even better per cpu data. New global/static NR_CPUS arrays should be really discouraged.
I had a version with per-cpu data - it is not very convenient to use here with it's per_cpu_ptr dereferencings....
> -Andi
-- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |