lkml.org 
[lkml]   [2011]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: cpusets: randomize node rotor used in cpuset_mem_spread_node()
Date
Oops.
I should have look into !mempolicy part too.
I'm sorry.

> diff --git a/kernel/fork.c b/kernel/fork.c
> index e7548de..f59c686 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -1119,6 +1119,10 @@ static struct task_struct *copy_process(unsigned long clone_flags,
> }
> mpol_fix_fork_child_flag(p);
> #endif
> +#ifdef CONFIG_CPUSETS
> + p->cpuset_mem_spread_rotor = node_random(&p->mems_allowed);
> + p->cpuset_slab_spread_rotor = node_random(&p->mems_allowed);
> +#endif

Michal, I think this should be

#ifdef CONFIG_CPUSETS
if (cpuset_do_page_mem_spread())
p->cpuset_mem_spread_rotor = node_random(&p->mems_allowed);
if (cpuset_do_slab_mem_spread())
p->cpuset_slab_spread_rotor = node_random(&p->mems_allowed);
#endif

because 99.999% people don't use cpuset's spread mem/slab feature and
get_random_int() isn't zero cost.

What do you think?





\
 
 \ /
  Last update: 2011-04-15 09:21    [W:0.181 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site