[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180117092743.GL10882@localhost.localdomain>
Date: Wed, 17 Jan 2018 17:27:43 +0800
From: Baoquan He <bhe@...hat.com>
To: linux-kernel@...r.kernel.org, ebiederm@...ssion.com
Cc: mingo@...hat.com, tglx@...utronix.de, hpa@...or.com,
x86@...nel.org, douly.fnst@...fujitsu.com, rostedt@...dmis.org,
jgross@...e.com, peterz@...radead.org, uobergfe@...hat.com,
joro@...tes.org
Subject: Re: [RESEND PATCH 1/3] x86/apic: Set up through LAPIC on boot CPU's
LINT0 if ioapic is disabled
CC Eric
On 01/05/18 at 12:37pm, Baoquan He wrote:
> Kdump kernel will become very slow if 'noapic' is specified in kernel
> command line. Normal kernel doesn't have this issue.
>
> This is because the legacy irq mode is disabled in crashed kernel before
> jump jump to kdump kernel since commit 522e664644 ("x86/apic: Disable I/O
> APIC before shutdown of the local APIC") is merged. While in normal kernel,
> the legacy irq mode has been set in BIOS.
>
> So we need set the delivery mode AS ExtINT for LVT0 of boot CPU's LAPIC
> explicitly if IO-APIC is disabled, to set up through-local-APIC.
>
> Signed-off-by: Baoquan He <bhe@...hat.com>
> ---
> arch/x86/kernel/apic/apic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index 880441f24146..7e613fb90630 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1521,7 +1521,7 @@ void setup_local_APIC(void)
> * TODO: set up through-local-APIC from through-I/O-APIC? --macro
> */
> value = apic_read(APIC_LVT0) & APIC_LVT_MASKED;
> - if (!cpu && (pic_mode || !value)) {
> + if (!cpu && (pic_mode || !value || skip_ioapic_setup)) {
> value = APIC_DM_EXTINT;
> apic_printk(APIC_VERBOSE, "enabled ExtINT on CPU#%d\n", cpu);
> } else {
> --
> 2.5.5
>
Powered by blists - more mailing lists