NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: kern/58531: NetBSD 10.0 deadlock in nd_timer



The following reply was made to PR kern/58531; it has been noted by GNATS.

From: matthew green <mrg%eterna23.net@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
    netbsd-bugs%netbsd.org@localhost, manu%netbsd.org@localhost
Subject: re: kern/58531: NetBSD 10.0 deadlock in nd_timer
Date: Tue, 13 Aug 2024 11:10:53 +1000

 >  We have a deadlock here:
 >  =
 
 >  wm_handle_queue/wm_send_common_locked/bpf_deliver/selnotify/knote/filte=
 r_event waits for kernel_lock with txq->txq_lock held
 >  =
 
 >  softint_dispatch/callout_softclock/nd_timer/arp_llinfo_output/arpreques=
 t/ether_output/if_transmit/wm_start waits for txq->txq_lock  with kernel_l=
 ock held
 
 usually we'd want kernel lock taken before other locks so in
 thie case, the first one would already have kernel lock and
 would just take a ref on the existing lock
 
 for the first case, see if you can ensure that kernel_lock is
 held before taking txq_lock, perhaps only for the case that
 calls the knote.
 
 apparently we need to de-kernel-lock-ify select backends?
 
 
 .mrg.
 


Home | Main Index | Thread Index | Old Index