All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: "Yu, Fenghua" <fenghua.yu@intel.com>
Cc: dwmw2@infradead.org, mingo@elte.hu, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org
Subject: Re: [PATCH] Time out for possible dead loops during queued invalidation wait
Date: Wed, 27 May 2009 16:51:17 -0700	[thread overview]
Message-ID: <20090527165117.8b768d00.akpm@linux-foundation.org> (raw)
In-Reply-To: <A6AD88C3F2289247BE726C37303E1EB8AF933281@orsmsx505.amr.corp.intel.com>

On Wed, 27 May 2009 16:25:52 -0700
"Yu, Fenghua" <fenghua.yu@intel.com> wrote:

> >> Which error code is better? Is EAGAIN ok?
> >
> >That depends on driver details - probably EIO would be suitable, dunno.
> >
> >But all the callers of qi_submit_sync() seem to just drop the error
> >code on the floor:
> >
> >	/* should never fail */
> >	qi_submit_sync(&desc, iommu);
> >
> >and may well cause a kernel crash as a result.
> 
> Should the code go to kernel panic after timeout in qi_submit_sync() loops? When timeout (10 seconds) in the loops, something in hardware could be wrong.
> 

The most important thing to do when an error is detected is to protect
the user's data, perhaps by reliably halting the kernel.

The second most important thing is to report what happened, so people
can fix things.

The third most important thing is to attempt to recover from the error
so that the kernel continues to function.  This third requirement often
makes the second one more successful: a still-running kernel can report
things which a crashed kernel cannot.

In this particualr case I'd suggest that the driver be converted to
correctly recognise errors, clean things up and propagate the errors
back in an orderly fashion, as usual.


otoh...  How likely is it that this timeout actually occurs?  If it's
only conceivable that this can happen when the hardware is busted then
I'd suggest that we not patch the kernel at all - the kernel really has
little chance of surviving broken silicon so why bother adding a little
bit of code here to handle a tiny subset of it?

If the chip is indeed busted then afacit the kernel will get stuck in
an infinite loop.  That's OK, we can still diagnose those with NMI
watchdogs, sysrq-p handlers, etc.


  reply	other threads:[~2009-05-27 23:52 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090327212241.234500000@intel.com>
2009-03-28 14:24 ` [patch 0/4] Intel IOMMU Supspend/Resume Support Andrew Lutomirski
2009-03-30 23:01 ` David Woodhouse
     [not found] ` <20090327212321.520992000@intel.com>
2009-04-03 12:37   ` [patch 4/4] Intel IOMMU Suspend/Resume Support - Code Clean Up David Woodhouse
     [not found] ` <20090327212321.070229000@intel.com>
2009-04-16  0:19   ` [PATCH] Intel IOMMU Pass Through Support Fenghua Yu
2009-04-16  2:13     ` Han, Weidong
2009-04-19 10:05     ` David Woodhouse
2009-04-20 17:27       ` Yu, Fenghua
2009-05-13 23:13         ` [PATCH] Fix Intel IOMMU Compilation Warnings on IA64 Fenghua Yu
2009-05-13 23:13           ` Fenghua Yu
2009-05-14 15:17           ` David Woodhouse
2009-05-14 15:17             ` David Woodhouse
2009-05-14 15:31             ` Matthew Wilcox
2009-05-14 15:31               ` Matthew Wilcox
2009-05-14 17:59             ` Fenghua Yu
2009-05-14 17:59               ` Fenghua Yu
2009-06-18 18:05               ` [PATCH 1/2] IOMMU Identity Mapping Support: iommu_identity_mapping definition Fenghua Yu
2009-06-18 18:08                 ` Muli Ben-Yehuda
2009-06-18 18:13                   ` Chris Wright
2009-06-18 18:14                   ` Yu, Fenghua
2009-06-18 18:25                     ` Muli Ben-Yehuda
2009-06-18 18:31                       ` Chris Wright
2009-06-18 18:41                         ` Muli Ben-Yehuda
2009-06-18 18:50                           ` Yu, Fenghua
2009-06-18 18:51                           ` Chris Wright
2009-06-18 19:09                             ` Yu, Fenghua
2009-06-25  0:38                     ` [PATCH] IA64 Compilation Error Fix for Intel IOMMU Identity Mapping Support Fenghua Yu
2009-06-25  1:00                       ` FUJITA Tomonori
2009-06-25  4:16                         ` [PATCH v2] " Fenghua Yu
2009-06-25  4:48                           ` FUJITA Tomonori
2009-06-25  7:11                             ` David Woodhouse
2009-06-25 21:52                               ` David Woodhouse
2009-06-25 21:56                                 ` Yu, Fenghua
2009-06-26 18:21                                   ` David Woodhouse
2009-06-25 22:00                                 ` Linus Torvalds
2009-06-25 22:46                                   ` Tony Luck
2009-06-25 23:43                                 ` Chris Wright
2009-06-26  1:35                                   ` Linus Torvalds
2009-06-26  1:52                                     ` Chris Wright
2009-06-26  2:00                                       ` Linus Torvalds
2009-06-26  2:08                                         ` Chris Wright
2009-06-26 11:15                                           ` David Woodhouse
2009-06-27  0:03                                             ` Chris Wright
2009-06-27 11:44                                         ` David Woodhouse
2009-06-18 18:13                 ` [PATCH 1/2] IOMMU Identity Mapping Support: iommu_identity_mapping definition Chris Wright
2009-06-18 18:28                   ` Yu, Fenghua
2009-06-18 18:34                     ` Chris Wright
2009-07-04 18:40                   ` David Woodhouse
2009-05-20 17:42         ` [PATCH] Time out for possible dead loops during queued invalidation wait Fenghua Yu
2009-05-27  5:51           ` Andrew Morton
2009-05-27 22:40             ` Yu, Fenghua
2009-05-27 22:48               ` Andrew Morton
2009-05-27 23:25                 ` Yu, Fenghua
2009-05-27 23:51                   ` Andrew Morton [this message]
2009-05-28  0:47                     ` Yu, Fenghua
2009-06-18 18:05               ` [PATCH 2/2] IOMMU Identity Mapping Support: Intel IOMMU implementation Fenghua Yu
2009-06-18 19:15                 ` Chris Wright
2009-06-18 19:40                   ` Yu, Fenghua
2009-06-18 20:02                     ` Chris Wright
2009-06-19 20:47                     ` [PATCH v2] IOMMU Identity Mapping Support (drivers/pci/intel_iommu.c) Fenghua Yu
2009-04-30 23:29     ` [PATCH] Intel IOMMU Pass Through Support Andrew Morton
2009-04-30 23:37       ` Randy Dunlap
2009-05-01  0:00         ` Andrew Morton
2009-05-01  0:57           ` Fenghua Yu
2009-05-01  0:05         ` Fenghua Yu
2009-05-01  0:14           ` Andrew Morton

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=20090527165117.8b768d00.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=dwmw2@infradead.org \
    --cc=fenghua.yu@intel.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.