From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Andrew Vasquez <andrew.vasquez@qlogic.com>
Subject: Re: [PATCH] pci: change msi-x vector to 32bit
Date: Sat, 16 Aug 2008 09:50:38 -0500 [thread overview]
Message-ID: <1218898238.3940.6.camel@localhost.localdomain> (raw)
In-Reply-To: <86802c440808152342m772d5eabs59a9c93ffe4cf557@mail.gmail.com>
On Fri, 2008-08-15 at 23:42 -0700, Yinghai Lu wrote:
> On Fri, Aug 15, 2008 at 8:26 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> > The 28 bits aren't enough, are they: we need domain as well (and surely we can have more than 16 domains?)
>
> current code
> static unsigned int build_irq_for_pci_dev(struct pci_dev *dev)
> {
> unsigned int irq;
>
> irq = dev->bus->number;
> irq <<= 8;
> irq |= dev->devfn;
> irq <<= 12;
>
> return irq;
> }
Where exactly is this code in the kernel? Most arches assume the irq is
an index to a compact table bounded by NR_IRQS, so something like this
would violate that assumption.
This is also the reason why it doesn't matter to assign a u32 irq to a
u16 vector. The u32 irq is a historical thing; it used to be u16 but
then sparc used a vector mapping scheme for the irq number, which I
don't believe it does any more.
> int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
> {
> unsigned int irq;
> int ret;
> unsigned int irq_want;
>
> irq_want = build_irq_for_pci_dev(dev) + 0x100;
>
> irq = create_irq(irq_want);
>
> domain is not used yet.
>
> need to make vecter_irq to vector_domain_irq
>
> irq_desc(irq) change to domain_irq_desc(domain, irq)
So the assumption underlying this is that the same bus/dev/function on
different domains would share irq space ... that sounds possible but a
bit strange.
James
next prev parent reply other threads:[~2008-08-16 14:50 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-16 3:26 [PATCH] pci: change msi-x vector to 32bit H. Peter Anvin
2008-08-16 6:42 ` Yinghai Lu
2008-08-16 14:50 ` James Bottomley [this message]
2008-08-16 15:39 ` Alan Cox
2008-08-16 16:13 ` James Bottomley
2008-08-16 18:56 ` Yinghai Lu
2008-08-16 20:10 ` Andrew Vasquez
2008-08-16 20:25 ` James Bottomley
2008-08-16 20:34 ` Yinghai Lu
2008-08-16 20:45 ` James Bottomley
2008-08-16 22:17 ` Yinghai Lu
2008-08-16 23:09 ` James Bottomley
2008-08-16 23:21 ` Yinghai Lu
2008-08-18 19:59 ` Eric W. Biederman
2008-08-18 20:59 ` James Bottomley
2008-08-18 21:45 ` Eric W. Biederman
2008-08-18 22:04 ` James Bottomley
2008-08-18 21:51 ` Alan Cox
2008-08-18 22:13 ` H. Peter Anvin
2008-08-18 22:27 ` James Bottomley
2008-08-18 21:24 ` H. Peter Anvin
2008-08-16 8:17 ` Eric W. Biederman
2008-08-16 9:00 ` Yinghai Lu
-- strict thread matches above, loose matches on Subject: below --
2008-08-16 2:36 Yinghai Lu
2008-08-21 20:33 ` Jesse Barnes
2008-08-21 20:47 ` Eric W. Biederman
2008-08-21 23:07 ` Jesse Barnes
2008-08-22 0:11 ` Eric W. Biederman
2008-08-22 0:35 ` Jesse Barnes
2008-08-27 23:34 ` Jesse Barnes
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=1218898238.3940.6.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=akpm@linux-foundation.org \
--cc=andrew.vasquez@qlogic.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=yhlu.kernel@gmail.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.