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
Currently, if some LibOS handle operation needs to access a VMA corresponding to that memory address/range, the only way to do so is to iterate over all VMAs and filter out the ones that correspond to this LibOS handle. Thus, even if the LibOS handle a couple VMAs associated with it, any VMA-accessing operation will see traverse over all VMAs. This can become expensive.
One example is reload_mmaped_from_file_handle(). Another example can be found in PR #1818.
The proposal from @mwkmwkmwk is to keep all VMAs of a given libos_handle on a linked list. This will significantly speed up VMA-specific operations linked to a particular handle.
Description of the feature
Currently, if some LibOS handle operation needs to access a VMA corresponding to that memory address/range, the only way to do so is to iterate over all VMAs and filter out the ones that correspond to this LibOS handle. Thus, even if the LibOS handle a couple VMAs associated with it, any VMA-accessing operation will see traverse over all VMAs. This can become expensive.
One example is
reload_mmaped_from_file_handle()
. Another example can be found in PR #1818.The proposal from @mwkmwkmwk is to keep all VMAs of a given
libos_handle
on a linked list. This will significantly speed up VMA-specific operations linked to a particular handle.This issue is extracted from discussion https://reviewable.io/reviews/gramineproject/gramine/1818#-NybRQD02P8LkpEw7ztX
Why Gramine should implement it?
Performance.
The text was updated successfully, but these errors were encountered: