1diff --git a/mm/swap.c b/mm/swap.c 2index 26fc9b5..d5067e5 100644 3--- a/mm/swap.c 4+++ b/mm/swap.c 5@@ -654,13 +654,15 @@ void lru_add_drain(void) 6 put_cpu(); 7 } 8 9+#ifdef CONFIG_SMP 10+ 11+static DEFINE_PER_CPU(struct work_struct, lru_add_drain_work); 12+ 13 static void lru_add_drain_per_cpu(struct work_struct *dummy) 14 { 15 lru_add_drain(); 16 } 17 18-static DEFINE_PER_CPU(struct work_struct, lru_add_drain_work); 19- 20 /* 21 * Doesn't need any cpu hotplug locking because we do rely on per-cpu 22 * kworkers being shut down before our page_alloc_cpu_dead callback is 23@@ -703,6 +705,12 @@ void lru_add_drain_all(void) 24 25 mutex_unlock(&lock); 26 } 27+#else 28+void lru_add_drain_all(void) 29+{ 30+ lru_add_drain(); 31+} 32+#endif 33 34 /** 35 * release_pages - batched put_page() 36