Bug #1281
Updated by Jonathan Rajotte Julien over 3 years ago
Data Race 1: WW Variable: crdp, defined at src/urcu-call-rcu-impl.h:424 Thread1: userspace-rcu/src/urcu-call-rcu-impl.h:211, userspace-rcu/src/urcu-call-rcu-impl.h Line 211, inside function set_thread_cpu_affinity: <pre> if (++crdp->gp_count & SET_AFFINITY_CHECK_PERIOD_MASK) </pre> Call order: <pre> (1)pthread_create [src/urcu-call-rcu-impl.h:437] (2)call_rcu_thread [src/urcu-call-rcu-impl.h:437] (3)set_thread_cpu_affinity [src/urcu-call-rcu-impl.h:318] </pre> Thread2: userspace-rcu/src/urcu-call-rcu-impl.h:211, userspace-rcu/src/urcu-call-rcu-impl.h Line 211, inside function set_thread_cpu_affinity: <pre> if (++crdp->gp_count & SET_AFFINITY_CHECK_PERIOD_MASK) </pre> Call order: <pre> (1)pthread_create [src/urcu-call-rcu-impl.h:437] (2)call_rcu_thread [src/urcu-call-rcu-impl.h:437] (3)set_thread_cpu_affinity [src/urcu-call-rcu-impl.h:318] </pre> Data Race 2: RW Variable: crdp, defined at src/urcu-call-rcu-impl.h:424 Thread1: userspace-rcu/src/urcu-call-rcu-impl.h:433, userspace-rcu/src/urcu-call-rcu-impl.h Line 433, inside function call_rcu_data_init: <pre> crdp->cpu_affinity = cpu_affinity; </pre> Call order: <pre> (1)perftest [src/rcutorture.h:590] (2)perftestrun [src/rcutorture.h:244] (3)urcu_signal_free_all_cpu_call_rcu_data [src/rcutorture.h:227] (4)urcu_signal_get_default_call_rcu_data [src/urcu-call-rcu-impl.h:777] (5)call_rcu_data_init [src/urcu-call-rcu-impl.h:572] </pre> Thread2: userspace-rcu/src/urcu-call-rcu-impl.h:209, userspace-rcu/src/urcu-call-rcu-impl.h Line 209, inside function set_thread_cpu_affinity: <pre> if (crdp->cpu_affinity < 0) </pre> Call order: <pre> (1)pthread_create [src/urcu-call-rcu-impl.h:437] (2)call_rcu_thread [src/urcu-call-rcu-impl.h:437] (3)set_thread_cpu_affinity [src/urcu-call-rcu-impl.h:318] </pre>