From: Yasuaki Ishimatsu <isimatu.yasu...@jp.fujitsu.com>

If the node is onlined after it is offlined, we will clear the memory
to store the node's information. This structure contains struct work,
so we should flush work before the work's information is cleared.

CC: David Rientjes <rient...@google.com>
CC: Jiang Liu <liu...@gmail.com>
Cc: Minchan Kim <minchan....@gmail.com>
CC: Andrew Morton <a...@linux-foundation.org>
CC: KOSAKI Motohiro <kosaki.motoh...@jp.fujitsu.com>
Signed-off-by: Yasuaki Ishimatsu <isimatu.yasu...@jp.fujitsu.com>
Signed-off-by: Wen Congyang <we...@cn.fujitsu.com>
---
 drivers/base/node.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/base/node.c b/drivers/base/node.c
index 2baa73a..13c0ddf 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -254,6 +254,11 @@ static inline void hugetlb_unregister_node(struct node 
*node) {}
 
 static void node_device_release(struct device *dev)
 {
+#if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HUGETLBFS)
+       struct node *node_dev = to_node(dev);
+
+       flush_work(&node_dev->node_work);
+#endif
 }
 
 /*
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to