We added write barriers to the BSD TAILQ_INSERT_XXX functions, here's the comment in the include/queue.h file:
Additionally, we've altered the TAILQ_INSERT_XXX functions to include a write barrier, in order to ensure we never insert a partially built structure onto a list (this is required because the spinlocks we use don't necessarily imply a write barrier).
The changes for the PPC required all of our spinlocks to imply write barriers, and barriers in the macros are probably no longer required.
If possible, we should remove those write barriers, and revert to using the unmodified BSD macros.