Page MenuHomeFreeBSD

Fix the last few cases that grab without busy or wired. This also happens to fix two cases of direct valid bit modification.
ClosedPublic

Authored by jeff on Sat, Nov 30, 8:40 AM.

Details

Summary

I have a number of small patches in my branch targeted at making the grab & busy usage more consistent. This enables tighter assertions that are necessary for lockless lookup & busy. In these particular cases the busy lock is acquired for free in page_alloc and we are only paying an extra atomic to release.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jeff created this revision.Sat, Nov 30, 8:40 AM
jeff retitled this revision from Fix the last few cases that grab without busy or wired. This also happens to fix two cases of direct valid bit modification. to Fix the last few cases that grab without busy or wired. This also happensto fix two cases of direct valid bit modification..Sat, Nov 30, 8:48 AM
jeff edited the summary of this revision. (Show Details)
jeff added reviewers: kib, markj, alc, dougm.
alc added inline comments.Sat, Nov 30, 5:41 PM
sys/compat/cloudabi/cloudabi_vdso.c
63–64 ↗(On Diff #65064)

Can't these two operations now be placed after the lock release? To be clear, I'm not concerned about the performance impact here, but rather that these are good examples when other people cut-and-paste elsewhere.

jeff added inline comments.Sat, Nov 30, 9:17 PM
sys/compat/cloudabi/cloudabi_vdso.c
63–64 ↗(On Diff #65064)

Yes you are right. Will fix.

jeff retitled this revision from Fix the last few cases that grab without busy or wired. This also happensto fix two cases of direct valid bit modification. to Fix the last few cases that grab without busy or wired. This also happens to fix two cases of direct valid bit modification..Sun, Dec 1, 4:51 AM
jeff updated this revision to Diff 65087.Sun, Dec 1, 4:52 AM

Address review feedback.

jeff updated this revision to Diff 65094.Sun, Dec 1, 11:07 AM

Drop object lock earlier.

kib accepted this revision.Sun, Dec 1, 8:52 PM
This revision is now accepted and ready to land.Sun, Dec 1, 8:52 PM
markj accepted this revision.Mon, Dec 2, 4:39 PM
alc accepted this revision.Mon, Dec 2, 4:48 PM