On Wed, Feb 14, 2024 at 05:43:13PM +0000, Marc Zyngier wrote: > On Tue, 13 Feb 2024 09:32:37 +0000, > Oliver Upton <oliver.upton@xxxxxxxxx> wrote: > > > > For full details on the what/why, please see the cover letter in v1. > > > > Apologies for the delay on v2, I wanted to spend some time to get a > > microbenchmark in place to slam the ITS code pretty hard, and based on > > the results I'm glad I did. > > [...] > > Buglets and potential improvements aside, I like the smell of this. At > least the first handful of patches could easily be taken as a separate > improvement series. > > Let me know how you'd like to play this. Yeah, I think there's 3 independent series here if we want to take the initial improvements: - Address contention around vgic_get_irq() / vgic_put_irq() with the first 10 patches. Appears there is violent agreement these are good to go. - Changing out the translation cache into a per-ITS xarray - A final series cleaning up a lot of the warts we have in LPI management, like vgic_copy_lpi_list(). I believe we can get rid of the lpi_list_lock as well, but this needs to be ordered after the first 2. I'd really like to de-risk the performance changes from the cleanups, as I'm convinced they're going to have their own respective piles of bugs. How does that sound? -- Thanks, Oliver