[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130627145658.GV28407@twins.programming.kicks-ass.net>
Date: Thu, 27 Jun 2013 16:56:58 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Mel Gorman <mgorman@...e.de>
Cc: Ingo Molnar <mingo@...nel.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Johannes Weiner <hannes@...xchg.org>,
Linux-MM <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 7/8] sched: Split accounting of NUMA hinting faults that
pass two-stage filter
On Wed, Jun 26, 2013 at 03:38:06PM +0100, Mel Gorman wrote:
> +void task_numa_fault(int last_nid, int node, int pages, bool migrated)
> {
> struct task_struct *p = current;
> + int priv = (cpu_to_node(task_cpu(p)) == last_nid);
>
> if (!sched_feat_numa(NUMA))
> return;
>
> /* Allocate buffer to track faults on a per-node basis */
> if (unlikely(!p->numa_faults)) {
> - int size = sizeof(*p->numa_faults) * nr_node_ids;
> + int size = sizeof(*p->numa_faults) * 2 * nr_node_ids;
>
> /* numa_faults and numa_faults_buffer share the allocation */
> - p->numa_faults = kzalloc(size * 2, GFP_KERNEL);
> + p->numa_faults = kzalloc(size * 4, GFP_KERNEL);
> if (!p->numa_faults)
> return;
So you need a buffer 2x the size in total; but you're now allocating
a buffer 4x larger than before.
Isn't doubling size alone sufficient?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists