#ifndef __PERF_INDEX_H_ #define __PERF_INDEX_H_ #include #include #include #include #include #include #include #define DECL_VALIDATE(validatetest) int validatetest(int test_argc, const char **test_argv) #define DECL_INIT(inittest) void inittest(int num_threads, long long length, int test_argc, const char **test_argv) #define DECL_TEST(test) void test(int thread_id, int num_threads, long long length, int test_argc, const char **test_argv) #define DECL_CLEANUP(cleanuptest) void cleanuptest(int num_threads, long long length) #define MAXPATHLEN 1024 typedef DECL_INIT((*init_func)); typedef DECL_TEST((*stress_func)); typedef DECL_CLEANUP((*cleanup_func)); typedef DECL_VALIDATE((*validate_func)); typedef struct { char *name; init_func init; stress_func stress; cleanup_func cleanup; validate_func validate; } stress_test_t; extern const stress_test_t cpu_test; extern const stress_test_t memory_test; extern const stress_test_t syscall_test; extern const stress_test_t fault_test; extern const stress_test_t zfod_test; extern const stress_test_t file_local_create_test; extern const stress_test_t file_local_write_test; extern const stress_test_t file_local_read_test; extern const stress_test_t file_ram_create_test; extern const stress_test_t file_ram_write_test; extern const stress_test_t file_ram_read_test; extern const stress_test_t iperf_test; extern const stress_test_t compile_test; DECL_VALIDATE(no_validate); DECL_VALIDATE(validate_iperf); DECL_INIT(stress_memory_init); DECL_INIT(stress_syscall_init); DECL_INIT(stress_fault_init); DECL_INIT(stress_file_local_create_init); DECL_INIT(stress_file_local_read_init); DECL_INIT(stress_file_local_write_init); DECL_INIT(stress_file_ram_create_init); DECL_INIT(stress_file_ram_read_init); DECL_INIT(stress_file_ram_write_init); DECL_INIT(compile_init); DECL_INIT(stress_general_init); DECL_TEST(stress_memory); DECL_TEST(stress_cpu); DECL_TEST(stress_syscall); DECL_TEST(stress_fault); DECL_TEST(stress_zfod); DECL_TEST(stress_file_local_create); DECL_TEST(stress_file_local_read); DECL_TEST(stress_file_local_write); DECL_TEST(stress_file_ram_create); DECL_TEST(stress_file_ram_read); DECL_TEST(stress_file_ram_write); DECL_TEST(iperf); DECL_TEST(compile); DECL_TEST(stress_general); DECL_CLEANUP(stress_general_cleanup); DECL_CLEANUP(stress_file_local_create_cleanup); DECL_CLEANUP(stress_file_local_read_cleanup); DECL_CLEANUP(stress_file_local_write_cleanup); DECL_CLEANUP(stress_file_ram_create_cleanup); DECL_CLEANUP(stress_file_ram_read_cleanup); DECL_CLEANUP(stress_file_ram_write_cleanup); DECL_CLEANUP(compile_cleanup); void stress_file_create(const char *fs_path, int thread_id, int num_threads, long long length); void stress_file_write_init(const char *fs_path, int num_threads, long long length); void stress_file_write(const char *fs_path, int thread_id, int num_threads, long long length, long long max_file_size); void stress_file_read_init(const char *fs_path, int num_threads, long long length, long long max_file_size); void stress_file_read(const char *fs_path, int thread_id, int num_threads, long long length, long long max_file_size); void stress_file_read_cleanup(const char *fs_path, int num_threads, long long length); void md5_hash(uint8_t *message, uint64_t len, uint32_t *hash); #endif