Re: [PATCH 4/5] cpuset memory spread slab cache optimizations

From: Paul Jackson
Date: Sat Feb 04 2006 - 23:11:25 EST


> We're adding even more goop into the NUMA __cache_alloc() fastpath. This bad.

Huh? I'm only adding more goop (beyond a single inline bit test
of current->flags) in the:
NUMA and (MEMPOLICY or MEM_SPREAD)
path.

> @@ -2703,20 +2704,9 @@ static inline void *____cache_alloc(stru
> ...
> + if (unlikely(current->flags & (PF_MEM_SPREAD|PF_MEMPOLICY)))
> + if ((objp = alternate_node_alloc(cachep, flags)) != NULL)
> + return objp;

There are three copies of ____cache_alloc() in mm/slab.c, once
compiled. Do you really want three copies of alternate_node_alloc()
routine in the kernel, just to avoid a subroutine call in the "NUMA and
(MEMPOLICY or MEM_SPREAD)" case?

I doubt you want that.

In other words, I don't understand yet.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@xxxxxxx> 1.925.600.0401
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/