Page MenuHomeFreeBSD

vfs: reduce failing trylock attempts in mnt_vnode_next_active
AbandonedPublic

Authored by mjg on Oct 11 2019, 6:45 PM.

Details

Reviewers
kib
Summary

When doing poudriere -j 104, after 4 minutes of tracing:

kernel`mnt_vnode_next_active                        _mtx_trylock_flags_int                                            1          1683089
kernel`mnt_vnode_next_active                        _mtx_trylock_flags_int                                            0          4781020

That is, majority of attempts to trylock has failed.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 26991

Event Timeline

mjg created this revision.Oct 11 2019, 6:45 PM
mjg retitled this revision from vfs: reduce failing trylock attempts in nt_vnode_next_active to vfs: reduce failing trylock attempts in mnt_vnode_next_active.Oct 11 2019, 6:45 PM
kib added a comment.Oct 11 2019, 8:23 PM

This cannot go in without explanation why mtx_owner is checked, in the comment above. But it should not go in regardless, if such check is useful perhaps it should be added to VI_TRYLOCK, or mtx_trylock, or another version of VI_TRYLOCK created.

mjg updated this revision to Diff 63167.Oct 11 2019, 8:41 PM
  • add VI_TRYLOCK_CONTENDED
kib accepted this revision.Oct 11 2019, 8:56 PM
This revision is now accepted and ready to land.Oct 11 2019, 8:56 PM
mjg abandoned this revision.Sat, Dec 7, 1:24 AM

With filtering support (D22690) this should not be needed