| 289 | } |
| 290 | |
| 291 | static int |
| 292 | test_rw_reader(void *arg) |
| 293 | { |
| 294 | uint64_t i; |
| 295 | uint64_t begin, cycles; |
| 296 | uint64_t read_cnt = (uint64_t)((uintptr_t)arg); |
| 297 | |
| 298 | begin = rte_rdtsc_precise(); |
| 299 | for (i = 0; i < read_cnt; i++) { |
| 300 | void *data = arg; |
| 301 | rte_hash_lookup_data(tbl_rw_test_param.h, |
| 302 | tbl_rw_test_param.keys + i, |
| 303 | &data); |
| 304 | if (i != (uint64_t)(uintptr_t)data) { |
| 305 | printf("lookup find wrong value %"PRIu64"," |
| 306 | "%"PRIu64"\n", i, |
| 307 | (uint64_t)(uintptr_t)data); |
| 308 | break; |
| 309 | } |
| 310 | } |
| 311 | |
| 312 | cycles = rte_rdtsc_precise() - begin; |
| 313 | __atomic_fetch_add(&gread_cycles, cycles, __ATOMIC_RELAXED); |
| 314 | __atomic_fetch_add(&greads, i, __ATOMIC_RELAXED); |
| 315 | return 0; |
| 316 | } |
| 317 | |
| 318 | static int |
| 319 | test_rw_writer(void *arg) |
nothing calls this directly
no test coverage detected