static void *rcu_update_perf_test(void *arg)

{

    long long n_updates_local = 0;



    rcu_register_thread();



    *(struct rcu_reader_data **)arg = &rcu_reader;

    atomic_inc(&nthreadsrunning);

    while (goflag == GOFLAG_INIT) {

        g_usleep(1000);

    }

    while (goflag == GOFLAG_RUN) {

        synchronize_rcu();

        n_updates_local++;

    }

    atomic_add(&n_updates, n_updates_local);



    rcu_unregister_thread();

    return NULL;

}

static void *rcu_update_perf_test(void *arg)

{

    long long n_updates_local = 0;



    rcu_register_thread();



    *(struct rcu_reader_data **)arg = &rcu_reader;

    atomic_inc(&nthreadsrunning);

    while (goflag == GOFLAG_INIT) {

        g_usleep(1000);

    }

    while (goflag == GOFLAG_RUN) {

        synchronize_rcu();

        n_updates_local++;

    }

    atomic_add(&n_updates, n_updates_local);



    rcu_unregister_thread();

    return NULL;

}

static void *FUNC_0(void *VAR_0)

{

    long long VAR_1 = 0;



    rcu_register_thread();



    *(struct rcu_reader_data **)VAR_0 = &rcu_reader;

    atomic_inc(&nthreadsrunning);

    while (goflag == GOFLAG_INIT) {

        g_usleep(1000);

    }

    while (goflag == GOFLAG_RUN) {

        synchronize_rcu();

        VAR_1++;

    }

    atomic_add(&n_updates, VAR_1);



    rcu_unregister_thread();

    return NULL;

}

static void *FUNC_0(void *VAR_0)
{ long long VAR_1 = 0; rcu_register_thread(); *(struct rcu_reader_data **)VAR_0 = &rcu_reader; atomic_inc(&nthreadsrunning); while (goflag == GOFLAG_INIT) { g_usleep(1000); } while (goflag == GOFLAG_RUN) { synchronize_rcu(); VAR_1++; } atomic_add(&n_updates, VAR_1); rcu_unregister_thread(); return NULL; }