You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on cs part 2 upstream patch.
- Use markForEviction only for eviction
(findEviction and evictForSlabRelease) but not for
item movement. moveForSlabRelease relies on markMoving().
Only allow to mark item as exclusive if ref count
is 0. This ensures that after item is marked eviction
cannot fail. This makes it possible to return NULL handle
immediately from find if item is marked as exclusive.
markMoving() does have those restrictions and still allows
readers to obtain a handle to a moving item.
Also, add option to use combined locking for MMContainer
iteration.
- Block readers when item is moving
This simplifies moving code a lot.
We don't need to worry about any failure other
than allocation failure since item is protected
from any readers (and by extension, removes).
Co-authored-by: Igor Chorążewicz <igor.chorazewicz@intel.com>
0 commit comments