Re: [PATCH v5] slab/mempolicy: always use local policy from interruptcontext

From: David Rientjes
Date: Sat Jun 09 2012 - 22:19:10 EST


On Sat, 9 Jun 2012, David Mackey wrote:

> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index f15c1b2..cb0b230 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -1602,8 +1602,14 @@ static unsigned interleave_nodes(struct mempolicy *policy)
> * task can change it's policy. The system default policy requires no
> * such protection.
> */
> -unsigned slab_node(struct mempolicy *policy)
> +unsigned slab_node(void)
> {
> + struct mempolicy *policy;
> +
> + if (in_interrupt())
> + return numa_node_id();
> +
> + policy = current->mempolicy;
> if (!policy || policy->flags & MPOL_F_LOCAL)
> return numa_node_id();
>

Should probably be numa_mem_id() in both these cases for
CONFIG_HAVE_MEMORYLESS_NODES, but it won't cause a problem in this form
either.

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
--
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/