| Date | Sat, 27 Nov 2021 13:33:24 +0100 | From | Greg Kroah-Hartman <> | Subject | Re: [patch 32/32] genirq/msi: Convert storage to xarray |
| |
On Sat, Nov 27, 2021 at 02:23:17AM +0100, Thomas Gleixner wrote: > The current linked list storage for MSI descriptors is suboptimal in > several ways: > > 1) Looking up a MSI desciptor requires a O(n) list walk in the worst case > > 2) The upcoming support of runtime expansion of MSI-X vectors would need > to do a full list walk to figure out whether a particular index is > already associated. > > 3) Runtime expansion of sparse allocations is even more complex as the > current implementation assumes an ordered list (increasing MSI index). > > Use an xarray which solves all of the above problems nicely. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > --- > include/linux/msi.h | 19 ++--- > kernel/irq/msi.c | 188 ++++++++++++++++++++++------------------------------ > 2 files changed, 90 insertions(+), 117 deletions(-)
Much simpler code too, nice!
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|