US 12,229,559 B2
Facilitating per-CPU reference counting for multi-core systems with a long-lived reference
Anton Rang, Houlton, WI (US)
Assigned to EMC IP HOLDING COMPANY LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Oct. 19, 2021, as Appl. No. 17/504,904.
Prior Publication US 2023/0121841 A1, Apr. 20, 2023
Int. Cl. G06F 9/32 (2018.01); G06F 9/38 (2018.01); G06F 9/4401 (2018.01); G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06F 9/52 (2006.01)
CPC G06F 9/321 (2013.01) [G06F 9/3836 (2013.01); G06F 9/4405 (2013.01); G06F 9/465 (2013.01); G06F 9/5022 (2013.01); G06F 9/526 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A multiple processing core system, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:
determining a first quantity of releases associated with an object in a data structure of the multiple processing core system, wherein the first quantity of releases is distributed among respective first counters of first processing cores of a group of processing cores of the multiple processing core system;
determining a second quantity of acquisitions associated with the object, wherein the second quantity of acquisitions is distributed among respective second counters of second processing cores of the group of processing cores, wherein at least one first processing core of the first processing cores executed an operation with respect to the object and released the object and at least one second processing core of the second processing cores referenced the object; and
based on the second quantity of acquisitions and the first quantity of releases being determined to be a same value and based on a reclaim field in the data structure comprising an indication that the object is scheduled for removal, implementing the removal of the object from the data structure by a processing core selected from the group of processing cores based on the processing core being determined to be a last processing core to release the object.