20 lines
1.1 KiB
C
20 lines
1.1 KiB
C
// SPDX-License-Identifier: MPL-2.0
|
|
#ifndef SH_LIB_TEST_SLABS_H
|
|
#define SH_LIB_TEST_SLABS_H
|
|
#include "std/type.h"
|
|
#include "std/status.h"
|
|
#include "memory/page.h"
|
|
#include "memory/slab.h"
|
|
#include "cpu/tsc.h"
|
|
// Load the number of iterations for benchmakrs for slabs test.
|
|
void sh_test_slabs_load_iterations_count(sh_uint64 iterations_num);
|
|
// Test and benchmark physical region objects slab allocator
|
|
SH_STATUS sh_test_slabs_benchmark_region_physical(sh_slab_reg_phys_SLAB_ALLOCATOR *alloc,sh_page_PAGE_TABLE_POOL *ptp);
|
|
// Test and benchmark virtual region objects slab allocator
|
|
SH_STATUS sh_test_slabs_benchmark_region_virtual(sh_slab_reg_virt_SLAB_ALLOCATOR *alloc,sh_page_PAGE_TABLE_POOL *ptp);
|
|
// Test and benchmark radix nodes objects slab allocator
|
|
SH_STATUS sh_test_slabs_benchmark_radix_node(struct sh_slab_radix_node_SLAB_ALLOCATOR *alloc,sh_page_PAGE_TABLE_POOL *ptp);
|
|
// Test and benchmark all slab allocators
|
|
SH_STATUS sh_test_slabs_benchmark(sh_slab_reg_phys_SLAB_ALLOCATOR *alloc_reg_phys,sh_slab_reg_virt_SLAB_ALLOCATOR *alloc_reg_virt,struct sh_slab_radix_node_SLAB_ALLOCATOR *alloc_radix_node,sh_page_PAGE_TABLE_POOL *ptp);
|
|
#endif
|