linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean Delvare <jdelvare@suse.de>
To: Bjorn Helgaas <bhelgaas@google.com>, Huang Ying <ying.huang@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org
Subject: Re: aer_inject vs. apei/einj
Date: Fri, 19 Feb 2016 11:09:50 +0100	[thread overview]
Message-ID: <20160219110950.606d48ec@endymion> (raw)
In-Reply-To: <CAErSpo5s9JnjaPfsQreWeXTeu7_j-hY0+jVJvyzFYhVeJyazsw@mail.gmail.com>

On Wed, 17 Feb 2016 11:03:31 -0600, Bjorn Helgaas wrote:
> [+cc Huang, author of both aer_inject and apei/einj]
> 
> On Wed, Feb 17, 2016 at 7:33 AM, Jean Delvare <jdelvare@suse.de> wrote:
> > Hi all,
> >
> > I am looking for some guidance regarding AER testing. I see that we
> > have two different drivers for error injection in the kernel:
> > aer_inject and apei/einj. The user-space aer-inject tool seems to only
> > care about the former.
> >
> > How does one know which driver should be used on a given system? I
> > suppose that only one of them will work on a given system?
> >
> > My impression is that aer_inject is for "native" AER handling while
> > apei/einj is for ACPI-driven AER. Is it correct? If not I would
> > appreciate some pointers explaining when aer_inject should be used and
> > when apei/einj should be used.
> 
> My understanding is that:
> 
>   - aer_inject does not actually write to any hardware registers
> itself (though I do see it writes to some masks).  It works by
> replacing the PCI config accessors with new ones that make it look
> like the AER registers have errors logged.
> 
>   - apei/einj runs ACPI methods that apparently seed errors.  These
> might use hardware support for seeding errors, which would of course
> be platform-dependent.
> 
> So aer_inject should work on any system at all.  I think apei/einj

My problem is precisely that aer_inject doesn't work on any system I
tested. Either the device doesn't support AER, or its root port doesn't
support AER, or (further I've been) the "error device" of the root port
doesn't exist. I am not too familiar with PCIe but apparently PCIe
devices can have "sub-devices" which do not show in "lspci" but show up
in /sys/bus/pci_express/devices. I have yet to see an aer sub-device
there on any of my systems.

> will only work if the platform supplies an EINJ table, and even when
> it does, I suspect different platforms probably have different
> injection capabilities.
> 
> Huang probably can give a much better response.

Huang, pleeeease? :)

-- 
Jean Delvare
SUSE L3 Support

  reply	other threads:[~2016-02-19 10:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-17 13:33 aer_inject vs. apei/einj Jean Delvare
2016-02-17 17:03 ` Bjorn Helgaas
2016-02-19 10:09   ` Jean Delvare [this message]
2016-02-19 15:08     ` Bjorn Helgaas

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=20160219110950.606d48ec@endymion \
    --to=jdelvare@suse.de \
    --cc=bhelgaas@google.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=ying.huang@intel.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;
as well as URLs for NNTP newsgroup(s).