Deutsch   English   Français   Italiano  
<748c0cc0ba18704b4678fd553193573e@www.novabbs.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: MSI interrupts
Date: Thu, 13 Mar 2025 21:34:06 +0000
Organization: Rocksolid Light
Message-ID: <748c0cc0ba18704b4678fd553193573e@www.novabbs.org>
References: <vqto79$335c6$1@dont-email.me> <3d5200797dd507ae051195e0b2d8ff56@www.novabbs.org> <YyFAP.729659$eNx6.235106@fx14.iad> <6731f278e3a9eb70d34250f43b7f15f2@www.novabbs.org> <AUHAP.61125$Xq5f.14972@fx38.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="50533"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="o5SwNDfMfYu6Mv4wwLiW6e/jbA93UAdzFodw5PEa6eU";
User-Agent: Rocksolid Light
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: cb29269328a20fe5719ed6a1c397e21f651bda71
X-Rslight-Site: $2y$10$lkF8N7gKoN4nP3Uh024TLuYJKIyVJLIIyutMlPF12NoEkiKX2MrD.
Bytes: 2905
Lines: 43

On Thu, 13 Mar 2025 21:14:08 +0000, Scott Lurndal wrote:

> mitchalsup@aol.com (MitchAlsup1) writes:
>>On Thu, 13 Mar 2025 18:34:32 +0000, Scott Lurndal wrote:
>>
>
>>> Most modern devices advertise the MSI-X capability instead.
>>
>>And why not:: its just a few more flip-flops and almost no more
>>sequencing logic.
>
> I've seen several devices with more than 200 MSI-X vectors;
> thats 96 bits per vector to store a full 64-bit address and
> 32-bit data payload.

At this point, with 200+ entries, flip-flops are not recommended,
instead these would be placed in a RAM of some sort. Since RAMs
come in 1KB and 2KB quanta; we have 1 of 2K and 1 of 1K and we
have 256 said message containers, with 1 cycle access (after
you get to that corner of some chip).

> Keep in mind that a guest operating system may be writing
> the 64-bit address field in a virtual function assigned to
> it with guest virtual addresses, so the inbound path for
> MSI-X needs to traverse the IOMMU before hitting the
> interrupt controller logic.

An important concept that is hard to find in the PCIe specifications.

>                              The guest OS also specifies
> the data payload, which may be an IRQ number on an intel
> system, or a virtual IRQ number translated by the IOMMU
> or Interrupt controller into a physical IRQ number (allowing
> multiple guest OS to use the same IRQs they would use on real
> hardware).

Just note that GuestOS[k].IRQ[j] uses the same bit patterns
at the device, they get delivered to their own unique
GuestOS through its interrupt table.

But even when GuestOS[k] and GuestOS[j] use the same 96-bit MSI-X
pattern, each GuestOS can interpret its message the way it wants,
sort its drivers in the way it wants, and operate with blissful
ignorance of GuestOS[other].