[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220703132209.875b823d1cb7169a8d51d56d@linux-foundation.org>
Date: Sun, 3 Jul 2022 13:22:09 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: kernel test robot <oliver.sang@...el.com>
Cc: Mel Gorman <mgorman@...hsingularity.net>,
0day robot <lkp@...el.com>,
LKML <linux-kernel@...r.kernel.org>, linux-mm@...ck.org,
lkp@...ts.01.org, Nicolas Saenz Julienne <nsaenzju@...hat.com>,
Marcelo Tosatti <mtosatti@...hat.com>,
Vlastimil Babka <vbabka@...e.cz>,
Michal Hocko <mhocko@...nel.org>,
Hugh Dickins <hughd@...gle.com>
Subject: Re: [mm/page_alloc] 2bd8eec68f:
BUG:sleeping_function_called_from_invalid_context_at_mm/gup.c
On Sun, 3 Jul 2022 17:44:30 +0800 kernel test robot <oliver.sang@...el.com> wrote:
> FYI, we noticed the following commit (built with gcc-11):
>
> commit: 2bd8eec68f740608db5ea58ecff06965228764cb ("[PATCH 7/7] mm/page_alloc: Replace local_lock with normal spinlock")
> url: https://github.com/intel-lab-lkp/linux/commits/Mel-Gorman/Drain-remote-per-cpu-directly/20220613-230139
> base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
> patch link: https://lore.kernel.org/lkml/20220613125622.18628-8-mgorman@techsingularity.net
>
Did this test include the followup patch
mm-page_alloc-replace-local_lock-with-normal-spinlock-fix.patch?
From: Mel Gorman <mgorman@...hsingularity.net>
Subject: mm/page_alloc: replace local_lock with normal spinlock -fix
Date: Mon, 27 Jun 2022 09:46:45 +0100
As noted by Yu Zhao, use pcp_spin_trylock_irqsave instead of
pcpu_spin_trylock_irqsave. This is a fix to the mm-unstable patch
mm-page_alloc-replace-local_lock-with-normal-spinlock.patch
Link: https://lkml.kernel.org/r/20220627084645.GA27531@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
Reported-by: Yu Zhao <yuzhao@...gle.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/page_alloc.c~mm-page_alloc-replace-local_lock-with-normal-spinlock-fix
+++ a/mm/page_alloc.c
@@ -3497,7 +3497,7 @@ void free_unref_page(struct page *page,
zone = page_zone(page);
pcp_trylock_prepare(UP_flags);
- pcp = pcpu_spin_trylock_irqsave(struct per_cpu_pages, lock, zone->per_cpu_pageset, flags);
+ pcp = pcp_spin_trylock_irqsave(zone->per_cpu_pageset, flags);
if (pcp) {
free_unref_page_commit(zone, pcp, page, migratetype, order);
pcp_spin_unlock_irqrestore(pcp, flags);
_
Powered by blists - more mailing lists