Source-Changes archive

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

CVS commit: src/sys



Module Name:    src
Committed By:   thorpej
Date:           Wed Dec 22 16:57:29 UTC 2021

Modified Files:
        src/sys/external/bsd/common/include/linux: slab.h
        src/sys/kern: kern_lwp.c subr_pool.c
        src/sys/sys: pool.h

Log Message:
Do the last change differently:

Instead of having a pre-destruct hook, put knowledge of passive
serialization into the pool allocator directly, enabled by PR_PSERIALIZE
when the pool / pool_cache is initialized.  This will guarantee that
a passive serialization barrier will be performed before the object's
destructor is called, or before the page containing the object is freed
back to the system (in the case of no destructor).  Note that the internal
allocator overhead is different when PR_PSERIALIZE is used (it implies
PR_NOTOUCH, because the objects must remain in a valid state).

In the DRM Linux API shim, this allows us to remove the custom page
allocator for SLAB_TYPESAFE_BY_RCU.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/common/include/linux/slab.h
cvs rdiff -u -r1.245 -r1.246 src/sys/kern/kern_lwp.c
cvs rdiff -u -r1.278 -r1.279 src/sys/kern/subr_pool.c
cvs rdiff -u -r1.95 -r1.96 src/sys/sys/pool.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index