partial free/split for ds

Alexander Tormasov a.tormasov at innopolis.ru
Thu Nov 5 10:24:50 CET 2020


Thank you for answering!

>> Typically, I want to free a part of this ds, e.g., in the middle of it.
>> Like UUUUUU -> UUUFFU (where Used and Free abbreviation used), keeping mapping and content for all old addresses except freed ones, in the «middle» of area [base_rw, base_rw+SIZE) from above.
>> 
> 
> How about using multiple dataspaces (chunks) in the first place, ie.
> each U is a separate dataspace and all dataspaces are mapped into a
> consecutive region in virtual memory?

I assume that granularity will be too high. 
e.g. every U could correspond to single 4k page, and this will give a high related metadata structures overhead (need to store it for every page).
Also, performance will be terrible - imagine that I will try to allocate around 1Gb of ram with "4k pages data spaces» via separate attach_at() and related nested RPC calls…




More information about the users mailing list