[<prev] [next>] [day] [month] [year] [list]
Message-ID: <YpToHCmnx/HEcVyR@fuller.cnet>
Date: Mon, 30 May 2022 12:51:56 -0300
From: Marcelo Tosatti <mtosatti@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Stefan Wahren <stefan.wahren@...e.com>,
Michael Larabel <Michael@...haellarabel.com>,
"Paul E. McKenney" <paulmck@...nel.org>
Subject: [PATCH] mm: lru_cache_disable: use synchronize_rcu_expedited
commit ff042f4a9b050895a42cae893cc01fa2ca81b95c replaced
lru_cache_disable's usage of work queues with synchronize_rcu.
Some users reported performance regressions due to this commit, for example:
https://lore.kernel.org/all/20220521234616.GO1790663@paulmck-ThinkPad-P17-Gen-1/T/
Switching to synchronize_rcu_expedited fixes the problem.
Tested-by: Stefan Wahren <stefan.wahren@...e.com>
Tested-by: Michael Larabel <Michael@...haelLarabel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@...hat.com>
diff --git a/mm/swap.c b/mm/swap.c
index bceff0cb559c..04a8bbf9817a 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -879,7 +879,7 @@ void lru_cache_disable(void)
* lru_disable_count = 0 will have exited the critical
* section when synchronize_rcu() returns.
*/
- synchronize_rcu();
+ synchronize_rcu_expedited();
#ifdef CONFIG_SMP
__lru_add_drain_all(true);
#else
Powered by blists - more mailing lists