diff mbox series

[v2] mm,page_owner: don't remove __GFP_NOLOCKDEP in add_stack_record_to_list

Message ID 20240429082828.1615986-1-hch@lst.de (mailing list archive)
State New
Headers show
Series [v2] mm,page_owner: don't remove __GFP_NOLOCKDEP in add_stack_record_to_list | expand

Commit Message

Christoph Hellwig April 29, 2024, 8:28 a.m. UTC
Otherwise we'll generate false lockdep positives.

Fixes: 217b2119b9e2 ("mm,page_owner: implement the tracking of the stacks count")
Signed-off-by: Christoph Hellwig <hch@lst.de>
---

Changes since v1:
 - only pass on __GFP_NOLOCKDEP and leave the other masking in place

 mm/page_owner.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vlastimil Babka April 29, 2024, 8:32 a.m. UTC | #1
On 4/29/24 10:28 AM, Christoph Hellwig wrote:
> Otherwise we'll generate false lockdep positives.
> 
> Fixes: 217b2119b9e2 ("mm,page_owner: implement the tracking of the stacks count")
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Reviewed-by: Vlastimil Babka <vbabka@suse.cz>

> ---
> 
> Changes since v1:
>  - only pass on __GFP_NOLOCKDEP and leave the other masking in place
> 
>  mm/page_owner.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/page_owner.c b/mm/page_owner.c
> index d17d1351ec84af..428c1ea8b4579e 100644
> --- a/mm/page_owner.c
> +++ b/mm/page_owner.c
> @@ -170,7 +170,7 @@ static void add_stack_record_to_list(struct stack_record *stack_record,
>  
>  	/* Filter gfp_mask the same way stackdepot does, for consistency */
>  	gfp_mask &= ~GFP_ZONEMASK;
> -	gfp_mask &= (GFP_ATOMIC | GFP_KERNEL);
> +	gfp_mask &= (GFP_ATOMIC | GFP_KERNEL | __GFP_NOLOCKDEP);
>  	gfp_mask |= __GFP_NOWARN;
>  
>  	set_current_in_page_owner();
Oscar Salvador April 29, 2024, 9:33 a.m. UTC | #2
On Mon, Apr 29, 2024 at 10:28:28AM +0200, Christoph Hellwig wrote:
> Otherwise we'll generate false lockdep positives.
> 
> Fixes: 217b2119b9e2 ("mm,page_owner: implement the tracking of the stacks count")
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Oscar Salvador <osalvador@suse.de>
diff mbox series

Patch

diff --git a/mm/page_owner.c b/mm/page_owner.c
index d17d1351ec84af..428c1ea8b4579e 100644
--- a/mm/page_owner.c
+++ b/mm/page_owner.c
@@ -170,7 +170,7 @@  static void add_stack_record_to_list(struct stack_record *stack_record,
 
 	/* Filter gfp_mask the same way stackdepot does, for consistency */
 	gfp_mask &= ~GFP_ZONEMASK;
-	gfp_mask &= (GFP_ATOMIC | GFP_KERNEL);
+	gfp_mask &= (GFP_ATOMIC | GFP_KERNEL | __GFP_NOLOCKDEP);
 	gfp_mask |= __GFP_NOWARN;
 
 	set_current_in_page_owner();