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

Reply via email to