All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kok, Auke" <auke-jan.h.kok@intel.com>
To: Greg KH <gregkh@suse.de>, Mitch Williams <mitch.a.williams@intel.com>
Cc: linux-kernel@vger.kernel.org, mingo@redhat.com,
	john.ronciak@intel.com, jesse.brandeburg@intel.com
Subject: Re: [PATCH 2.6.20.3] Flush writes to MSI-X table
Date: Fri, 23 Mar 2007 14:50:45 -0700	[thread overview]
Message-ID: <46044BB5.7080209@intel.com> (raw)
In-Reply-To: <20070323210729.GC12182@suse.de>

Greg KH wrote:
> On Thu, Mar 22, 2007 at 02:08:19PM -0700, Mitch Williams wrote:
>> Because both MSI-X interrupt messages and MSI-X table writes are posted,
>> it's possible for them to cross while in-flight.  This results in
>> interrupts being received long after the kernel thinks they're disabled,
>> and in interrupts being sent to stale vectors after rebalancing.
>>
>> This patch performs a read flush after writes to the MSI-X table for
>> enable/disable and rebalancing operations.  Because this is an expensive
>> operation, we do not perform the read flush after mask/unmask
>> operations.  Hardware which supports MSI-X typically also supports some
>> sort of interrupt moderation, so a read-flush is not necessary for
>> mask/unmask operations.
>>
>> This patch has been validated with (unreleased) network hardware which
>> uses MSI-X.
> 
> Is this needed for any hardware that is public today?

yes. Every msi-x capable piece of hardware in the field will crash if it does 
any form of interrupt balancing. (okay that is not that much stuff out there... 
I know, but the patch is not that big at all - all it does is subtly add a few 
read flushes to make sure that critical changes in the msix vector tables are 
pushed out at the proper time).

> Also, it seems a bit too big of a patch for -stable right now,
> especially as the mainline patch will not make it into 2.6.22 at the
> earliest.

I think Mitch was way too sensitive when he worded his e-mail. We should really 
be trying to get this fix into 2.6.21 at least.

Mitch, can you re-post this and include Eric Biederman, linux-pci, our intel 
platform guys and perhaps Linus and Andrew?

A lot of vendors (not just us) will be pushing msi-x capable hardware out, and 
this fix is absolutely needed. Getting it in soon is really preferred. Not to 
mention that Mitch has spent well over 8 weeks I think making sure that this is 
indeed the issue and the proper fix...

Auke

  reply	other threads:[~2007-03-23 21:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-22 21:08 [PATCH 2.6.20.3] Flush writes to MSI-X table Mitch Williams
2007-03-23 21:07 ` Greg KH
2007-03-23 21:50   ` Kok, Auke [this message]
2007-03-23 22:22     ` Greg KH
2007-03-24  0:24       ` Williams, Mitch A
2007-03-24  0:28         ` Greg KH
2007-03-24  0:30           ` Greg KH
2007-03-24 23:33             ` Kok, Auke
2007-03-24 23:41               ` Greg KH
2007-03-25  2:00                 ` Roland Dreier

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=46044BB5.7080209@intel.com \
    --to=auke-jan.h.kok@intel.com \
    --cc=gregkh@suse.de \
    --cc=jesse.brandeburg@intel.com \
    --cc=john.ronciak@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mitch.a.williams@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 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.