Conversation
|
Please add a Signed-off-by tag to the commit message. |
|
I did and then Is that what I need to do? |
|
Yes, thanks! Also, can you confirm that you're run the userspace-rcu "make regtest" and "make short_bench" without issues ? Listing the testing done in the commit and adding a Tested-by tag would help. |
|
Added, all tests pass. |
Signed-off-by: Christos Zoulas <christos@zoulas.com> Tested-by: Christos Zoulas <christos@zoulas.com> regtest.out: ============================================================================ Testsuite summary for userspace-rcu 0.15.0 ============================================================================ TOTAL: 852 PASS: 852 SKIP: 0 XFAIL: 0 FAIL: 0 XPASS: 0 ERROR: 0 ============================================================================ TIME=38:58.39 CPU=597.9% (13605.556u 375.860s) SWAPS=0 (157727+3641680)pf (0i+338o) (1Kc+32Kd) short_bench.out: ============================================================================ Testsuite summary for userspace-rcu 0.15.0 ============================================================================ TOTAL: 852 PASS: 852 SKIP: 0 XFAIL: 0 FAIL: 0 XPASS: 0 ERROR: 0 ============================================================================ TIME=1:02:33.91 CPU=716.0% (26438.855u 439.871s) SWAPS=0 (166007+2996145)pf (0i+353o) (0Kc+9Kd)
|
OK, I'll merge your patch, but I would recommend implementing futex_async and futex_noasync specifically for NetBSD, as was done for OpenBSD and FreeBSD (see include/urcu/futex.h). For instance, FreeBSD uses _umtx_op(). This will be more efficient than the busy-wait and pthread_condvar fallback implementations. Considering that this will affect public headers installed on the system, it is a matter of ABI compatibility. It would therefore be simpler to introduce an efficient futex support along with the commit re-introducing NetBSD support before a release is done. Thanks! |
Tested-by: Christos Zoulas <christos@zoulas.com> Add futex implementation for NetBSD regtest ============================================================================ Testsuite summary for userspace-rcu 0.15.0 ============================================================================ TOTAL: 852 PASS: 852 SKIP: 0 XFAIL: 0 FAIL: 0 XPASS: 0 ERROR: 0 ============================================================================ TIME=23:04.34 CPU=1153.2% (15409.920u 554.945s) SWAPS=0 (3296+3746659)pf (0i+222o) (1Kc+30Kd) short_bench ============================================================================ Testsuite summary for userspace-rcu 0.15.0 ============================================================================ ============================================================================ TIME=45:40.15 CPU=1250.5% (33948.806u 318.658s) SWAPS=0 (953+3130345)pf (0i+285o) (0Kc+6Kd)
|
Added the futex implementation and ran the tests again. I am not sure if the tests actually called the futex code though. How do I make sure? |
A quick way to make sure that your code is actually compiled is to add #error "some message" in the code. A quick way to make sure that your code is actually run within the testsuite is to add an abort() in your code. |
|
It is compiled and it is called :-) You can commit it. |
|
I notice a few problems with your latest commit:
|
|
|
Another issue is that there is currently no sparc (non v9), sh3, and vax support (I will check if there are more missing) |
No description provided.