ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>,
	"ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [CORE TOPIC] Device error handling / reporting / isolation
Date: Wed, 14 May 2014 11:50:08 +1000	[thread overview]
Message-ID: <1400032208.17624.225.camel@pasglop> (raw)
In-Reply-To: <1399980453.879.177.camel@i7.infradead.org>

On Tue, 2014-05-13 at 12:27 +0100, David Woodhouse wrote:
> You probably don't want to completely isolate it in that case. If it's
> doing some bad DMA *and* it's also doing some good DMA to display its
> framebuffer, why stop the latter?

I don't think you can go to that level of granularity. We certainly
can't on power.

Propagation of bad data due to faulty adapters or simple bit flips
is a real big issue on servers and the policy for us is simple, on the
first "hint" of an error, block *all* traffic to an from the adapter.

Then the driver can get into the dance to figure out what's up (we can
selectively enable MMIO under driver control to try to get at diagnostic
registers for example) and reset / reconfigure things.

> The Intel IOMMU at least can be configured to avoid reporting faults for
> a given device (well, requester-id). So valid transactions still happen,
> while invalid transactions are still blocked. But silently, without
> bothering the host with the details and causing a fault-IRQ storm.

I would argue against that sort of policy. At least in server contexts.

It could well be that this is appropriate for laptops/desktops, I don't know,
but once an adapter starts doing bad DMAs, I think you can't really trust
much out of it anymore at all.

Cheers,
Ben.

  parent reply	other threads:[~2014-05-14  1:50 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-08 12:37 David Woodhouse
2014-05-08 18:03 ` Bjorn Helgaas
2014-05-08 20:00   ` Rafael J. Wysocki
2014-05-08 19:56 ` James Bottomley
2014-05-09  8:55   ` David Woodhouse
2014-05-09 11:31     ` Laurent Pinchart
2014-05-14  1:28       ` Benjamin Herrenschmidt
2014-05-09 17:48 ` Roland Dreier
2014-05-09 17:58   ` Matthew Wilcox
2014-05-09 18:08     ` Roland Dreier
2014-05-14  1:40   ` Benjamin Herrenschmidt
2014-05-09 18:05 ` Will Deacon
2014-05-12 15:03   ` Joerg Roedel
2014-05-09 19:37 ` Josh Triplett
2014-05-09 19:44   ` David Woodhouse
2014-05-09 19:53   ` Roland Dreier
2014-05-09 20:13     ` Luck, Tony
2014-05-09 20:19       ` James Bottomley
2014-05-10  1:09         ` Laurent Pinchart
2014-05-11 22:43           ` Daniel Vetter
2014-05-12 15:07             ` Joerg Roedel
2014-05-12 15:35               ` Daniel Vetter
2014-05-12 16:16                 ` Andy Lutomirski
2014-05-12 16:28                   ` Joerg Roedel
2014-05-12 16:59                     ` Laurent Pinchart
2014-05-12 17:15                       ` Joerg Roedel
2014-05-12 17:11                     ` Daniel Vetter
2014-05-12 17:40                       ` Joerg Roedel
2014-05-13 10:06                         ` Daniel Vetter
2014-05-12 17:04                   ` Daniel Vetter
2014-05-13 11:27                     ` David Woodhouse
2014-05-13 17:25                       ` Daniel Vetter
2014-05-14  1:50                       ` Benjamin Herrenschmidt [this message]
2014-05-14 20:09                         ` Daniel Vetter
2014-05-15  1:08                           ` Benjamin Herrenschmidt
2014-05-12 16:26                 ` Joerg Roedel
2014-05-12 14:58         ` Joerg Roedel
2014-05-13 14:37         ` David Woodhouse
2014-05-14  1:46         ` Benjamin Herrenschmidt
2014-05-14  1:43     ` Benjamin Herrenschmidt
2014-05-14  1:42   ` Benjamin Herrenschmidt
2014-05-14  1:24 ` Benjamin Herrenschmidt

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=1400032208.17624.225.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=dwmw2@infradead.org \
    --cc=ksummit-discuss@lists.linuxfoundation.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