Page MenuHomeFreeBSD

vfs: reduce failing trylock attempts in mnt_vnode_next_active
AbandonedPublic

Authored by mjg on Oct 11 2019, 6:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 23 2024, 3:00 PM
Unknown Object (File)
Oct 23 2024, 3:00 PM
Unknown Object (File)
Oct 23 2024, 3:00 PM
Unknown Object (File)
Oct 23 2024, 2:54 PM
Unknown Object (File)
Oct 5 2024, 8:29 PM
Unknown Object (File)
Oct 3 2024, 1:48 AM
Unknown Object (File)
Oct 2 2024, 9:56 PM
Unknown Object (File)
Oct 2 2024, 8:18 PM
Subscribers

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 - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 26991

Event Timeline

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

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.

  • add VI_TRYLOCK_CONTENDED
This revision is now accepted and ready to land.Oct 11 2019, 8:56 PM

With filtering support (D22690) this should not be needed