From 5ba88f8522693676a7e84c4b4d88d9883fce75d0 Mon Sep 17 00:00:00 2001 From: Vinayak Menon Date: Thu, 16 Apr 2015 16:51:47 -0700 Subject: [PATCH] mm: showmem: make the notifiers atomic There are places in kernel like the lowmemorykiller which invokes show_mem_call_notifiers from an atomic context. So move from a blocking notifier to atomic. At present the notifier callbacks does not call sleeping functions, but it should be made sure, it does not happen in future also. Change-Id: I9668e67463ab8a6a60be55dbc86b88f45be8b041 Signed-off-by: Vinayak Menon Signed-off-by: Patrick Daly [swatsrid@codeaurora.org: Fix merge conflicts] Signed-off-by: Swathi Sridhar Signed-off-by: Isaac J. Manjarres --- mm/showmem.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/showmem.c b/mm/showmem.c index 24180c536972..ca67b2670457 100644 --- a/mm/showmem.c +++ b/mm/showmem.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2014, The Linux Foundation. All rights reserved. + * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. */ #include @@ -10,21 +10,21 @@ #include #include -static BLOCKING_NOTIFIER_HEAD(show_mem_notifier); +static ATOMIC_NOTIFIER_HEAD(show_mem_notifier); int show_mem_notifier_register(struct notifier_block *nb) { - return blocking_notifier_chain_register(&show_mem_notifier, nb); + return atomic_notifier_chain_register(&show_mem_notifier, nb); } int show_mem_notifier_unregister(struct notifier_block *nb) { - return blocking_notifier_chain_unregister(&show_mem_notifier, nb); + return atomic_notifier_chain_unregister(&show_mem_notifier, nb); } void show_mem_call_notifiers(void) { - blocking_notifier_call_chain(&show_mem_notifier, 0, NULL); + atomic_notifier_call_chain(&show_mem_notifier, 0, NULL); } static int show_mem_notifier_get(void *dat, u64 *val)