From: Mark Maule <maule@sgi.com>
To: Grant Grundler <iod00d@hp.com>
Cc: linuxppc64-dev@ozlabs.org, linux-pci@atrey.karlin.mff.cuni.cz,
linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org,
Tony Luck <tony.luck@intel.com>,
gregkh@suse.de
Subject: Re: [PATCH 1/3] msi vector targeting abstractions
Date: Tue, 3 Jan 2006 17:50:24 -0600 [thread overview]
Message-ID: <20060103235024.GC16827@sgi.com> (raw)
In-Reply-To: <20060103223918.GB13841@esmail.cup.hp.com>
On Tue, Jan 03, 2006 at 02:39:18PM -0800, Grant Grundler wrote:
> On Thu, Dec 22, 2005 at 02:15:49PM -0600, Mark Maule wrote:
> > Abstract portions of the MSI core for platforms that do not use standard
> > APIC interrupt controllers. This is implemented through a new arch-specific
> > msi setup routine, and a set of msi ops which can be set on a per platform
> > basis.
>
> ...
> > +
> > + msi_ops->target(vector, dest_cpu, &address_hi, &address_lo);
> > +
> > + pci_write_config_dword(entry->dev, msi_upper_address_reg(pos),
> > + address_hi);
> > pci_write_config_dword(entry->dev, msi_lower_address_reg(pos),
> > - address.lo_address.value);
> > + address_lo);
> > set_native_irq_info(irq, cpu_mask);
> > break;
> > }
> ...
> > --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> > +++ msi/drivers/pci/msi-apic.c 2005-12-22 11:09:37.022232088 -0600
> ...
> > +struct msi_ops msi_apic_ops = {
> > + .setup = msi_setup_apic,
> > + .teardown = msi_teardown_apic,
> > +#ifdef CONFIG_SMP
> > + .target = msi_target_apic,
> > +#endif
>
> Mark,
> msi_target_apic() initializes address_lo parameter.
> Even on a UP machine, we need inialize this value.
Not sure what you mean here. target is used to retarget an existing MSI vector
to a different processor. In the case of apic, this appears to be accomplished
by swizzling the cpu in the low 32 bits of the msi address. Nothing needs to
change in the upper 32 bits.
>
> If target is called unconditionally, wouldn't it be better
> for msi_target_apic() always be called?
target is called through the msi_ops->target vector. SN does not use
msi_target_apic(), it uses sn_msi_target(). Other platforms can implement
target however they need to.
>
> It would also be good for msi_target_apic to validate the 'dest_cpu' is online.
> Maybe a BUG_ON or something like that.
That wasn't a check in the original code flow ... the main protection appears
to be in the upper levels in irq_affinity_write_proc().
>
> grant
>
> ps. not done looking through this...and still curious to see where
> other discussion about generic vector assignment leads.
next prev parent reply other threads:[~2006-01-03 23:50 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-22 20:15 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2005-12-22 20:15 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-01-03 22:39 ` Grant Grundler
2006-01-03 23:50 ` Mark Maule [this message]
2006-01-04 0:20 ` Grant Grundler
2006-01-04 0:27 ` Greg KH
2006-01-04 3:52 ` Mark Maule
2005-12-22 20:15 ` [PATCH 2/3] per-platform IA64_{FIRST,LAST}_DEVICE_VECTOR definitions Mark Maule
2006-01-04 0:01 ` Grant Grundler
2005-12-22 20:16 ` [PATCH 2/3] altix: msi support Mark Maule
2005-12-22 20:22 ` [PATCH 0/3] msi abstractions and support for altix Greg KH
2005-12-22 20:26 ` Mark Maule
2005-12-22 20:34 ` Greg KH
2005-12-22 20:38 ` Mark Maule
2005-12-22 20:50 ` Matthew Wilcox
2006-01-03 3:22 ` Mark Maule
2006-01-03 6:07 ` Greg KH
2006-01-10 17:00 ` Mark Maule
2006-01-10 17:03 ` Christoph Hellwig
2006-01-10 17:11 ` Greg KH
2005-12-22 21:44 ` Greg KH
2005-12-23 15:32 ` Mark Maule
2005-12-23 16:32 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2006-03-29 2:31 Mark Maule
2006-03-29 2:31 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-03-21 14:34 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2006-03-21 14:34 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-03-21 16:29 ` Jun'ichi Nomura
2006-03-21 16:38 ` Andreas Schwab
2006-03-21 19:14 ` Mark Maule
2006-03-21 19:23 ` Jun'ichi Nomura
2006-03-21 19:38 ` Mark Maule
2006-01-19 19:46 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2006-01-19 19:46 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-01-20 2:15 ` Greg KH
2006-01-11 22:16 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2006-01-11 22:16 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-01-11 15:52 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2006-01-11 15:52 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2006-01-11 20:21 ` Greg KH
2006-01-11 20:49 ` Mark Maule
2006-01-11 20:57 ` Greg KH
2006-01-12 5:02 ` Grant Grundler
2006-01-12 5:36 ` Greg KH
2006-01-12 5:47 ` Paul Mackerras
2006-01-12 7:33 ` Grant Grundler
2005-12-22 17:15 [PATCH 0/3] msi abstractions and support for altix Mark Maule
2005-12-22 17:15 ` [PATCH 1/3] msi vector targeting abstractions Mark Maule
2005-12-22 19:58 ` Greg KH
2005-12-22 20:09 ` Mark Maule
2005-12-22 20:19 ` Greg KH
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=20060103235024.GC16827@sgi.com \
--to=maule@sgi.com \
--cc=gregkh@suse.de \
--cc=iod00d@hp.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=linuxppc64-dev@ozlabs.org \
--cc=tony.luck@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