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
{{ message }}
This repository has been archived by the owner on Mar 2, 2022. It is now read-only.
Hi @lastweek . Thank you so much for your help last time.
After reading the paper on LegoOS and learning about the different page eviction policies available, I wanted to try them out too, but I'm unable to find their implementation in the source code of this repository.
May I ask whether if the implementation exists for us to play with?
The text was updated successfully, but these errors were encountered:
if you want to change policies, i suggest you start from modifying sweep_pset(). Watch out for those flags.. this code is very very racy (there might be concurrent pgfaults, mmap, munmap etc).
Hi @lastweek.
Thank you for the reply last time. So I did a simple manual tracing of the code related to lru allocation & eviction, and this is how I currently understand it at a high level.
The allocation of a cache line is recorded within the cache set by adding it to the head of its lru list.
Accessing an existing cache line does not modify the lru list, and the order within the lru list stays the same.
Background thread sweeps through all cache sets and their respective lru lists in fixed time intervals, and if any cache line in the lru list has not been accessed for a while, move it to the back of the lru list.
When an eviction is required, start iterating from the back of the lru list to find a cache line that can be evicted.
May I know whether if my interpretation of the allocation & eviction is right? And if so, does disabling the background thread means the OS no longer moves the least recently accessed cache line to the back of the lru list and what we have is something similar to a FIFO page eviction?
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hi @lastweek . Thank you so much for your help last time.
After reading the paper on LegoOS and learning about the different page eviction policies available, I wanted to try them out too, but I'm unable to find their implementation in the source code of this repository.
May I ask whether if the implementation exists for us to play with?
The text was updated successfully, but these errors were encountered: