[GIT PULL] percpu fixes for v5.16-rc5

Dennis Zhou
2021-12-11T16:32:08Z

Hi Linus,

This contains a fix for SMP && !MMU archs for percpu which has been
tested by arm and sh. It seems in the past they have gotten away due to
mapping of vm functions to km functions, but this fell apart a few
releases ago and was just reported recently. The other is just a minor
dependency clean up.

I think queued up right now by Andrew is a fix in percpu that papers of
what seems to be a bug in hotplug for a special situation with
memoryless nodes. Michal Hocko is digging into it further.

[1] https://lore.kernel.org/linux-mm/908909e0-4815-b580-7ff5-d824d36a141c@redhat.com/T/

Thanks,
Dennis

The following changes since commit 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1:

Linux 5.16-rc4 (2021-12-05 14:08:22 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu.git for-5.16-fixes

for you to fetch changes up to a4f1192cb53758a7210ed5a9ee695aeba22f75fb:

percpu_ref: Replace kernel.h with the necessary inclusions (2021-12-09 15:41:09 -0500)

----------------------------------------------------------------
Andy Shevchenko (1):
percpu_ref: Replace kernel.h with the necessary inclusions

Vladimir Murzin (1):
percpu: km: ensure it is used with NOMMU (either UP or SMP)

include/linux/percpu-refcount.h | 2 +-
mm/Kconfig | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/percpu-refcount.h b/include/linux/percpu-refcount.h
index b31d3f3312ce..d73a1c08c3e3 100644
--- a/include/linux/percpu-refcount.h
+++ b/include/linux/percpu-refcount.h
@@ -51,9 +51,9 @@
#define _LINUX_PERCPU_REFCOUNT_H

#include <linux/atomic.h>
-#include <linux/kernel.h>
#include <linux/percpu.h>
#include <linux/rcupdate.h>
+#include <linux/types.h>
#include <linux/gfp.h>

struct percpu_ref;
diff --git a/mm/Kconfig b/mm/Kconfig
index 28edafc820ad..356f4f2c779e 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -428,7 +428,7 @@ config THP_SWAP
# UP and nommu archs use km based percpu allocator
#
config NEED_PER_CPU_KM
- depends on !SMP
+ depends on !SMP || !MMU
bool
default y