public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Neil Horman <nhorman@redhat.com>
Cc: Ben Woodard <woodard@redhat.com>,
	Andi Kleen <andi@firstfloor.org>,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	Andi Kleen <ak@suse.de>,
	hbabu@us.ibm.com, "Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH] kexec: force x86_64 arches to boot kdump kernels on boot cpu
Date: Wed, 28 Nov 2007 14:05:25 -0500	[thread overview]
Message-ID: <20071128190525.GD3192@redhat.com> (raw)
In-Reply-To: <20071128160206.GA21286@hmsendeavour.rdu.redhat.com>

On Wed, Nov 28, 2007 at 11:02:06AM -0500, Neil Horman wrote:
> On Wed, Nov 28, 2007 at 10:36:49AM -0500, Vivek Goyal wrote:
> > On Tue, Nov 27, 2007 at 03:24:35PM -0800, Ben Woodard wrote:
> > > Andi Kleen wrote:
> > >>> Are we putting the system back in PIC mode or virtual wire mode? I have
> > >>> not seen systems which support PIC mode. All latest systems seems
> > >>> to be having virtual wire mode. I think in case of PIC mode, interrupts
> > >>
> > >> Yes it's probably virtual wire. For real PIC mode we would need really
> > >> old systems without APIC.
> > >>
> > >>> can be delivered to cpu0 only. In virt wire mode, one can program IOAPIC
> > >>> to deliver interrupt to any of the cpus and that's what we have been
> > >>
> > >> The code doesn't try to program anything specific, it just restores the state
> > >> that was left over originally by the BIOS.
> > >>
> > >
> > > So if the BIOS originally left the IOAPIC in a state where the timer 
> > > interrupts were only going to CPU0 then by restoring that state we could be 
> > > bringing this problem upon ourselves when we restore that state.
> > >
> > 
> > Hi Ben,
> > 
> > Apart from restoring the original state (Bring APICS back to virtual wire
> > mode), we also reprogram IOAPIC so that timer interrupt can go to crashing
> > cpu (and not necessarily cpu0). Look at following code in disable_IO_APIC.
> > 
> >                 entry.dest.physical.physical_dest =
> >                                         GET_APIC_ID(apic_read(APIC_ID));
> > 
> > Here we read the apic id of crashing cpu and program IOAPIC accordingly.
> > This will make sure that even in virtual wire mode, timer interrupts
> > will be delivered to crashing cpu APIC.
> > 
> Yes, but according to Bens last debug effort, the APIC printout regarding the
> timer setup, indicates that ioapic_i8259.pin == -1, meaning that the 8259 is not
> routed through the ioapic.  In those cases, disable_IO_APIC does not take us
> through the path you reference above, and does not revert to virtual wire mode.
> Instead, it simply disables legacy vector 0, which if I understand this
> correctly, simply tells the ioapic to not handle timer interrupts, trusting that
> the 8259 in the system will deliver that interrupt where it needs to be.  If the
> 8259 is wired to deliver timer interrupts to cpu0 only, then you get the problem
> that we have, do you?
> 

Ok. Got it. So in this case we route the interrupts directly through LAPIC
and put LVT0 in ExtInt mode and IOAPIC is bypassed.

I am looking at Intel Multiprocessor specification v1.4 and as per figure
3-3 on page 3-9, 8259 is connected to LINTIN0 line, which in turn is 
connected to LINTIN0 pin on all processors. If that is the case, even in
this mode, all the CPU should see the timer interrupts (which is coming
from 8259)?

Can you print the LAPIC registers (print_local_APIC) during normal boot
and during kdump boot and paste here?
 
Thanks
Vivek

  parent reply	other threads:[~2007-11-28 19:12 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-27  1:47 [PATCH] kexec: force x86_64 arches to boot kdump kernels on boot cpu Neil Horman
2007-11-27  4:12 ` Eric W. Biederman
2007-11-27 13:13   ` Neil Horman
2007-11-27 13:28     ` Eric W. Biederman
2007-11-27 13:45       ` Andi Kleen
2007-11-27 14:28         ` Neil Horman
2007-11-27 14:43           ` Andi Kleen
2007-11-27 14:48             ` Neil Horman
2007-11-27 15:24               ` Andi Kleen
2007-11-27 15:30               ` Eric W. Biederman
2007-11-27 16:45                 ` Neil Horman
2007-11-27 20:50                 ` Ben Woodard
2007-11-27 21:05                   ` Neil Horman
2007-11-27 22:38                     ` Eric W. Biederman
2007-11-27 23:15                       ` Ben Woodard
2007-11-28  0:15                         ` Eric W. Biederman
2007-11-27 23:40                       ` Neil Horman
2007-11-28  0:43                         ` Eric W. Biederman
2007-11-28 15:54                     ` Neil Horman
2007-11-27 14:56         ` Eric W. Biederman
2007-11-27 15:34           ` Neil Horman
2007-11-27 18:41           ` Ben Woodard
2007-11-27 19:42             ` Neil Horman
2007-11-27 20:00               ` Vivek Goyal
2007-11-27 20:52                 ` Neil Horman
2007-11-27 22:24                 ` Andi Kleen
2007-11-27 23:24                   ` Ben Woodard
2007-11-27 23:56                     ` Andi Kleen
2007-11-28 15:36                     ` Vivek Goyal
2007-11-28 16:02                       ` Neil Horman
2007-11-28 17:36                         ` Eric W. Biederman
2007-11-28 18:16                           ` Neil Horman
2007-11-28 19:05                         ` Vivek Goyal [this message]
2007-11-28 19:42                           ` Eric W. Biederman
2007-11-28 21:09                             ` Neil Horman
2007-11-28 23:27                               ` Eric W. Biederman
2007-11-30  2:16                             ` Ben Woodard
2007-11-30  2:54                               ` Eric W. Biederman
2007-11-30  8:59                                 ` Yinghai Lu
2007-11-30 14:35                                   ` Vivek Goyal
2007-11-30 14:32                                 ` Neil Horman
2007-11-30  2:12                           ` Ben Woodard
2007-11-30 14:42                             ` Vivek Goyal
2007-11-30 14:51                               ` Neil Horman
2007-12-06 21:39                                 ` Neil Horman
2007-12-06 22:11                                   ` Vivek Goyal
2007-12-07  0:10                                     ` Neil Horman
2007-12-07 14:39                                       ` Vivek Goyal
2007-12-07 14:53                                         ` Neil Horman
2007-12-07 15:16                                           ` Vivek Goyal
2007-12-07 15:53                                             ` Neil Horman
2007-12-07 18:46                                               ` Eric W. Biederman
2007-12-07  0:33                                     ` Eric W. Biederman
2007-12-07  2:04                                       ` Neil Horman
2007-12-07  8:50                                       ` Yinghai Lu
2007-12-07  9:22                                         ` Yinghai Lu
2007-12-07 14:21                                           ` Neil Horman
2007-12-07 17:58                                             ` Neil Horman
2007-12-07 19:19                                               ` yhlu
2007-12-07 20:13                                                 ` Neil Horman
2007-12-10 15:39                                               ` Neil Horman
2007-12-10 16:20                                                 ` Vivek Goyal
2007-12-11  1:17                                                 ` Eric W. Biederman
2007-12-11  1:08                                               ` Eric W. Biederman
2007-12-11  3:43                                                 ` Neil Horman
2007-12-11  4:48                                                   ` Eric W. Biederman
2007-12-11  6:31                                                     ` Yinghai Lu
2007-12-11 14:39                                                     ` Neil Horman
2007-12-11 15:29                                                       ` Eric W. Biederman
2007-12-11 18:00                                                         ` Yinghai Lu
2007-12-11 18:29                                                           ` Neil Horman
2007-12-11 18:45                                                             ` Yinghai Lu
2007-12-11 18:22                                                         ` Neil Horman
2007-12-11 18:46                                                           ` Eric W. Biederman
2007-12-11 19:24                                                             ` Neil Horman
2007-12-11 19:51                                                               ` Yinghai Lu
2007-12-11 20:59                                                                 ` Neil Horman
2007-12-12  0:16                                                                   ` Ben Woodard
2007-12-12  0:52                                                                     ` Neil Horman
2007-12-12  1:07                                                                       ` Yinghai Lu
2007-12-12  8:43                                                                   ` [PATCH] k8: Enable legacy irqs with extended cpu ids Eric W. Biederman
2007-12-12 14:21                                                                   ` [PATCH] kexec: force x86_64 arches to boot kdump kernels on boot cpu Andi Kleen
2007-12-12 15:55                                                                     ` Neil Horman
2007-12-12 16:07                                                                       ` Andi Kleen
2007-12-12 19:43                                                                         ` Eric W. Biederman
2007-12-12 20:22                                                                           ` Neil Horman
2007-12-12 21:32                                                                             ` Eric W. Biederman
2007-12-13 14:39                                                                               ` Neil Horman
2007-12-13 15:16                                                                                 ` Andi Kleen
2007-12-13 15:32                                                                                   ` Neil Horman
2007-12-17 11:38                                                                                     ` Neil Horman
2007-12-18  0:13                                                                                   ` Eric W. Biederman
2007-12-17 15:16                                                                                 ` Ingo Molnar
2007-12-17 15:47                                                                                   ` Neil Horman
2007-12-07 18:36                                             ` Eric W. Biederman
2007-12-07 18:48                                               ` Neil Horman
2007-11-27 13:53       ` Neil Horman
2007-11-27 10:55 ` Andi Kleen
2007-11-27 11:19   ` Eric W. Biederman
2007-11-27 13:28   ` Neil Horman

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=20071128190525.GD3192@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=ak@suse.de \
    --cc=andi@firstfloor.org \
    --cc=ebiederm@xmission.com \
    --cc=hbabu@us.ibm.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=woodard@redhat.com \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox