Page MenuHomeFreeBSD

ksyms: Lock the object while setting NOSPLIT.
ClosedPublic

Authored by markj on Nov 3 2019, 4:19 PM.
Tags
None
Referenced Files
F169064260: D22229.id63926.diff
Mon, Aug 31, 7:34 AM
F168960476: D22229.id64007.diff
Sun, Aug 30, 11:27 PM
Unknown Object (File)
Thu, Aug 27, 6:07 AM
Unknown Object (File)
Thu, Aug 27, 5:49 AM
Unknown Object (File)
Thu, Aug 27, 5:45 AM
Unknown Object (File)
Thu, Aug 27, 5:43 AM
Unknown Object (File)
Thu, Aug 27, 5:37 AM
Unknown Object (File)
Tue, Aug 25, 3:19 AM
Subscribers

Details

Summary

Alan pointed out that the object resides in the global object list, so
formally we should lock it to synchronize with a scan of the list.

Diff Detail

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

Event Timeline

I think that we should consider adding a vm_object_allocate_flags().

This revision is now accepted and ready to land.Nov 3 2019, 5:20 PM

Although unlocked manipulations of the flags were removed AFAIR.

I realized after submitting this that really we should be using OBJT_PHYS here. The object's contents are not pageable.

Convert to OBJT_PHYS and stop setting NOSPLIT entirely.

This revision now requires review to proceed.Nov 3 2019, 7:30 PM
sys/dev/ksyms/ksyms.c
44 ↗(On Diff #63911)

Is this still needed?

Remove unneeded include.

In D22229#485773, @kib wrote:

Although unlocked manipulations of the flags were removed AFAIR.

Yes, I believe so. However, in recent weeks, I recall seeing at least two attempts to reintroduce unlocked manipulations, counting this as one of them. I think that a vm_object_allocate_flags() would eliminate the temptation to do so.

This revision is now accepted and ready to land.Nov 4 2019, 3:51 PM
This revision was automatically updated to reflect the committed changes.