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.