mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Roland Dreier <roland@topspin.com>
To: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org,
	Tom L Nguyen <tom.l.nguyen@intel.com>
Subject: Re: [PATCH] rename CONFIG_PCI_USE_VECTOR to CONFIG_PCI_MSI
Date: Mon, 26 Jul 2004 18:03:13 -0700	[thread overview]
Message-ID: <528yd65kj2.fsf@topspin.com> (raw)
In-Reply-To: <200407261734.46494.bjorn.helgaas@hp.com> (Bjorn Helgaas's message of "Mon, 26 Jul 2004 17:34:46 -0600")

    Roland> 1) Merge Long's latest MSI/MSI-X patches (updated patches
    Roland> in http://gmane.linux.kernel/218830).  Without the new
    Roland> semantics of pci_disable_msi()/pci_disable_msix(), it's
    Roland> very difficult to use MSI/MSI-X in a device driver.

    Bjorn> That sounds fine to me.  There's nobody really using MSI
    Bjorn> yet, so it can't break too much.

Yup... as far as I can tell there are no in-kernel users, and nobody
noticed that the MSI-X code didn't enable MSI-X properly until my
patch from last month.  My mthca driver:

    https://openib.org/svn/gen2/branches/roland-merge/src/linux-kernel/infiniband/hw/mthca

seems to be one of the first attempts to use MSI/MSI-X.  I have some
uncommitted changes to match Long's patch -- without the patch the
semantics of free_irq() releasing an MSI-X vector make my driver code
very awkward.

    Roland> 2) Split the config options so we have an i386-specific
    Roland> CONFIG_PCI_USE_VECTOR and a generic CONFIG_PCI_MSI (with
    Roland> CONFIG_PCI_MSI depending on something like !I386 ||
    Roland> CONFIG_PCI_USE_VECTOR) This would be an updated version of
    Roland> your patch.

    Bjorn> Yup.  Nothing in MSI has changed since April, so I thought
    Bjorn> my patch would be a reasonable no-risk first step.

I agree... I'd just really, really like to see Long's patch merged
first, since I've been waiting for it for a long time and my driver is
broken without it :)

    Roland> 3) Make the code in drivers/pci/msi.c less Intel-specific
    Roland> -- instead of hard-coding Intel-specific addresses for
    Roland> vectors have the computation call into arch code.  This
    Roland> would be a fair amount of work and depends documentation
    Roland> for non-Intel platforms that implement MSI/MSI-X -- should
    Roland> be easier as PCI Express comes out.

    Bjorn> This is the bit I really want to get to.  In particular, I
    Bjorn> want to support multiple interrupt vector spaces on ia64,
    Bjorn> because we're running out of vectors.  I can't do that as
    Bjorn> long as MSI mucks around with the arch-specific vector
    Bjorn> allocation.  (There's plenty of ia64 code that needs to be
    Bjorn> cleaned up, too; it's not just MSI.)

    Bjorn> I think there needs to be some arch interface to
    Bjorn> allocate/deallocate Linux IRQ numbers (not interrupt
    Bjorn> vectors).  Then MSI can allocate as many as it needs, and
    Bjorn> use yet another arch interface to translate the Linux IRQ
    Bjorn> numbers to the appropriate address/data info to program the
    Bjorn> device.

Sounds good, although I don't know much about the low-level details of
interrupt vectors on either i386 or ia64.  Some way of exposing which
interrupts are "closest" to which CPUs would be a good thing too.

One thing that I would be a little concerned about is making the
numbers in /proc/interrupts too divorced from the underlying platform
interrupt code -- it seems that ACPI debugging is hard enough as it
is.

 - Roland

  reply	other threads:[~2004-07-27  1:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-26 22:15 Bjorn Helgaas
2004-07-26 22:39 ` Roland Dreier
2004-07-26 22:45   ` Roland Dreier
2004-07-26 23:34   ` Bjorn Helgaas
2004-07-27  1:03     ` Roland Dreier [this message]
2004-07-27  5:48       ` Zwane Mwaikambo
     [not found]     ` <20040726164324.683ff471.akpm@osdl.org>
     [not found]       ` <524qnu5j8l.fsf@topspin.com>
     [not found]         ` <20040726183917.65927925.akpm@osdl.org>
     [not found]           ` <20040727023927.GB24599@kroah.com>
2004-07-28 17:08             ` [PATCH][1/2] Stop using dev->bus->ops directly in msi.c Roland Dreier
2004-07-28 17:11             ` [PATCH][2/2] MSI/MSI-X API updates 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=528yd65kj2.fsf@topspin.com \
    --to=roland@topspin.com \
    --cc=akpm@osdl.org \
    --cc=bjorn.helgaas@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tom.l.nguyen@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

all inboxes | Powered by JetHome®