Page MenuHomeFreeBSD

Remove references to splbio().
ClosedPublic

Authored by markj on Jun 24 2019, 4:29 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 12, 4:38 PM
Unknown Object (File)
Apr 6 2024, 3:41 AM
Unknown Object (File)
Apr 6 2024, 3:41 AM
Unknown Object (File)
Dec 23 2023, 12:33 AM
Unknown Object (File)
Dec 12 2023, 7:19 AM
Unknown Object (File)
Nov 27 2023, 10:17 PM
Unknown Object (File)
Nov 27 2023, 10:17 PM
Unknown Object (File)
Nov 22 2023, 4:41 PM
Subscribers

Details

Summary
  • In ffs_softdep.c, various dependency completion routines are documented as blocking splbio.
  • In smbfs we don't need splbio to modify the buf, which must be locked.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/ufs/ffs/ffs_softdep.c
2113 ↗(On Diff #58953)

I think in modern times this sentence could be replaced with the statement that the function can sleep.

8882 ↗(On Diff #58953)

There (and in other similar places) it probably would be useful to say that SU mp lock should be owned, but it repeated by the assert at line 8896.

I suggest you to go ahead with smbfs part.

sys/ufs/ffs/ffs_softdep.c
2113 ↗(On Diff #58953)

Well, the sleep can occur only if DEPALLOC is passed. Do you think it is worth documenting these constraints?

8882 ↗(On Diff #58953)

Indeed, and there are many functions which assert this lock.

Simply deleting the comments about splbio is fine. It might be helpful to change the comment to say `Called with the soft update lock held.' In many places the lock ownership is asserted which may be sufficient, or perhaps the assertion should be added where it is not already there.

This revision is now accepted and ready to land.Jun 24 2019, 11:42 PM
  • Add some lock assertions.
  • Rebase.
This revision now requires review to proceed.Jun 25 2019, 3:20 PM
  • Fix compilation issues. I uploaded an old copy of the diff by accident.
This revision is now accepted and ready to land.Jun 25 2019, 4:49 PM
This revision was automatically updated to reflect the committed changes.