int main ( int argc, char** argv ) { Int i, j, k, nbytes, qq; unsigned char* chp; Arena* a = &arena[VG_AR_CORE]; srandom(1); for (i = 0; i < N_TEST_ARR; i++) test_arr[i] = NULL; for (i = 0; i < N_TEST_TRANSACTIONS; i++) { if (i % 50000 == 0) mallocSanityCheck(a); j = random() % N_TEST_ARR; if (test_arr[j]) { vg_free(a, test_arr[j]); test_arr[j] = NULL; } else { nbytes = 1 + random() % M_TEST_MALLOC; qq = random()%64; if (qq == 32) nbytes *= 17; else if (qq == 33) nbytes = 0; test_arr[j] = (i % 17) == 0 ? vg_memalign(a, nbytes, 1<< (3+(random()%10))) : vg_malloc( a, nbytes ); chp = test_arr[j]; for (k = 0; k < nbytes; k++) chp[k] = (unsigned char)(k + 99); } } for (i = 0; i < N_TEST_ARR; i++) { if (test_arr[i]) { vg_free(a, test_arr[i]); test_arr[i] = NULL; } } mallocSanityCheck(a); fprintf(stderr, "ALL DONE\n"); show_arena_stats(a); fprintf(stderr, "%d max useful, %d bytes mmap'd (%4.1f%%), %d useful\n", a->bytes_on_loan_max, a->bytes_mmaped, 100.0 * (double)a->bytes_on_loan_max / (double)a->bytes_mmaped, a->bytes_on_loan ); return 0; }
#define _lv_profile_set prop_not_implemented_set GET_LV_STR_PROPERTY_FN(lv_lockargs, lv_lock_args_dup(lv->vg->vgmem, lv)) #define _lv_lockargs_set prop_not_implemented_set /* VG */ GET_VG_STR_PROPERTY_FN(vg_fmt, vg_fmt_dup(vg)) #define _vg_fmt_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_uuid, vg_uuid_dup(vg)) #define _vg_uuid_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_name, vg_name_dup(vg)) #define _vg_name_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_attr, vg_attr_dup(vg->vgmem, vg)) #define _vg_attr_set prop_not_implemented_set GET_VG_NUM_PROPERTY_FN(vg_size, (SECTOR_SIZE * vg_size(vg))) #define _vg_size_set prop_not_implemented_set GET_VG_NUM_PROPERTY_FN(vg_free, (SECTOR_SIZE * vg_free(vg))) #define _vg_free_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_sysid, vg_system_id_dup(vg)) #define _vg_sysid_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_systemid, vg_system_id_dup(vg)) #define _vg_systemid_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_locktype, vg_lock_type_dup(vg)) #define _vg_locktype_set prop_not_implemented_set GET_VG_STR_PROPERTY_FN(vg_lockargs, vg_lock_args_dup(vg)) #define _vg_lockargs_set prop_not_implemented_set GET_VG_NUM_PROPERTY_FN(vg_extent_size, (SECTOR_SIZE * vg->extent_size)) #define _vg_extent_size_set prop_not_implemented_set GET_VG_NUM_PROPERTY_FN(vg_extent_count, vg->extent_count) #define _vg_extent_count_set prop_not_implemented_set GET_VG_NUM_PROPERTY_FN(vg_free_count, vg->free_count) #define _vg_free_count_set prop_not_implemented_set