Skip to content

Force flush of local bufferΒ #34

@ibraheemdev

Description

@ibraheemdev

Currently, Guard::flush only succeeds if there are enough entries in the local buffer to be used as reclamation nodes for any active threads. In cases where there are high priority large objects, users may want to force flush the buffer even if there are not enough entries. We can expose Guard::force_flush that does this by allocating nodes on-demand to perform the reclamation, or potentially estimating the number of active threads and allocating a single buffer to serve as multiple nodes (though this seems tricky, and might be left for a future optimization). Though allocating to perform a flush sounds counterintuitive, this allocation will likely be very small compared to the memory that needs to be reclaimed, and is worth it if large objects are retired infrequently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions