Date: Mon, 24 Nov 2014 21:44:11 +0900
   From: Masao Uebayashi <[email protected]>

   - TAILQ_REMOVE() will work (except on Alpha)
   - TAILQ_INSERT_*() will not (on Alpha and some others)
     - TAILQ_INSERT_*() need membar_producer()
     - TAILQ_FOREACH() needs membar_consumer()

- TAILQ_REMOVE works as is everywhere (unless you enable QUEUEDEBUG).
- TAILQ_INSERT_* need membar_producer everywhere.
- TAILQ_FOREACH needs membar_consumer on alpha.

To clarify this situation, I added _PSZ versions of all of these in
the patch I sent earlier that will

(a) do the right thing everywhere, and
(b) mark where you're sharing a queue with pserialize.

Reply via email to