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