netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Michael Chan <mchan@broadcom.com>
Cc: 'Andi Kleen' <andi@firstfloor.org>,
	"'davem@davemloft.net'" <davem@davemloft.net>,
	"'netdev@vger.kernel.org'" <netdev@vger.kernel.org>,
	"'linux-pci@vger.kernel.org'" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] bnx2: Fix IRQ failures during kdump.
Date: Sun, 30 May 2010 19:30:15 +0200	[thread overview]
Message-ID: <20100530173014.GB14556@basil.fritz.box> (raw)
In-Reply-To: <C27F8246C663564A84BB7AB3439772421B78147574@IRVEXCHCCR01.corp.ad.broadcom.com>

On Sun, May 30, 2010 at 09:12:15AM -0700, Michael Chan wrote:
> Andi Kleen wrote:
> 
> > "Michael Chan" <mchan@broadcom.com> writes:
> > 
> > > When switching from the crashed kernel to the kdump kernel without
> > going
> > > through PCI reset, IRQs may not work if a different IRQ mode is used
> > on
> > 
> > PCIe with AER actually does support per link root port reset
> > (e.g. used for AER)
> 
> Do you mean the slot_reset function in the pci_error_handlers?  This

Well the fallback code in the PCIE root port driver 
that does the actual resets.

It could be called directly before kexec.

> needs to be called in the context of the crashed kernel, right?

It could be done on kexec, however of course you would rely
on PCI root port data structures still being intact on a crash
(I guess that's reasonable, they are not very complicated)

> 
> > 
> > I've been wondering for some time if kexec should not simply
> > use that to reset all the devices, instead of addings hacks
> > around this to all drivers.
> > 
> > That would fix your problems too, right?
> 
> If it is called in the context of the crashed kernel, it won't work.
> We would reset it and put in back into the same IRQ mode.

Who would put it back? Your driver wouldn't be called anymore.

> 
> > 
> > The question is just if AER is widely enough supported for this.
> > 
> 
> Some newer PCIe devices support Function Level Reset, and that would
> be ideal.  But most existing devices including bnx2 devices don't have
> this feature.

Root port reset should be fine for this case. Even if some
innocent device on the same root port gets reset too that shouldn't matter. 
Only drawback for the NIC would be that you have to renegotiate links I think. 

Also there are systems without AER support.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

  reply	other threads:[~2010-05-30 17:30 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-29  3:24 [PATCH] bnx2: Fix IRQ failures during kdump Michael Chan
2010-05-29  5:33 ` David Miller
2010-05-29  6:45 ` Grant Grundler
2010-05-29  6:50   ` David Miller
2010-05-29 16:22     ` Michael Chan
2010-05-29 23:05       ` David Miller
2010-05-30  1:24         ` Matthew Wilcox
2010-05-30  3:49           ` David Miller
2010-05-30  9:44             ` Andi Kleen
2010-05-30 16:32             ` Michael Chan
2010-05-29 16:01 ` Stephen Hemminger
2010-05-30  9:43 ` Andi Kleen
2010-05-30 16:12   ` Michael Chan
2010-05-30 17:30     ` Andi Kleen [this message]
2010-05-31  4:43       ` Michael Chan

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=20100530173014.GB14556@basil.fritz.box \
    --to=andi@firstfloor.org \
    --cc=davem@davemloft.net \
    --cc=linux-pci@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.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: 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;
as well as URLs for NNTP newsgroup(s).