qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [EXTERNAL] Plugins Not Reporting AArch64 SVE Memory Operations


From: Robert Henry
Subject: Re: [EXTERNAL] Plugins Not Reporting AArch64 SVE Memory Operations
Date: Fri, 25 Mar 2022 02:17:38 +0000

I have not done anything on this front, alas.

From: Aaron Lindsay <aaron@os.amperecomputing.com>
Sent: Thursday, March 24, 2022 1:17 PM
To: qemu-devel@nongnu.org <qemu-devel@nongnu.org>; qemu-arm@nongnu.org <qemu-arm@nongnu.org>
Cc: Alex Bennée <alex.bennee@linaro.org>; richard.henderson@linaro.org <richard.henderson@linaro.org>; Robert Henry <robhenry@microsoft.com>
Subject: [EXTERNAL] Plugins Not Reporting AArch64 SVE Memory Operations
 
Hi folks,

I see there has been some previous discussion [1] about 1.5 years ago
around the fact that AArch64 SVE instructions do not emit any memory
operations via the plugin interface, as one might expect them to.

I am interested in being able to more accurately trace the memory
operations of SVE instructions using the plugin interface - has there
been any further discussion or work on this topic off-list (or that
escaped my searching)?

In the previous discussion [1], Richard raised some interesting
questions:

> The plugin interface needs extension for this.  How should I signal that 256
> consecutive byte loads have occurred?  How should I signal that the controlling
> predicate was not all true, so only 250 of those 256 were actually active?  How
> should I signal 59 non-consecutive (gather) loads have occurred?
>
> If the answer is simply that you want 256 or 250 or 59 plugin callbacks
> respectively, then we might be able to force the memory operations into the
> slow path, and hook the operation there.  As if it were an i/o operation.

My initial reaction is that simply sending individual callbacks for each
access (only the ones which were active, in the case of predication)
seems to fit reasonably well with the existing plugin interface. For
instance, I think we already receive two callbacks for each AArch64
`LDP` instruction, right?

If this is an agreeable solution that wouldn't take too much effort to
implement (and no one else is doing it), would someone mind pointing me
in the right direction to get started?

Thanks!

-Aaron

[1] https://nam06.safelinks.protection.outlook.com/?url="">

reply via email to

[Prev in Thread] Current Thread [Next in Thread]