From 10b17e230ce082e45c16dd84b046fba7f0046931 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Tue, 13 Aug 2019 15:24:39 +0900 Subject: [PATCH] TO RESET: physical memory: free memory consistency checker Change-Id: I15aa59bb81be4d8f2acfe8d161c8255f70f9e7d3 --- lib/page_alloc.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/page_alloc.c b/lib/page_alloc.c index 8825e38c..b99124c1 100644 --- a/lib/page_alloc.c +++ b/lib/page_alloc.c @@ -332,6 +332,23 @@ int deferred_zero_at_free = 1; * of their corresponding memory (i.e., they are on the free memory chunk itself). */ +#ifdef ENABLE_FUGAKU_HACKS +size_t __count_free_bytes(struct rb_root *root) +{ + struct free_chunk *chunk; + struct rb_node *node; + size_t size = 0; + + for (node = rb_first(root); node; node = rb_next(node)) { + chunk = container_of(node, struct free_chunk, node); + + size += chunk->size; + } + + return size; +} +#endif + /* * Free pages. * NOTE: locking must be managed by the caller.