On Tue, 2023-03-07 at 15:06 +0100, Juergen Gross wrote: > On 07.03.23 14:51, David Woodhouse wrote: > > On Mon, 2023-02-13 at 11:43 +0100, Johan Hovold wrote: > > > The IRQ domain structures are currently protected by the global > > > irq_domain_mutex. Switch to using more fine-grained per-domain locking, > > > which can speed up parallel probing by reducing lock contention. > > > > > > On a recent arm64 laptop, the total time spent waiting for the locks > > > during boot drops from 160 to 40 ms on average, while the maximum > > > aggregate wait time drops from 550 to 90 ms over ten runs for example. > > > > > > Note that the domain lock of the root domain (innermost domain) must be > > > used for hierarchical domains. For non-hierarchical domains (as for root > > > domains), the new root pointer is set to the domain itself so that > > > &domain->root->mutex always points to the right lock. > > > > > > Also note that hierarchical domains should be constructed using > > > irq_domain_create_hierarchy() (or irq_domain_add_hierarchy()) to avoid > > > having racing allocations access a not fully initialised domain. As a > > > safeguard, the lockdep assertion in irq_domain_set_mapping() will catch > > > any offenders that also fail to set the root domain pointer. > > > > > > Tested-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> > > > Tested-by: Mark-PK Tsai <mark-pk.tsai@xxxxxxxxxxxx> > > > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> > > > > Broke Xen. > > Fixed with commit ad32ab9604f2. Thanks.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature