From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752873AbbIZMr0 (ORCPT ); Sat, 26 Sep 2015 08:47:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55190 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752751AbbIZMrY (ORCPT ); Sat, 26 Sep 2015 08:47:24 -0400 From: Denys Vlasenko To: Jason Wessel , Ingo Molnar Cc: Denys Vlasenko , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] x86/kgdb: Replace bool_int_array[NR_CPUS] with bitmap Date: Sat, 26 Sep 2015 14:47:17 +0200 Message-Id: <1443271638-2568-1-git-send-email-dvlasenk@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Straigntforward conversion from int was_in_debug_nmi[NR_CPUS] to DECLARE_BITMAP(was_in_debug_nmi, NR_CPUS) Saves about 2 kbytes in bss for NR_CPUS=512. Signed-off-by: Denys Vlasenko CC: Jason Wessel CC: Ingo Molnar CC: H. Peter Anvin CC: x86@kernel.org CC: linux-kernel@vger.kernel.org --- arch/x86/kernel/kgdb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index d6178d9..dd0a003 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c @@ -511,24 +511,27 @@ single_step_cont(struct pt_regs *regs, struct die_args *args) return NOTIFY_STOP; } -static int was_in_debug_nmi[NR_CPUS]; +static DECLARE_BITMAP(was_in_debug_nmi, NR_CPUS); static int kgdb_nmi_handler(unsigned int cmd, struct pt_regs *regs) { + int cpu; + switch (cmd) { case NMI_LOCAL: if (atomic_read(&kgdb_active) != -1) { /* KGDB CPU roundup */ - kgdb_nmicallback(raw_smp_processor_id(), regs); - was_in_debug_nmi[raw_smp_processor_id()] = 1; + cpu = raw_smp_processor_id(); + kgdb_nmicallback(cpu, regs); + set_bit(cpu, was_in_debug_nmi); touch_nmi_watchdog(); return NMI_HANDLED; } break; case NMI_UNKNOWN: - if (was_in_debug_nmi[raw_smp_processor_id()]) { - was_in_debug_nmi[raw_smp_processor_id()] = 0; + cpu = raw_smp_processor_id(); + if (__test_and_clear_bit(cpu, was_in_debug_nmi)) { return NMI_HANDLED; } break; -- 1.8.1.4