mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-03 12:57:27 +00:00
At a full host import budget with nothing evictable, a request that may evict tried again on every use, and each try walked every live import to add up what could be evicted. In a title's first scene at its 6400 MiB budget that was 37,627 refusals per present, each one a walk over about 4,400 imports, while the address-based builds kept every import held. Such a request now remembers its final refusal, the one with no smaller block left to try. Later requests for the same run, from the same range, are answered from that memory, still counted as refused and remembered, until an import is made or retired, the budget or the import window changes, the run's ranges change, or an import could have become evictable. An import becomes evictable only once the use count passes its last use by the 256-use protection, and a held one also needs a higher build floor, so the walk records the first such use among the imports it could not evict, held ones apart: the memory survives a new build while no held import can age out yet. Requests that may not evict keep their behaviour.