Thread (31 messages) 31 messages, 8 authors, 2006-08-16

Re: [PATCH 1/1] network memory allocator.

From: Evgeniy Polyakov <hidden>
Date: 2006-08-15 10:03:15
Also in: linux-mm, lkml

On Tue, Aug 15, 2006 at 10:08:23AM +0200, Andi Kleen (ak@suse.de) wrote:
Andrew Morton [off-list ref] writes:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help