Page MenuHomeFreeBSD

vfs: manage mnt_writeopcount with atomics
ClosedPublic

Authored by mjg on Sep 9 2019, 12:07 PM.
Tags
None
Referenced Files
F132594206: D21575.id61836.diff
Sat, Oct 18, 6:34 AM
F132594189: D21575.id.diff
Sat, Oct 18, 6:33 AM
F132594185: D21575.id62130.diff
Sat, Oct 18, 6:33 AM
F132594184: D21575.id62110.diff
Sat, Oct 18, 6:33 AM
F132594174: D21575.id62114.diff
Sat, Oct 18, 6:33 AM
F132594173: D21575.id62184.diff
Sat, Oct 18, 6:33 AM
Unknown Object (File)
Fri, Oct 17, 7:42 PM
Unknown Object (File)
Mon, Oct 6, 2:25 AM
Subscribers

Details

Summary

This requires a small hack in SU code which disables suspension "by hand". I did not think it's worthwhile making it use a generic routine.

Tested by pho

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

  • rebase on top of the custom barrier
kib added inline comments.
sys/kern/vfs_vnops.c
1638

I think you can write
if (__predict_true(!mplocked && (flags & V_XSLEEP) == 0) && vfs_op_thread_enter(mp)) {
and remove that ugly slowpath label.

This revision is now accepted and ready to land.Sep 14 2019, 9:35 PM
  • remove the slowpath label
This revision now requires review to proceed.Sep 14 2019, 10:28 PM
This revision is now accepted and ready to land.Sep 16 2019, 7:29 AM
jeff added inline comments.
sys/kern/vfs_vnops.c
1807–1809

Since we do this twice it could just be part of a macro or inline.

This revision was automatically updated to reflect the committed changes.