Commit f7d77dfc authored by Baoquan He's avatar Baoquan He Committed by Dennis Zhou
Browse files

mm/percpu.c: print error message too if atomic alloc failed



The variable 'err' is assgigned to an error message if atomic alloc
failed, while it has no chance to be printed if is_atomic is true.

Here change to print error message too if atomic alloc failed, while
avoid to call dump_stack() if that case.

Signed-off-by: default avatarBaoquan He <bhe@redhat.com>
Signed-off-by: default avatarDennis Zhou <dennis@kernel.org>
parent 7ee1e758
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1890,13 +1890,15 @@ static void __percpu *pcpu_alloc(size_t size, size_t align, bool reserved,
fail:
	trace_percpu_alloc_percpu_fail(reserved, is_atomic, size, align);

	if (!is_atomic && do_warn && warn_limit) {
	if (do_warn && warn_limit) {
		pr_warn("allocation failed, size=%zu align=%zu atomic=%d, %s\n",
			size, align, is_atomic, err);
		if (!is_atomic)
			dump_stack();
		if (!--warn_limit)
			pr_info("limit reached, disable warning\n");
	}

	if (is_atomic) {
		/* see the flag handling in pcpu_balance_workfn() */
		pcpu_atomic_alloc_failed = true;