Commit 5ed56f1a authored by David S. Miller's avatar David S. Miller
Browse files

sparc64: Use node local allocations for IRQ stacks.

parent 625d693e
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -1748,22 +1748,27 @@ void __init paging_init(void)
#endif
	}

	/* Setup bootmem... */
	last_valid_pfn = end_pfn = bootmem_init(phys_base);

#ifndef CONFIG_NEED_MULTIPLE_NODES
	max_mapnr = last_valid_pfn;
#endif
	/* Once the OF device tree and MDESC have been setup, we know
	 * the list of possible cpus.  Therefore we can allocate the
	 * IRQ stacks.
	 */
	for_each_possible_cpu(i) {
		/* XXX Use node local allocations... XXX */
		softirq_stack[i] = __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
		hardirq_stack[i] = __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
	}
		int node = cpu_to_node(i);

	/* Setup bootmem... */
	last_valid_pfn = end_pfn = bootmem_init(phys_base);
		softirq_stack[i] = __alloc_bootmem_node(NODE_DATA(node),
							THREAD_SIZE,
							THREAD_SIZE, 0);
		hardirq_stack[i] = __alloc_bootmem_node(NODE_DATA(node),
							THREAD_SIZE,
							THREAD_SIZE, 0);
	}

#ifndef CONFIG_NEED_MULTIPLE_NODES
	max_mapnr = last_valid_pfn;
#endif
	kernel_physical_mapping_init();

	{