tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pserialize(9) vs. TAILQ

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

   - 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.

Home | Main Index | Thread Index | Old Index