Magliano Andrea <masterblaster@tiscali.it> 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 <bugs@lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue2092>
_____________________________________________________