Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00ef2d2f authored by David Rientjes's avatar David Rientjes Committed by Linus Torvalds
Browse files

mm: use NUMA_NO_NODE



Make a sweep through mm/ and convert code that uses -1 directly to using
the more appropriate NUMA_NO_NODE.

Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
Reviewed-by: default avatarYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 751efd86
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -2376,7 +2376,7 @@ static int khugepaged_scan_pmd(struct mm_struct *mm,
	struct page *page;
	struct page *page;
	unsigned long _address;
	unsigned long _address;
	spinlock_t *ptl;
	spinlock_t *ptl;
	int node = -1;
	int node = NUMA_NO_NODE;


	VM_BUG_ON(address & ~HPAGE_PMD_MASK);
	VM_BUG_ON(address & ~HPAGE_PMD_MASK);


@@ -2406,7 +2406,7 @@ static int khugepaged_scan_pmd(struct mm_struct *mm,
		 * be more sophisticated and look at more pages,
		 * be more sophisticated and look at more pages,
		 * but isn't for now.
		 * but isn't for now.
		 */
		 */
		if (node == -1)
		if (node == NUMA_NO_NODE)
			node = page_to_nid(page);
			node = page_to_nid(page);
		VM_BUG_ON(PageCompound(page));
		VM_BUG_ON(PageCompound(page));
		if (!PageLRU(page) || PageLocked(page) || !PageAnon(page))
		if (!PageLRU(page) || PageLocked(page) || !PageAnon(page))
+5 −5
Original line number Original line Diff line number Diff line
@@ -26,7 +26,7 @@
 *                the allocation to memory nodes instead
 *                the allocation to memory nodes instead
 *
 *
 * preferred       Try a specific node first before normal fallback.
 * preferred       Try a specific node first before normal fallback.
 *                As a special case node -1 here means do the allocation
 *                As a special case NUMA_NO_NODE here means do the allocation
 *                on the local CPU. This is normally identical to default,
 *                on the local CPU. This is normally identical to default,
 *                but useful to set in a VMA when you have a non default
 *                but useful to set in a VMA when you have a non default
 *                process policy.
 *                process policy.
@@ -127,7 +127,7 @@ static struct mempolicy *get_task_policy(struct task_struct *p)


	if (!pol) {
	if (!pol) {
		node = numa_node_id();
		node = numa_node_id();
		if (node != -1)
		if (node != NUMA_NO_NODE)
			pol = &preferred_node_policy[node];
			pol = &preferred_node_policy[node];


		/* preferred_node_policy is not initialised early in boot */
		/* preferred_node_policy is not initialised early in boot */
@@ -258,7 +258,7 @@ static struct mempolicy *mpol_new(unsigned short mode, unsigned short flags,
	struct mempolicy *policy;
	struct mempolicy *policy;


	pr_debug("setting mode %d flags %d nodes[0] %lx\n",
	pr_debug("setting mode %d flags %d nodes[0] %lx\n",
		 mode, flags, nodes ? nodes_addr(*nodes)[0] : -1);
		 mode, flags, nodes ? nodes_addr(*nodes)[0] : NUMA_NO_NODE);


	if (mode == MPOL_DEFAULT) {
	if (mode == MPOL_DEFAULT) {
		if (nodes && !nodes_empty(*nodes))
		if (nodes && !nodes_empty(*nodes))
@@ -1221,7 +1221,7 @@ static long do_mbind(unsigned long start, unsigned long len,


	pr_debug("mbind %lx-%lx mode:%d flags:%d nodes:%lx\n",
	pr_debug("mbind %lx-%lx mode:%d flags:%d nodes:%lx\n",
		 start, start + len, mode, mode_flags,
		 start, start + len, mode, mode_flags,
		 nmask ? nodes_addr(*nmask)[0] : -1);
		 nmask ? nodes_addr(*nmask)[0] : NUMA_NO_NODE);


	if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) {
	if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) {


@@ -2488,7 +2488,7 @@ int mpol_set_shared_policy(struct shared_policy *info,
		 vma->vm_pgoff,
		 vma->vm_pgoff,
		 sz, npol ? npol->mode : -1,
		 sz, npol ? npol->mode : -1,
		 npol ? npol->flags : -1,
		 npol ? npol->flags : -1,
		 npol ? nodes_addr(npol->v.nodes)[0] : -1);
		 npol ? nodes_addr(npol->v.nodes)[0] : NUMA_NO_NODE);


	if (npol) {
	if (npol) {
		new = sp_alloc(vma->vm_pgoff, vma->vm_pgoff + sz, npol);
		new = sp_alloc(vma->vm_pgoff, vma->vm_pgoff + sz, npol);
+1 −1
Original line number Original line Diff line number Diff line
@@ -3261,7 +3261,7 @@ static int find_next_best_node(int node, nodemask_t *used_node_mask)
{
{
	int n, val;
	int n, val;
	int min_val = INT_MAX;
	int min_val = INT_MAX;
	int best_node = -1;
	int best_node = NUMA_NO_NODE;
	const struct cpumask *tmp = cpumask_of_node(0);
	const struct cpumask *tmp = cpumask_of_node(0);


	/* Use the local node if we haven't already */
	/* Use the local node if we haven't already */
+18 −15
Original line number Original line Diff line number Diff line
@@ -1376,8 +1376,8 @@ static struct vm_struct *__get_vm_area_node(unsigned long size,
struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags,
struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags,
				unsigned long start, unsigned long end)
				unsigned long start, unsigned long end)
{
{
	return __get_vm_area_node(size, 1, flags, start, end, -1, GFP_KERNEL,
	return __get_vm_area_node(size, 1, flags, start, end, NUMA_NO_NODE,
						__builtin_return_address(0));
				  GFP_KERNEL, __builtin_return_address(0));
}
}
EXPORT_SYMBOL_GPL(__get_vm_area);
EXPORT_SYMBOL_GPL(__get_vm_area);


@@ -1385,8 +1385,8 @@ struct vm_struct *__get_vm_area_caller(unsigned long size, unsigned long flags,
				       unsigned long start, unsigned long end,
				       unsigned long start, unsigned long end,
				       const void *caller)
				       const void *caller)
{
{
	return __get_vm_area_node(size, 1, flags, start, end, -1, GFP_KERNEL,
	return __get_vm_area_node(size, 1, flags, start, end, NUMA_NO_NODE,
				  caller);
				  GFP_KERNEL, caller);
}
}


/**
/**
@@ -1401,14 +1401,15 @@ struct vm_struct *__get_vm_area_caller(unsigned long size, unsigned long flags,
struct vm_struct *get_vm_area(unsigned long size, unsigned long flags)
struct vm_struct *get_vm_area(unsigned long size, unsigned long flags)
{
{
	return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
	return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
				-1, GFP_KERNEL, __builtin_return_address(0));
				  NUMA_NO_NODE, GFP_KERNEL,
				  __builtin_return_address(0));
}
}


struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags,
struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags,
				const void *caller)
				const void *caller)
{
{
	return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
	return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
						-1, GFP_KERNEL, caller);
				  NUMA_NO_NODE, GFP_KERNEL, caller);
}
}


/**
/**
@@ -1650,7 +1651,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask,
 *	@end:		vm area range end
 *	@end:		vm area range end
 *	@gfp_mask:	flags for the page level allocator
 *	@gfp_mask:	flags for the page level allocator
 *	@prot:		protection mask for the allocated pages
 *	@prot:		protection mask for the allocated pages
 *	@node:		node to use for allocation or -1
 *	@node:		node to use for allocation or NUMA_NO_NODE
 *	@caller:	caller's return address
 *	@caller:	caller's return address
 *
 *
 *	Allocate enough pages to cover @size from the page level
 *	Allocate enough pages to cover @size from the page level
@@ -1706,7 +1707,7 @@ void *__vmalloc_node_range(unsigned long size, unsigned long align,
 *	@align:		desired alignment
 *	@align:		desired alignment
 *	@gfp_mask:	flags for the page level allocator
 *	@gfp_mask:	flags for the page level allocator
 *	@prot:		protection mask for the allocated pages
 *	@prot:		protection mask for the allocated pages
 *	@node:		node to use for allocation or -1
 *	@node:		node to use for allocation or NUMA_NO_NODE
 *	@caller:	caller's return address
 *	@caller:	caller's return address
 *
 *
 *	Allocate enough pages to cover @size from the page level
 *	Allocate enough pages to cover @size from the page level
@@ -1723,7 +1724,7 @@ static void *__vmalloc_node(unsigned long size, unsigned long align,


void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot)
void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot)
{
{
	return __vmalloc_node(size, 1, gfp_mask, prot, -1,
	return __vmalloc_node(size, 1, gfp_mask, prot, NUMA_NO_NODE,
				__builtin_return_address(0));
				__builtin_return_address(0));
}
}
EXPORT_SYMBOL(__vmalloc);
EXPORT_SYMBOL(__vmalloc);
@@ -1746,7 +1747,8 @@ static inline void *__vmalloc_node_flags(unsigned long size,
 */
 */
void *vmalloc(unsigned long size)
void *vmalloc(unsigned long size)
{
{
	return __vmalloc_node_flags(size, -1, GFP_KERNEL | __GFP_HIGHMEM);
	return __vmalloc_node_flags(size, NUMA_NO_NODE,
				    GFP_KERNEL | __GFP_HIGHMEM);
}
}
EXPORT_SYMBOL(vmalloc);
EXPORT_SYMBOL(vmalloc);


@@ -1762,7 +1764,7 @@ EXPORT_SYMBOL(vmalloc);
 */
 */
void *vzalloc(unsigned long size)
void *vzalloc(unsigned long size)
{
{
	return __vmalloc_node_flags(size, -1,
	return __vmalloc_node_flags(size, NUMA_NO_NODE,
				GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO);
				GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO);
}
}
EXPORT_SYMBOL(vzalloc);
EXPORT_SYMBOL(vzalloc);
@@ -1781,7 +1783,8 @@ void *vmalloc_user(unsigned long size)


	ret = __vmalloc_node(size, SHMLBA,
	ret = __vmalloc_node(size, SHMLBA,
			     GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO,
			     GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO,
			     PAGE_KERNEL, -1, __builtin_return_address(0));
			     PAGE_KERNEL, NUMA_NO_NODE,
			     __builtin_return_address(0));
	if (ret) {
	if (ret) {
		area = find_vm_area(ret);
		area = find_vm_area(ret);
		area->flags |= VM_USERMAP;
		area->flags |= VM_USERMAP;
@@ -1846,7 +1849,7 @@ EXPORT_SYMBOL(vzalloc_node);
void *vmalloc_exec(unsigned long size)
void *vmalloc_exec(unsigned long size)
{
{
	return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC,
	return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC,
			      -1, __builtin_return_address(0));
			      NUMA_NO_NODE, __builtin_return_address(0));
}
}


#if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32)
#if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32)
@@ -1867,7 +1870,7 @@ void *vmalloc_exec(unsigned long size)
void *vmalloc_32(unsigned long size)
void *vmalloc_32(unsigned long size)
{
{
	return __vmalloc_node(size, 1, GFP_VMALLOC32, PAGE_KERNEL,
	return __vmalloc_node(size, 1, GFP_VMALLOC32, PAGE_KERNEL,
			      -1, __builtin_return_address(0));
			      NUMA_NO_NODE, __builtin_return_address(0));
}
}
EXPORT_SYMBOL(vmalloc_32);
EXPORT_SYMBOL(vmalloc_32);


@@ -1884,7 +1887,7 @@ void *vmalloc_32_user(unsigned long size)
	void *ret;
	void *ret;


	ret = __vmalloc_node(size, 1, GFP_VMALLOC32 | __GFP_ZERO, PAGE_KERNEL,
	ret = __vmalloc_node(size, 1, GFP_VMALLOC32 | __GFP_ZERO, PAGE_KERNEL,
			     -1, __builtin_return_address(0));
			     NUMA_NO_NODE, __builtin_return_address(0));
	if (ret) {
	if (ret) {
		area = find_vm_area(ret);
		area = find_vm_area(ret);
		area->flags |= VM_USERMAP;
		area->flags |= VM_USERMAP;