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
In order to finish #2962 I would like to to rework the Pinner interface a bit:
(1) Fix all commands to accept multiple pins at once for to improve performance from O(N*P) to O(P) where P is the number of (possible indirectly) pinned blocks and N is the number of operations to perform related to pinning.
(1.1) Possible provide a function to Walk all pins and perform arbitrary operations on them.
(2) Provide a function/method to verify all pins. That is to report any pins that are missing or recursive pins that are broken.
(3) I am not sure, but using a RWLock seams like an overkill. A simple mutex should be sufficient. All operations should get what they need from the pinner struct and then release the lock rather than holding a RWLock for the entire operation.
Comments?
The text was updated successfully, but these errors were encountered:
In order to finish #2962 I would like to to rework the Pinner interface a bit:
(1) Fix all commands to accept multiple pins at once for to improve performance from O(N*P) to O(P) where P is the number of (possible indirectly) pinned blocks and N is the number of operations to perform related to pinning.
(1.1) Possible provide a function to Walk all pins and perform arbitrary operations on them.
(2) Provide a function/method to verify all pins. That is to report any pins that are missing or recursive pins that are broken.
(3) I am not sure, but using a RWLock seams like an overkill. A simple mutex should be sufficient. All operations should get what they need from the pinner struct and then release the lock rather than holding a RWLock for the entire operation.
Comments?
The text was updated successfully, but these errors were encountered: