Am 21.03.2015 um 19:13 schrieb Paolo Bonzini: > 32-bit PPC cannot do atomic operations on long long. Inside the loops, > we are already using local counters that are summed at the end of > the run---with some exceptions (rcu_stress_count for rcutorture, > n_nodes for test-rcu-list): fix them to use the same technique. > For test-rcu-list, remove the mostly unused member "val" from the > list. Then, use a mutex to protect the global counts. > > Performance does not matter there because every thread will only enter > the critical section once. > > Remaining uses of atomic instructions are for ints or pointers. > > Reported-by: Andreas Faerber <[email protected]> > Signed-off-by: Paolo Bonzini <[email protected]> > --- > tests/rcutorture.c | 20 ++++++++++++++++---- > tests/test-rcu-list.c | 42 ++++++++++++++++++++++-------------------- > 2 files changed, 38 insertions(+), 24 deletions(-)
Still two errors in test-rcu-list: [ 1365s] tests/test-rcu-list.o: In function `rcu_qtest_init': [ 1365s] /home/abuild/rpmbuild/BUILD/qemu-2.3.0-rc0/tests/test-rcu-list.c:201: undefined reference to `__sync_fetch_and_add_8' [ 1365s] tests/test-rcu-list.o: In function `rcu_qtest': [ 1365s] /home/abuild/rpmbuild/BUILD/qemu-2.3.0-rc0/tests/test-rcu-list.c:237: undefined reference to `__sync_fetch_and_add_8' [ 1365s] collect2: error: ld returned 1 exit status [ 1365s] make: *** [tests/test-rcu-list] Error 1 https://build.opensuse.org/package/live_build_log/home:a_faerber:branches:Virtualization/qemu/openSUSE_13.1/ppc Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton; HRB 21284 (AG Nürnberg)
