|Linux & Unix Commands - Search Man Pages
PSERIALIZE(9) BSD Kernel Developer's Manual PSERIALIZE(9)
pserialize -- passive serialization mechanism
Passive serialization is a reader / writer synchronisation mechanism designed for lock-less
read operations. The read operations may happen from software interrupt at IPL_SOFTCLOCK.
Allocate a new synchronisation object.
Destroy the synchronisation object. No synchronisation activity should happen at
Enter the critical path of the reader side. Returns an IPL value, which must be
passed to pserialize_read_exit(9). Protected code path is not allowed to block.
Exit the critical path of the reader side. Takes the IPL value returned by
Perform the passive serialization on the writer side. Passing of this function
ensures that no readers are in action. Writers must be additionally serialized
with a separate mechanism, e.g. mutex(9). Operation blocks and it may only be
performed from thread context.
Typical code fragment in the writer side:
* Perform the updates (e.g. remove data items from a list).
* At this point it is safe to destroy old data items.
The pserialize is implemented within the file sys/kern/subr_pserialize.c.
membar_ops(3), condvar(9), mutex(9), rwlock(9)
Hennessy, et al., Passive serialization in a multitasking environment, US Patent and
Trademark Office, US Patent 4809168, February 28, 1989.
Passive serialization mechanism first appeared in NetBSD 6.0.
BSD July 30, 2011 BSD
All times are GMT -4. The time now is 10:19 PM.