qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/8] rcu: add rcutorture


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH 3/8] rcu: add rcutorture
Date: Fri, 16 Jan 2015 10:04:39 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, 01/13 18:52, Paolo Bonzini wrote:
> +int main(int argc, char *argv[])
> +{
> +    int nreaders = 1;
> +    int duration = 1;
> +
> +    if (argc >= 2 && argv[1][0] == '-') {
> +        g_test_init(&argc, &argv, NULL);
> +        g_test_add_func("/rcu/torture/short/1reader", gtest_stress_1_1);
> +        g_test_add_func("/rcu/torture/short/10readers", gtest_stress_10_1);
> +        g_test_add_func("/rcu/torture/long/1reader", gtest_stress_1_5);
> +        g_test_add_func("/rcu/torture/long/10readers", gtest_stress_10_5);

Why do we need short tests when we have long tests? What are different other
than the durations?

> +        return g_test_run();
> +    }
> +
> +    if (argc >= 2) {
> +        nreaders = strtoul(argv[1], NULL, 0);
> +    }
> +    if (argc > 3) {
> +        duration = strtoul(argv[3], NULL, 0);
> +    }
> +    if (argc < 3 || strcmp(argv[2], "stress") == 0) {
> +        stresstest(nreaders, duration);
> +    } else if (strcmp(argv[2], "rperf") == 0) {
> +        rperftest(nreaders, duration);
> +    } else if (strcmp(argv[2], "uperf") == 0) {
> +        uperftest(nreaders, duration);
> +    } else if (strcmp(argv[2], "perf") == 0) {
> +        perftest(nreaders, duration);
> +    }
> +    usage(argc, argv);
> +    return 0;
> +}
> diff --git a/util/rcu.c b/util/rcu.c
> index f8f52ae..8df16d9 100644
> --- a/util/rcu.c
> +++ b/util/rcu.c
> @@ -169,5 +169,4 @@ static void __attribute__((__constructor__)) 
> rcu_init(void)
>  {
>      qemu_mutex_init(&rcu_gp_lock);
>      qemu_event_init(&rcu_gp_event, true);
> -    rcu_register_thread();

Maybe don't add this line in patch 2?

Fam



reply via email to

[Prev in Thread] Current Thread [Next in Thread]