linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] mm: small cleanups for io-mapping, debug_page_alloc and numa
@ 2025-04-27 10:04 Ye Liu
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Ye Liu @ 2025-04-27 10:04 UTC (permalink / raw)
  To: akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye, ye.liu

From: Ye Liu <liuye@kylinos.cn>

This series includes three small cleanups to mm/:

- io-mapping: simplify remap protection flag calculation
- debug_page_alloc: improve error message by printing invalid input
- numa: remove unnecessary variable for clarity

No functional changes.

Ye Liu (3):
  mm/io-mapping: precompute remap protection flags for clarity
  mm/debug_page_alloc: improve error message for invalid guardpage
    minorder
  mm/numa: remove unnecessary local variable in alloc_node_data()

 mm/debug_page_alloc.c | 2 +-
 mm/io-mapping.c       | 7 ++++---
 mm/numa.c             | 4 +---
 3 files changed, 6 insertions(+), 7 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity
  2025-04-27 10:04 [PATCH 0/3] mm: small cleanups for io-mapping, debug_page_alloc and numa Ye Liu
@ 2025-04-27 10:04 ` Ye Liu
  2025-04-28  7:18   ` David Hildenbrand
                     ` (2 more replies)
  2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
  2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
  2 siblings, 3 replies; 13+ messages in thread
From: Ye Liu @ 2025-04-27 10:04 UTC (permalink / raw)
  To: akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye, ye.liu

From: Ye Liu <liuye@kylinos.cn>

In io_mapping_map_user(), precompute the page protection flags in a local
variable before calling remap_pfn_range_notrack().

No functional change.

Signed-off-by: Ye Liu <liuye@kylinos.cn>
---
 mm/io-mapping.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/mm/io-mapping.c b/mm/io-mapping.c
index 01b362799930..f44a6a134712 100644
--- a/mm/io-mapping.c
+++ b/mm/io-mapping.c
@@ -21,9 +21,10 @@ int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma,
 	if (WARN_ON_ONCE((vma->vm_flags & expected_flags) != expected_flags))
 		return -EINVAL;
 
+	pgprot_t remap_prot = __pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
+				       (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK));
+
 	/* We rely on prevalidation of the io-mapping to skip track_pfn(). */
-	return remap_pfn_range_notrack(vma, addr, pfn, size,
-		__pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
-			 (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK)));
+	return remap_pfn_range_notrack(vma, addr, pfn, size, remap_prot);
 }
 EXPORT_SYMBOL_GPL(io_mapping_map_user);
-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder
  2025-04-27 10:04 [PATCH 0/3] mm: small cleanups for io-mapping, debug_page_alloc and numa Ye Liu
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
@ 2025-04-27 10:04 ` Ye Liu
  2025-04-28  7:21   ` David Hildenbrand
                     ` (2 more replies)
  2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
  2 siblings, 3 replies; 13+ messages in thread
From: Ye Liu @ 2025-04-27 10:04 UTC (permalink / raw)
  To: akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye, ye.liu

From: Ye Liu <liuye@kylinos.cn>

When an invalid debug_guardpage_minorder value is provided, include the
user input in the error message. This helps users and developers diagnose
configuration issues more easily.

No functional change.

Signed-off-by: Ye Liu <liuye@kylinos.cn>
---
 mm/debug_page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/debug_page_alloc.c b/mm/debug_page_alloc.c
index d46acf989dde..6a26eca546c3 100644
--- a/mm/debug_page_alloc.c
+++ b/mm/debug_page_alloc.c
@@ -23,7 +23,7 @@ static int __init debug_guardpage_minorder_setup(char *buf)
 	unsigned long res;
 
 	if (kstrtoul(buf, 10, &res) < 0 ||  res > MAX_PAGE_ORDER / 2) {
-		pr_err("Bad debug_guardpage_minorder value\n");
+		pr_err("Bad debug_guardpage_minorder value: %s\n", buf);
 		return 0;
 	}
 	_debug_guardpage_minorder = res;
-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data()
  2025-04-27 10:04 [PATCH 0/3] mm: small cleanups for io-mapping, debug_page_alloc and numa Ye Liu
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
  2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
@ 2025-04-27 10:04 ` Ye Liu
  2025-04-28  7:22   ` David Hildenbrand
                     ` (2 more replies)
  2 siblings, 3 replies; 13+ messages in thread
From: Ye Liu @ 2025-04-27 10:04 UTC (permalink / raw)
  To: akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye, ye.liu

From: Ye Liu <liuye@kylinos.cn>

The temporary local variable 'nd' is redundant. Directly assign the
virtual address to node_data[nid] to simplify the code.

No functional change.

Signed-off-by: Ye Liu <liuye@kylinos.cn>
---
 mm/numa.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mm/numa.c b/mm/numa.c
index f1787d7713a6..7d5e06fe5bd4 100644
--- a/mm/numa.c
+++ b/mm/numa.c
@@ -13,7 +13,6 @@ void __init alloc_node_data(int nid)
 {
 	const size_t nd_size = roundup(sizeof(pg_data_t), SMP_CACHE_BYTES);
 	u64 nd_pa;
-	void *nd;
 	int tnid;
 
 	/* Allocate node data.  Try node-local memory and then any node. */
@@ -21,7 +20,6 @@ void __init alloc_node_data(int nid)
 	if (!nd_pa)
 		panic("Cannot allocate %zu bytes for node %d data\n",
 		      nd_size, nid);
-	nd = __va(nd_pa);
 
 	/* report and initialize */
 	pr_info("NODE_DATA(%d) allocated [mem %#010Lx-%#010Lx]\n", nid,
@@ -30,7 +28,7 @@ void __init alloc_node_data(int nid)
 	if (tnid != nid)
 		pr_info("    NODE_DATA(%d) on node %d\n", nid, tnid);
 
-	node_data[nid] = nd;
+	node_data[nid] = __va(nd_pa);
 	memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
 }
 
-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
@ 2025-04-28  7:18   ` David Hildenbrand
  2025-04-28 12:15   ` Anshuman Khandual
  2025-04-29  6:33   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: David Hildenbrand @ 2025-04-28  7:18 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	harry.yoo, riel, vbabka, liuye

On 27.04.25 12:04, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> In io_mapping_map_user(), precompute the page protection flags in a local
> variable before calling remap_pfn_range_notrack().
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
>   mm/io-mapping.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/mm/io-mapping.c b/mm/io-mapping.c
> index 01b362799930..f44a6a134712 100644
> --- a/mm/io-mapping.c
> +++ b/mm/io-mapping.c
> @@ -21,9 +21,10 @@ int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma,
>   	if (WARN_ON_ONCE((vma->vm_flags & expected_flags) != expected_flags))
>   		return -EINVAL;
>   
> +	pgprot_t remap_prot = __pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> +				       (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK));
> +
>   	/* We rely on prevalidation of the io-mapping to skip track_pfn(). */
> -	return remap_pfn_range_notrack(vma, addr, pfn, size,
> -		__pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> -			 (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK)));
> +	return remap_pfn_range_notrack(vma, addr, pfn, size, remap_prot);
>   }
>   EXPORT_SYMBOL_GPL(io_mapping_map_user);

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder
  2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
@ 2025-04-28  7:21   ` David Hildenbrand
  2025-04-28 12:24   ` Anshuman Khandual
  2025-04-29  7:29   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: David Hildenbrand @ 2025-04-28  7:21 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	harry.yoo, riel, vbabka, liuye

On 27.04.25 12:04, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> When an invalid debug_guardpage_minorder value is provided, include the
> user input in the error message. This helps users and developers diagnose
> configuration issues more easily.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
>   mm/debug_page_alloc.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/debug_page_alloc.c b/mm/debug_page_alloc.c
> index d46acf989dde..6a26eca546c3 100644
> --- a/mm/debug_page_alloc.c
> +++ b/mm/debug_page_alloc.c
> @@ -23,7 +23,7 @@ static int __init debug_guardpage_minorder_setup(char *buf)
>   	unsigned long res;
>   
>   	if (kstrtoul(buf, 10, &res) < 0 ||  res > MAX_PAGE_ORDER / 2) {
> -		pr_err("Bad debug_guardpage_minorder value\n");
> +		pr_err("Bad debug_guardpage_minorder value: %s\n", buf);

I would guess everybody setting that should know how to find easily out 
what they tried to set, but in any case

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data()
  2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
@ 2025-04-28  7:22   ` David Hildenbrand
  2025-04-29  4:03   ` Anshuman Khandual
  2025-04-29  6:32   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: David Hildenbrand @ 2025-04-28  7:22 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	harry.yoo, riel, vbabka, liuye

On 27.04.25 12:04, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> The temporary local variable 'nd' is redundant. Directly assign the
> virtual address to node_data[nid] to simplify the code.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
  2025-04-28  7:18   ` David Hildenbrand
@ 2025-04-28 12:15   ` Anshuman Khandual
  2025-04-29  6:33   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Anshuman Khandual @ 2025-04-28 12:15 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye

On 4/27/25 15:34, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> In io_mapping_map_user(), precompute the page protection flags in a local
> variable before calling remap_pfn_range_notrack().
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
>  mm/io-mapping.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/mm/io-mapping.c b/mm/io-mapping.c
> index 01b362799930..f44a6a134712 100644
> --- a/mm/io-mapping.c
> +++ b/mm/io-mapping.c
> @@ -21,9 +21,10 @@ int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma,
>  	if (WARN_ON_ONCE((vma->vm_flags & expected_flags) != expected_flags))
>  		return -EINVAL;
>  
> +	pgprot_t remap_prot = __pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> +				       (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK));
> +
>  	/* We rely on prevalidation of the io-mapping to skip track_pfn(). */
> -	return remap_pfn_range_notrack(vma, addr, pfn, size,
> -		__pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> -			 (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK)));
> +	return remap_pfn_range_notrack(vma, addr, pfn, size, remap_prot);
>  }
>  EXPORT_SYMBOL_GPL(io_mapping_map_user);

Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder
  2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
  2025-04-28  7:21   ` David Hildenbrand
@ 2025-04-28 12:24   ` Anshuman Khandual
  2025-04-29  7:29   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Anshuman Khandual @ 2025-04-28 12:24 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye



On 4/27/25 15:34, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> When an invalid debug_guardpage_minorder value is provided, include the
> user input in the error message. This helps users and developers diagnose
> configuration issues more easily.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
>  mm/debug_page_alloc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/debug_page_alloc.c b/mm/debug_page_alloc.c
> index d46acf989dde..6a26eca546c3 100644
> --- a/mm/debug_page_alloc.c
> +++ b/mm/debug_page_alloc.c
> @@ -23,7 +23,7 @@ static int __init debug_guardpage_minorder_setup(char *buf)
>  	unsigned long res;
>  
>  	if (kstrtoul(buf, 10, &res) < 0 ||  res > MAX_PAGE_ORDER / 2) {
> -		pr_err("Bad debug_guardpage_minorder value\n");
> +		pr_err("Bad debug_guardpage_minorder value: %s\n", buf);
>  		return 0;
>  	}
>  	_debug_guardpage_minorder = res;


Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data()
  2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
  2025-04-28  7:22   ` David Hildenbrand
@ 2025-04-29  4:03   ` Anshuman Khandual
  2025-04-29  6:32   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Anshuman Khandual @ 2025-04-29  4:03 UTC (permalink / raw)
  To: Ye Liu, akpm
  Cc: linux-kernel, linux-mm, rppt, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye

On 4/27/25 15:34, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> The temporary local variable 'nd' is redundant. Directly assign the
> virtual address to node_data[nid] to simplify the code.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
>  mm/numa.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/mm/numa.c b/mm/numa.c
> index f1787d7713a6..7d5e06fe5bd4 100644
> --- a/mm/numa.c
> +++ b/mm/numa.c
> @@ -13,7 +13,6 @@ void __init alloc_node_data(int nid)
>  {
>  	const size_t nd_size = roundup(sizeof(pg_data_t), SMP_CACHE_BYTES);
>  	u64 nd_pa;
> -	void *nd;
>  	int tnid;
>  
>  	/* Allocate node data.  Try node-local memory and then any node. */
> @@ -21,7 +20,6 @@ void __init alloc_node_data(int nid)
>  	if (!nd_pa)
>  		panic("Cannot allocate %zu bytes for node %d data\n",
>  		      nd_size, nid);
> -	nd = __va(nd_pa);
>  
>  	/* report and initialize */
>  	pr_info("NODE_DATA(%d) allocated [mem %#010Lx-%#010Lx]\n", nid,
> @@ -30,7 +28,7 @@ void __init alloc_node_data(int nid)
>  	if (tnid != nid)
>  		pr_info("    NODE_DATA(%d) on node %d\n", nid, tnid);
>  
> -	node_data[nid] = nd;
> +	node_data[nid] = __va(nd_pa);
>  	memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
>  }
>  

Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data()
  2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
  2025-04-28  7:22   ` David Hildenbrand
  2025-04-29  4:03   ` Anshuman Khandual
@ 2025-04-29  6:32   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Mike Rapoport @ 2025-04-29  6:32 UTC (permalink / raw)
  To: Ye Liu
  Cc: akpm, linux-kernel, linux-mm, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye

On Sun, Apr 27, 2025 at 06:04:42PM +0800, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> The temporary local variable 'nd' is redundant. Directly assign the
> virtual address to node_data[nid] to simplify the code.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>

Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  mm/numa.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/mm/numa.c b/mm/numa.c
> index f1787d7713a6..7d5e06fe5bd4 100644
> --- a/mm/numa.c
> +++ b/mm/numa.c
> @@ -13,7 +13,6 @@ void __init alloc_node_data(int nid)
>  {
>  	const size_t nd_size = roundup(sizeof(pg_data_t), SMP_CACHE_BYTES);
>  	u64 nd_pa;
> -	void *nd;
>  	int tnid;
>  
>  	/* Allocate node data.  Try node-local memory and then any node. */
> @@ -21,7 +20,6 @@ void __init alloc_node_data(int nid)
>  	if (!nd_pa)
>  		panic("Cannot allocate %zu bytes for node %d data\n",
>  		      nd_size, nid);
> -	nd = __va(nd_pa);
>  
>  	/* report and initialize */
>  	pr_info("NODE_DATA(%d) allocated [mem %#010Lx-%#010Lx]\n", nid,
> @@ -30,7 +28,7 @@ void __init alloc_node_data(int nid)
>  	if (tnid != nid)
>  		pr_info("    NODE_DATA(%d) on node %d\n", nid, tnid);
>  
> -	node_data[nid] = nd;
> +	node_data[nid] = __va(nd_pa);
>  	memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
>  }
>  
> -- 
> 2.25.1
> 

-- 
Sincerely yours,
Mike.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity
  2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
  2025-04-28  7:18   ` David Hildenbrand
  2025-04-28 12:15   ` Anshuman Khandual
@ 2025-04-29  6:33   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Mike Rapoport @ 2025-04-29  6:33 UTC (permalink / raw)
  To: Ye Liu
  Cc: akpm, linux-kernel, linux-mm, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye

On Sun, Apr 27, 2025 at 06:04:40PM +0800, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> In io_mapping_map_user(), precompute the page protection flags in a local
> variable before calling remap_pfn_range_notrack().
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>

Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  mm/io-mapping.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/mm/io-mapping.c b/mm/io-mapping.c
> index 01b362799930..f44a6a134712 100644
> --- a/mm/io-mapping.c
> +++ b/mm/io-mapping.c
> @@ -21,9 +21,10 @@ int io_mapping_map_user(struct io_mapping *iomap, struct vm_area_struct *vma,
>  	if (WARN_ON_ONCE((vma->vm_flags & expected_flags) != expected_flags))
>  		return -EINVAL;
>  
> +	pgprot_t remap_prot = __pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> +				       (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK));
> +
>  	/* We rely on prevalidation of the io-mapping to skip track_pfn(). */
> -	return remap_pfn_range_notrack(vma, addr, pfn, size,
> -		__pgprot((pgprot_val(iomap->prot) & _PAGE_CACHE_MASK) |
> -			 (pgprot_val(vma->vm_page_prot) & ~_PAGE_CACHE_MASK)));
> +	return remap_pfn_range_notrack(vma, addr, pfn, size, remap_prot);
>  }
>  EXPORT_SYMBOL_GPL(io_mapping_map_user);
> -- 
> 2.25.1
> 

-- 
Sincerely yours,
Mike.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder
  2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
  2025-04-28  7:21   ` David Hildenbrand
  2025-04-28 12:24   ` Anshuman Khandual
@ 2025-04-29  7:29   ` Mike Rapoport
  2 siblings, 0 replies; 13+ messages in thread
From: Mike Rapoport @ 2025-04-29  7:29 UTC (permalink / raw)
  To: Ye Liu
  Cc: akpm, linux-kernel, linux-mm, lorenzo.stoakes, Liam.Howlett,
	david, harry.yoo, riel, vbabka, liuye

On Sun, Apr 27, 2025 at 06:04:41PM +0800, Ye Liu wrote:
> From: Ye Liu <liuye@kylinos.cn>
> 
> When an invalid debug_guardpage_minorder value is provided, include the
> user input in the error message. This helps users and developers diagnose
> configuration issues more easily.
> 
> No functional change.
> 
> Signed-off-by: Ye Liu <liuye@kylinos.cn>

Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> ---
>  mm/debug_page_alloc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/debug_page_alloc.c b/mm/debug_page_alloc.c
> index d46acf989dde..6a26eca546c3 100644
> --- a/mm/debug_page_alloc.c
> +++ b/mm/debug_page_alloc.c
> @@ -23,7 +23,7 @@ static int __init debug_guardpage_minorder_setup(char *buf)
>  	unsigned long res;
>  
>  	if (kstrtoul(buf, 10, &res) < 0 ||  res > MAX_PAGE_ORDER / 2) {
> -		pr_err("Bad debug_guardpage_minorder value\n");
> +		pr_err("Bad debug_guardpage_minorder value: %s\n", buf);
>  		return 0;
>  	}
>  	_debug_guardpage_minorder = res;
> -- 
> 2.25.1
> 

-- 
Sincerely yours,
Mike.


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-04-29  7:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-27 10:04 [PATCH 0/3] mm: small cleanups for io-mapping, debug_page_alloc and numa Ye Liu
2025-04-27 10:04 ` [PATCH 1/3] mm/io-mapping: precompute remap protection flags for clarity Ye Liu
2025-04-28  7:18   ` David Hildenbrand
2025-04-28 12:15   ` Anshuman Khandual
2025-04-29  6:33   ` Mike Rapoport
2025-04-27 10:04 ` [PATCH 2/3] mm/debug_page_alloc: improve error message for invalid guardpage minorder Ye Liu
2025-04-28  7:21   ` David Hildenbrand
2025-04-28 12:24   ` Anshuman Khandual
2025-04-29  7:29   ` Mike Rapoport
2025-04-27 10:04 ` [PATCH 3/3] mm/numa: remove unnecessary local variable in alloc_node_data() Ye Liu
2025-04-28  7:22   ` David Hildenbrand
2025-04-29  4:03   ` Anshuman Khandual
2025-04-29  6:32   ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox