On Thu, Jun 27, 2013 at 04:56:58PM +0200, Peter Zijlstra wrote: > 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? /me slaps self This was a rebase screwup. Thanks. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>