]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
assert that allocations are allocated in map
authorAntti Kantee <pooka@iki.fi>
Mon, 5 Oct 2015 13:39:40 +0000 (13:39 +0000)
committerAntti Kantee <pooka@iki.fi>
Mon, 5 Oct 2015 13:39:40 +0000 (13:39 +0000)
lib/libbmk_core/pgalloc.c

index a5fce3b526899c11e0a4af975bb8e285cc02a0a3..70c39bd9cacb91473bc9c99814430dcd078d0efb 100644 (file)
@@ -372,6 +372,17 @@ bmk_pgalloc(int order)
            order2size(order), alloc_ch));
        pgalloc_usedkb += order2size(order)>>10;
 
+#ifdef BMK_PGALLOC_DEBUG
+       {
+               unsigned npgs = 1<<order;
+               char *p = (char *)alloc_ch;
+
+               for (npgs = 1<<order; npgs; npgs--, p += BMK_PCPU_PAGE_SIZE) {
+                       bmk_assert(allocated_in_map(p));
+               }
+       }
+#endif
+
        SANITY_CHECK();
 
        return alloc_ch;
@@ -386,6 +397,17 @@ bmk_pgfree(void *pointer, int order)
        DPRINTF(("bmk_pgfree: freeing 0x%lx bytes at %p\n",
            order2size(order), pointer));
 
+#ifdef BMK_PGALLOC_DEBUG
+       {
+               unsigned npgs = 1<<order;
+               char *p = (char *)pointer;
+
+               for (npgs = 1<<order; npgs; npgs--, p += BMK_PCPU_PAGE_SIZE) {
+                       bmk_assert(allocated_in_map(p));
+               }
+       }
+#endif
+
        /* free the allocation in the bitmap */
        map_free(pointer, 1UL << order);
        pgalloc_usedkb -= order2size(order)>>10;