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
This libary could be made to work with volatile data very easily:
before moving data during defrag, set a modified bit to 0
whenver data is locked, this bit is set to 1
every so often, check the bit. If it is 1, start again from the beginning.
when the data is finished moving atomically and simultaniously check that modified=0 and then set the pointer to it's new location.
Another change is that data can ONLY be moved if its tail will will not overlap with its head (data can never be changed during a move). This is a minor restriction, but a fine one IMO.
The text was updated successfully, but these errors were encountered:
I had a eureka moment.
This libary could be made to work with volatile data very easily:
modified
bit to 0modified=0
and then set the pointer to it's new location.Another change is that data can ONLY be moved if its tail will will not overlap with its head (data can never be changed during a move). This is a minor restriction, but a fine one IMO.
The text was updated successfully, but these errors were encountered: