Skip to content

Commit 3173346

Browse files
matosattiakpm00
authored andcommitted
mm: lru_cache_disable: use synchronize_rcu_expedited
commit ff042f4 ("mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu") replaced lru_cache_disable's usage of work queues with synchronize_rcu. Some users reported large 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. Link: https://lkml.kernel.org/r/YpToHCmnx/[email protected] Fixes: ff042f4 ("mm: lru_cache_disable: replace work queue synchronization with synchronize_rcu") Signed-off-by: Marcelo Tosatti <[email protected]> Tested-by: Stefan Wahren <[email protected]> Tested-by: Michael Larabel <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Nicolas Saenz Julienne <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Minchan Kim <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Phil Elwell <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 0429993 commit 3173346

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

mm/swap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -881,7 +881,7 @@ void lru_cache_disable(void)
881881
* lru_disable_count = 0 will have exited the critical
882882
* section when synchronize_rcu() returns.
883883
*/
884-
synchronize_rcu();
884+
synchronize_rcu_expedited();
885885
#ifdef CONFIG_SMP
886886
__lru_add_drain_all(true);
887887
#else

0 commit comments

Comments
 (0)