Magliano Andrea <[email protected]> added the comment:

To revise my comment:

TAILQ_EMPTY was already in camisr_runqueue(), so
0001-Optimize-isr-routine-from-FreeBSD-proved-to-work.patch has really nothing
to do with locking issues, just a drop in optimization from FreeBSD

Nevertheless 0002-TAILQ_EMPTY-now-done-in-camisr_runqueue-so-useless-h.patch
still makes sense to me:
in camisr_runqueue() 'while ((ccb_h = TAILQ_FIRST(&sim->sim_doneq)) != NULL)'
lets TAILQ_FIRST != NULL make the same job as TAILQ_EMPTY, and here the queue
macro is do protected by a spinlock

----------
status: unread -> chatting

_____________________________________________________
DragonFly issue tracker <[email protected]>
<http://bugs.dragonflybsd.org/issue2092>
_____________________________________________________

Reply via email to