From ac980d3f8217d9d68266943d9b48342cf6d4fffc Mon Sep 17 00:00:00 2001 From: Tormod Volden Date: Thu, 13 Sep 2018 23:13:40 +0200 Subject: [PATCH] bank8k: When freeing pages we get more free pages And the other way around. Also the reporting of free pages was inverted. Signed-off-by: Tormod Volden --- Kernel/bank8k.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Kernel/bank8k.c b/Kernel/bank8k.c index 95877da0..b88a2fab 100644 --- a/Kernel/bank8k.c +++ b/Kernel/bank8k.c @@ -104,7 +104,7 @@ void pagemap_free(ptptr p) uint8_t *e = pt + PTNUM; while(pt < e) { if (*pt != PAGE_INVALID && *pt != PAGE_VIDEO) - pfree[--pfptr] = *pt; + pfree[pfptr++] = *pt; pt++; } } @@ -184,7 +184,7 @@ int pagemap_realloc(usize_t code, usize_t size, usize_t stack) data */ if (want < have) { while(want < have) { - pfree[--pfptr] = ptr[want]; + pfree[pfptr++] = ptr[want]; ptr[want++] = PAGE_INVALID; } return 0; @@ -199,13 +199,13 @@ int pagemap_realloc(usize_t code, usize_t size, usize_t stack) return ENOMEM; #endif while(have < want) - ptr[have++] = pfree[pfptr++]; + ptr[have++] = pfree[--pfptr]; return 0; } usize_t pagemap_mem_used(void) { - return pfptr << 3; + return (MAX_MAPS - pfptr) << 3; } #ifdef SWAPDEV -- 2.34.1