From: Dennis Zhou <dennisz@fb.com> To: "Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com>, Tejun Heo <tj@kernel.org> Cc: Christoph Lameter <cl@linux.com>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "kernel-team@fb.com" <kernel-team@fb.com> Subject: [PATCH 1/1] percpu: fix early calls for spinlock in pcpu_stats Date: Wed, 21 Jun 2017 13:52:46 -0400 [thread overview] Message-ID: <20170621175245.GA99514@dennisz-mbp.dhcp.thefacebook.com> (raw) In-Reply-To: <20170621161836.tv67op4hokja35bc@sasha-lappy> >From 2c06e795162cb306c9707ec51d3e1deadb37f573 Mon Sep 17 00:00:00 2001 From: Dennis Zhou <dennisz@fb.com> Date: Wed, 21 Jun 2017 10:17:09 -0700 Commit 30a5b5367ef9 ("percpu: expose statistics about percpu memory via debugfs") introduces percpu memory statistics. pcpu_stats_chunk_alloc takes the spin lock and disables/enables irqs on creation of a chunk. Irqs are not enabled when the first chunk is initialized and thus kernels are failing to boot with kernel debugging enabled. Fixed by changing _irq to _irqsave and _irqrestore. Fixes: 30a5b5367ef9 ("percpu: expose statistics about percpu memory via debugfs") Signed-off-by: Dennis Zhou <dennisz@fb.com> Reported-by: Alexander Levin <alexander.levin@verizon.com> --- Hi Sasha, The root cause was from 0003 of that series where I prematurely enabled irqs and the problem is addresssed here. I am able to boot with debug options enabled. Thanks, Dennis mm/percpu-internal.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mm/percpu-internal.h b/mm/percpu-internal.h index d030fce..cd2442e 100644 --- a/mm/percpu-internal.h +++ b/mm/percpu-internal.h @@ -116,13 +116,14 @@ static inline void pcpu_stats_area_dealloc(struct pcpu_chunk *chunk) */ static inline void pcpu_stats_chunk_alloc(void) { - spin_lock_irq(&pcpu_lock); + unsigned long flags; + spin_lock_irqsave(&pcpu_lock, flags); pcpu_stats.nr_chunks++; pcpu_stats.nr_max_chunks = max(pcpu_stats.nr_max_chunks, pcpu_stats.nr_chunks); - spin_unlock_irq(&pcpu_lock); + spin_unlock_irqrestore(&pcpu_lock, flags); } /* @@ -130,11 +131,12 @@ static inline void pcpu_stats_chunk_alloc(void) */ static inline void pcpu_stats_chunk_dealloc(void) { - spin_lock_irq(&pcpu_lock); + unsigned long flags; + spin_lock_irqsave(&pcpu_lock, flags); pcpu_stats.nr_chunks--; - spin_unlock_irq(&pcpu_lock); + spin_unlock_irqrestore(&pcpu_lock, flags); } #else -- 2.9.3
WARNING: multiple messages have this Message-ID (diff)
From: Dennis Zhou <dennisz@fb.com> To: "Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com>, Tejun Heo <tj@kernel.org> Cc: Christoph Lameter <cl@linux.com>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "kernel-team@fb.com" <kernel-team@fb.com> Subject: [PATCH 1/1] percpu: fix early calls for spinlock in pcpu_stats Date: Wed, 21 Jun 2017 13:52:46 -0400 [thread overview] Message-ID: <20170621175245.GA99514@dennisz-mbp.dhcp.thefacebook.com> (raw) In-Reply-To: <20170621161836.tv67op4hokja35bc@sasha-lappy>
next prev parent reply other threads:[~2017-06-21 17:53 UTC|newest] Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-06-19 23:28 [PATCH 0/4] percpu: add basic stats and tracepoints to percpu allocator Dennis Zhou 2017-06-19 23:28 ` Dennis Zhou 2017-06-19 23:28 ` [PATCH 1/4] percpu: add missing lockdep_assert_held to func pcpu_free_area Dennis Zhou 2017-06-19 23:28 ` Dennis Zhou 2017-06-19 23:28 ` [PATCH 2/4] percpu: migrate percpu data structures to internal header Dennis Zhou 2017-06-19 23:28 ` Dennis Zhou 2017-06-19 23:28 ` [PATCH 3/4] percpu: expose statistics about percpu memory via debugfs Dennis Zhou 2017-06-19 23:28 ` Dennis Zhou 2017-07-07 8:16 ` Geert Uytterhoeven 2017-07-07 8:16 ` Geert Uytterhoeven 2017-07-08 20:33 ` Dennis Zhou 2017-07-08 20:33 ` Dennis Zhou 2017-06-19 23:28 ` [PATCH 4/4] percpu: add tracepoint support for percpu memory Dennis Zhou 2017-06-19 23:28 ` Dennis Zhou 2017-06-21 16:18 ` Levin, Alexander (Sasha Levin) 2017-06-21 16:18 ` Levin, Alexander (Sasha Levin) 2017-06-21 17:52 ` Dennis Zhou [this message] 2017-06-21 17:52 ` [PATCH 1/1] percpu: fix early calls for spinlock in pcpu_stats Dennis Zhou 2017-06-21 17:54 ` Tejun Heo 2017-06-21 17:54 ` Tejun Heo 2017-06-20 17:45 ` [PATCH 0/4] percpu: add basic stats and tracepoints to percpu allocator Tejun Heo 2017-06-20 17:45 ` Tejun Heo 2017-06-20 19:12 ` Dennis Zhou 2017-06-20 19:32 ` Tejun Heo 2017-06-20 19:32 ` Tejun Heo
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170621175245.GA99514@dennisz-mbp.dhcp.thefacebook.com \ --to=dennisz@fb.com \ --cc=alexander.levin@verizon.com \ --cc=cl@linux.com \ --cc=kernel-team@fb.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=tj@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.