On 10.11.2022. 14:59, David Gwynne wrote: > On Thu, Nov 10, 2022 at 09:04:22PM +1000, David Gwynne wrote: >> On Thu, Nov 10, 2022 at 08:10:35AM +1000, David Gwynne wrote: >>> I know what this is. The barrier at the end of if_idxmap_alloc is sleeping >>> waiting for cpus to run that aren't running cos we haven't finished booting >>> yet. >>> >>> I'll back it out and fix it up when I'm actually awake. >> i woke up, so here's a diff. >> >> this uses the usedidx as an smr_entry so we can use smr_call instead of >> smr_barrier during autoconf. >> >> this works for me on a box with a lot of hardware interfaces, which >> forces allocation of a new interface map and therefore destruction of >> the initial one. >> >> there is still an smr_barrier in if_idxmap_remove, but remove only >> happens when an interface goes away. we could use part of struct ifnet >> (eg, if_description) as an smr_entry if needed. >> > this one is even better.
Hi, with this diff my machines boot as they should. Thank you