KVM: arm64: vgic-its: Maintain a translation cache per ITS
Within the context of a single ITS, it is possible to use an xarray to cache the device ID & event ID translation to a particular irq descriptor. Take advantage of this to build a translation cache capable of fitting all valid translations for a given ITS. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Link: https://lore.kernel.org/r/20240422200158.2606761-9-oliver.upton@linux.dev Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
committed by
Marc Zyngier
parent
c09c8ab99a
commit
8201d1028c
@@ -210,6 +210,12 @@ struct vgic_its {
|
||||
struct mutex its_lock;
|
||||
struct list_head device_list;
|
||||
struct list_head collection_list;
|
||||
|
||||
/*
|
||||
* Caches the (device_id, event_id) -> vgic_irq translation for
|
||||
* LPIs that are mapped and enabled.
|
||||
*/
|
||||
struct xarray translation_cache;
|
||||
};
|
||||
|
||||
struct vgic_state_iter;
|
||||
|
||||
Reference in New Issue
Block a user