]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r323234,r323305,r323306,r324044:
authormjg <mjg@FreeBSD.org>
Sun, 31 Dec 2017 03:06:29 +0000 (03:06 +0000)
committermjg <mjg@FreeBSD.org>
Sun, 31 Dec 2017 03:06:29 +0000 (03:06 +0000)
commitdc9eed165c25d9af290b93f577ad7ac9d7b3788c
tree9d87d06a68f18a21b940bc5b4eb677cf85a038b8
parent4ebdf0a463e767672045047ec82c75bf545e9a7c
MFC r323234,r323305,r323306,r324044:

    Start annotating global _padalign locks with __exclusive_cache_line

    While these locks are guarnteed to not share their respective cache lines,
    their current placement leaves unnecessary holes in lines which preceeded them.

    For instance the annotation of vm_page_queue_free_mtx allows 2 neighbour
    cachelines (previously separate by the lock) to be collapsed into 1.

    The annotation is only effective on architectures which have it implemented in
    their linker script (currently only amd64). Thus locks are not converted to
    their not-padaligned variants as to not affect the rest.

=============

    Annotate global process locks with __exclusive_cache_line

=============

    Annotate Giant with __exclusive_cache_line

=============

    Annotate sysctlmemlock with __exclusive_cache_line.
sys/kern/kern_proc.c
sys/kern/kern_sysctl.c
sys/kern/subr_vmem.c
sys/kern/vfs_bio.c
sys/vm/uma_core.c
sys/vm/vm_page.c
sys/vm/vm_pager.c