Ejemplo n.º 1
0
int
main(int argc, char **argv) {
    struct plat_opts_config_shmemtest_phys config;
    int status;
    size_t paddr_before;
    struct plat_shmem_alloc_stats init_stats;
    struct plat_shmem_alloc_stats end_stats;

    text_sp_t shared_text;

    const char text_of_doom[] = "Killroy was here";

    /* Physmem ininitialization is the same as regular memory */
    memset(&config, 0, sizeof(config));
    plat_shmem_config_init(&config.shmem);

    if (plat_opts_parse_shmemtest_phys(&config, argc, argv)) {
        return (2);
    }

    status = plat_shmem_prototype_init(&config.shmem);
    plat_assert_always(!status);

    status = plat_shmem_attach(plat_shmem_config_get_path(&config.shmem));
    plat_assert_always(!status);

    status = plat_shmem_alloc_get_stats(&init_stats);
    plat_assert_always(!status);

    shared_text = test_start(text_of_doom);
    plat_assert_always(!text_sp_is_null(shared_text));
    paddr_before = plat_shmem_ptr_to_paddr(shared_text);
    plat_assert_always(paddr_before);

    test_middle(shared_text, text_of_doom, paddr_before);

    /* Detach and re-attach */
    status = plat_shmem_detach();
    plat_assert_always(!status);

    status = plat_shmem_attach(plat_shmem_config_get_path(&config.shmem));
    plat_assert_always(!status);

    test_middle(shared_text, text_of_doom, paddr_before);

    test_end(shared_text, text_of_doom);

    status = plat_shmem_alloc_get_stats(&end_stats);
    plat_assert_always(!status);
    plat_assert_always(init_stats.allocated_bytes == end_stats.allocated_bytes);
    plat_assert_always(init_stats.allocated_count == end_stats.allocated_count);

    status = plat_shmem_detach();
    plat_assert_always(!status);

    plat_shmem_config_destroy(&config.shmem);

    return (0);
}
int main(int argc, char *argv[]) {
	printf("Start of %s.\n", argv[0]);
	nthreads = 5, ncores = 5;
	if (SDF_TRUE != internal_testhomedir_init()) {
		return -1;
	} else if (argc > 1) {
		niterator = atoi(argv[1]);
	} else if (argc > 2) {
		ncores = atoi(argv[2]);
		if (ncores > MAX_CORES)
			ncores = MAX_CORES;
	} else if (argc > 3) {
		nthreads = atoi(argv[3]);
		if (nthreads > MAX_FTH_THREAD)
			nthreads = MAX_FTH_THREAD;
	}

	plat_assert_always(niterator > 0);
	plat_assert_always(nthreads > 0);
	plat_assert_always(ncores > 0);

	int ret = execute_test();
	printf("End of %s.\n", argv[0]);

	// plat_log_parse_arg("sdf/shared=debug");
	plat_shmem_alloc_get_stats(&g_end_sm_stats);
	print_sm_stats(g_init_sm_stats, g_end_sm_stats);
	return (ret);
}
Ejemplo n.º 3
0
int
main(int argc, char *argv[])
{
    printf("Start of %s.\n", argv[0]);
    if (SDF_TRUE != internal_testhomedir_init()) {
        return -1;
    } else if (argc > 1) {
        numBlocks = atoi(argv[1]);
    }

    int ret = execute_test();
    printf("End of %s.\n", argv[0]);
    // plat_log_parse_arg("sdf/shared=debug");
    plat_shmem_alloc_get_stats(&g_end_sm_stats);
    print_sm_stats(g_init_sm_stats, g_end_sm_stats);
    return (ret);
}
SDF_boolean_t internal_testhomedir_init() {
	SDF_boolean_t ret = SDF_FALSE;
	loadProperties("/opt/schooner/config/schooner-med.properties"); // TODO get filename from command line
	// plat_log_parse_arg("platform/alloc=trace");

	if (SDF_TRUE != (ret = init_agent_sm(0))) {
		printf("init_agent_sm() failed!\n");
	} else {
		plat_shmem_alloc_get_stats(&g_init_sm_stats);
		uint64_t buckets = getProperty_uLongLong("SDF_HOME_DIR_BUCKETS",
				MAX_BUCKETS - 1);
		uint32_t lockType = getProperty_uLongInt("SDF_HOME_DIR_LOCKTYPE",
				HMDIR_FTH_BUCKET);
		homedir = HomeDir_create(buckets, lockType);
	}

	return (ret);
}