Page MenuHomeFreeBSD

WORK IN PROGRESS FOR COMMENTS cam_sim: create a list of sims, switch to smr and refcount(9)
AbandonedPublic

Authored by imp on May 21 2021, 8:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jun 27, 4:55 AM
Unknown Object (File)
Mar 21 2024, 9:30 PM
Unknown Object (File)
Dec 24 2023, 5:27 PM
Unknown Object (File)
Nov 9 2023, 11:56 PM
Unknown Object (File)
Nov 8 2023, 7:57 AM
Unknown Object (File)
Nov 5 2023, 11:36 AM
Unknown Object (File)
Nov 4 2023, 8:20 PM
Unknown Object (File)
Oct 8 2023, 10:50 PM
Subscribers
None

Details

Reviewers
None
Group Reviewers
cam
Summary

Link all the sims together in a list. To manage lifetimes, transition to
using smr for allocations and freeing. Transition to using refcounts for
lifetimes. Stop sleeping for the refcount to drop to 0, and instead
finish freeing the sim once the reference count drops to 0. It should be
safe to do so from all contexts we hold/release the sim.

Sponsored by: Netflix

Test Plan

This is a quick posting of code that's still a work in progress to allow discussions.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 39351
Build 36240: arc lint + arc unit

Event Timeline

imp requested review of this revision.May 21 2021, 8:39 PM
imp retitled this revision from cam_sim: create a list of sims, switch to smr and refcount(9) to WORK IN PROGRESS FOR COMMENTS cam_sim: create a list of sims, switch to smr and refcount(9).May 21 2021, 8:40 PM
imp edited the test plan for this revision. (Show Details)
imp removed a reviewer: cam.

Update sim_action and sim_poll to be 'dead' versions. This allows any CAM
requests to die gracefully once the sim has signalled it's done by calling
cam_sim_free(). Will update the commit message.

I'm going to break this up into smaller steps.