| Deutsch English Français Italiano |
|
<vreuqm$1b741$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Robert Finch <robfi680@gmail.com> Newsgroups: comp.arch Subject: Re: MSI interrupts Date: Wed, 19 Mar 2025 13:27:46 -0400 Organization: A noiseless patient Spider Lines: 36 Message-ID: <vreuqm$1b741$1@dont-email.me> References: <vqto79$335c6$1@dont-email.me> <53b8227eba214e0340cad309241af7b5@www.novabbs.org> <3pXAP.584096$FVcd.26370@fx10.iad> <795b541375e3e0f53e2c76a55ffe3f20@www.novabbs.org> <vNZAP.37553$D_V4.18229@fx39.iad> <aceeec2839b8824d52f0cbe709af51e1@www.novabbs.org> <eM_AP.81303$8rz3.7843@fx37.iad> <vr2nj9$2goqe$1@dont-email.me> <f2cb846242dbfcef1efa59b92763a965@www.novabbs.org> <vr4ovm$9fl5$1@dont-email.me> <1681197d3c1af131d6b8cae884f7c9ca@www.novabbs.org> <vr7g76$2jnqm$1@dont-email.me> <8BVBP.816276$eNx6.247046@fx14.iad> <20250317161132.00004dd9@yahoo.com> <1WZBP.558392$SZca.243157@fx13.iad> <ef12021b16a514c71a5cab2f0efa60c7@www.novabbs.org> <jwvh63puk31.fsf-monnier+comp.arch@gnu.org> <f6cf175a3fbc6893f5bea834bbf3b7f2@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 19 Mar 2025 18:27:50 +0100 (CET) Injection-Info: dont-email.me; posting-host="d20416905c284720f56106b72be0c6a6"; logging-data="1416321"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Pw1LQQH5BMoUP84AOJL/aei2EG4+kR+Q=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Q3gNw6njTW04kCJtT7ndTMzQnRM= In-Reply-To: <f6cf175a3fbc6893f5bea834bbf3b7f2@www.novabbs.org> Content-Language: en-US Bytes: 3065 On 2025-03-19 12:00 p.m., MitchAlsup1 wrote: > On Wed, 19 Mar 2025 15:20:20 +0000, Stefan Monnier wrote: > >> MitchAlsup1 [2025-03-17 21:49:18] wrote: >>> On Mon, 17 Mar 2025 18:33:09 +0000, EricP wrote: >>>> Method 1 is simplest, it injects the interrupt request at Retire >>>> as that's where the state of everything is synchronized. >> [...] >>> Lowest interrupt Latency >>> Highest waste of power (i.e., work) >>> >>>> Method 2 pipelines the switch by injecting the interrupt request at >>>> Fetch. >> [...] >>> Interrupt latency is dependent on executing instructions, >>> Lowest waste of power >> >> What do existing CPUs do? > > Lean in the direction of method 2 will fallback position of method 1 > if anything goes wrong. > >> Method 2 looks insanely messy, so I'd assume method 1 is the standard >> approach, right? > > It is "not that bad" on the large scale of things. > Undaunted he tries to implement the method 2 approach using an IRQ victim queue for IRQs that should not be processed at retire. It is not too bad to code, but I dunno if it works yet. Just a switch at fetch time to select from the victim queue first, otherwise pop the normal IRQ queue. The queue is small, assuming that IRQs are not disabled for great lengths of time. >> >> Stefan