提交 9824601e 编写于 作者: C Christoph Lameter

SLUB: rename defrag to remote_node_defrag_ratio

The NUMA defrag works by allocating objects from partial slabs on remote
nodes.  Rename it to

	remote_node_defrag_ratio

to be clear about this.
Signed-off-by: NChristoph Lameter <clameter@sgi.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
上级 f61396ae
...@@ -59,7 +59,10 @@ struct kmem_cache { ...@@ -59,7 +59,10 @@ struct kmem_cache {
#endif #endif
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
int defrag_ratio; /*
* Defragmentation by allocating from a remote node.
*/
int remote_node_defrag_ratio;
struct kmem_cache_node *node[MAX_NUMNODES]; struct kmem_cache_node *node[MAX_NUMNODES];
#endif #endif
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -1295,7 +1295,8 @@ static struct page *get_any_partial(struct kmem_cache *s, gfp_t flags) ...@@ -1295,7 +1295,8 @@ static struct page *get_any_partial(struct kmem_cache *s, gfp_t flags)
* expensive if we do it every time we are trying to find a slab * expensive if we do it every time we are trying to find a slab
* with available objects. * with available objects.
*/ */
if (!s->defrag_ratio || get_cycles() % 1024 > s->defrag_ratio) if (!s->remote_node_defrag_ratio ||
get_cycles() % 1024 > s->remote_node_defrag_ratio)
return NULL; return NULL;
zonelist = &NODE_DATA(slab_node(current->mempolicy)) zonelist = &NODE_DATA(slab_node(current->mempolicy))
...@@ -2209,7 +2210,7 @@ static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags, ...@@ -2209,7 +2210,7 @@ static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags,
s->refcount = 1; s->refcount = 1;
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
s->defrag_ratio = 100; s->remote_node_defrag_ratio = 100;
#endif #endif
if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA)) if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA))
goto error; goto error;
...@@ -3847,21 +3848,21 @@ static ssize_t free_calls_show(struct kmem_cache *s, char *buf) ...@@ -3847,21 +3848,21 @@ static ssize_t free_calls_show(struct kmem_cache *s, char *buf)
SLAB_ATTR_RO(free_calls); SLAB_ATTR_RO(free_calls);
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
static ssize_t defrag_ratio_show(struct kmem_cache *s, char *buf) static ssize_t remote_node_defrag_ratio_show(struct kmem_cache *s, char *buf)
{ {
return sprintf(buf, "%d\n", s->defrag_ratio / 10); return sprintf(buf, "%d\n", s->remote_node_defrag_ratio / 10);
} }
static ssize_t defrag_ratio_store(struct kmem_cache *s, static ssize_t remote_node_defrag_ratio_store(struct kmem_cache *s,
const char *buf, size_t length) const char *buf, size_t length)
{ {
int n = simple_strtoul(buf, NULL, 10); int n = simple_strtoul(buf, NULL, 10);
if (n < 100) if (n < 100)
s->defrag_ratio = n * 10; s->remote_node_defrag_ratio = n * 10;
return length; return length;
} }
SLAB_ATTR(defrag_ratio); SLAB_ATTR(remote_node_defrag_ratio);
#endif #endif
static struct attribute * slab_attrs[] = { static struct attribute * slab_attrs[] = {
...@@ -3892,7 +3893,7 @@ static struct attribute * slab_attrs[] = { ...@@ -3892,7 +3893,7 @@ static struct attribute * slab_attrs[] = {
&cache_dma_attr.attr, &cache_dma_attr.attr,
#endif #endif
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
&defrag_ratio_attr.attr, &remote_node_defrag_ratio_attr.attr,
#endif #endif
NULL NULL
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册