summaryrefslogtreecommitdiffstats
path: root/tools/debugscripts
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2012-10-31 13:38:56 +0000
committerattilio <attilio@FreeBSD.org>2012-10-31 13:38:56 +0000
commitb9e5ac8e1ce9f8dbec2f8ab42e0c36e0eb7c0244 (patch)
treead03c11ad8da0f2c0561fe4449cfa1b4faea70e8 /tools/debugscripts
parent245c75ddd9d9843e079e3280fcd1c008b66baf3e (diff)
downloadFreeBSD-src-b9e5ac8e1ce9f8dbec2f8ab42e0c36e0eb7c0244.zip
FreeBSD-src-b9e5ac8e1ce9f8dbec2f8ab42e0c36e0eb7c0244.tar.gz
Give mtx(9) the ability to crunch different type of structures, with the
only constraint that they have a lock cookie named mtx_lock. This name, then, becames reserved from the struct that wants to use the mtx(9) KPI and other locking primitives cannot reuse it for their members. Namely such structs are the current struct mtx and the new struct mtx_padalign. The new structure will define an object which is the same as the same layout of a struct mtx but will be allocated in areas aligned to the cache line size and will be as big as a cache line. This is supposed to give higher performance for highly contented mutexes both spin or sleep (because of the adaptive spinning), where the cache line contention results in too much traffic on the system bus. The struct mtx_padalign can be used in a completely transparent way with the mtx(9) KPI. At the moment, a possibility to MFC the patch should be carefully evaluated because this patch breaks the low level KPI (not its representation though). Discussed with: jhb Reviewed by: jeff, andre Reviewed by: mdf (earlier version) Tested by: jimharris
Diffstat (limited to 'tools/debugscripts')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud