Alexander van der Grinten
Alexander van der Grinten
This PR allows NetworKit configurations that store *adjacency lists* consisting of 32-bit node IDs. In the best case, this should roughly half the memory required for `NetworKit::Graph` objects, at the...
While looking at the fix of #98, I noticed the following bug: In Dijkstra.cpp we optionally count the number of shortest paths to all nodes. We do this by checking...
This PR improves performance of common paging operations, see the commit message of the second commit. The first commit optimizes large shootdowns by reloading CR3 instead of calling `invlpg` hundreds...
We already have support for Intel VMX, but to make the virtualization stack more portable, we should also implement SVM.
Right now, `AllocatedMemory` stores a vector of physical pages. This approach is problematic if the memory object is only sparsely populated; for example, sanitizers like ASAN try to allocate terabyte-sized...
Implementing swapping within the kernel should not be difficult. We can implement a `struct SwapSpace` that handles read/writing pages from/to disk: ```cpp struct SwapSpace { using SwapAddress = PhysicalAddr; //...
Move thor's inigraph logic into common header and use it to avoid code duplication in eir.
Thor currently uses an LRU algorithm to reclaim memory. However, due to hardware constraints and runtime overhead, we cannot determine the least recently used pages exactly (and we need to...
The memory reclaimer should scan the accessed bits of all page tables before running an iteration of the reclaim loop. Note that we should scan all mappings once before scanning...
Make the arch-specific structs into `arch/cpu-bits.hpp` etc. headers and keep the functions in a common `arch/cpu.hpp` header that is shared by all archs.