"dev" <dev-boun...@openvswitch.org> wrote on 05/07/2016 04:05:06 PM:

> From: William Tu <u9012...@gmail.com>
> X-Patchwork-Id: 587107
> Message-Id: <1456263597-40004-1-git-send-email-u9012...@gmail.com>
> To: dev@openvswitch.org
> Date: Tue, 23 Feb 2016 13:39:57 -0800
>
> v2->v3
> - Pass all test cases
> - Introduce separate lock elision for rwlock
> - Add performance comparison of cmap/hmap search
>
> v1->v2
> - Fix a bug at UNLOCK_ELISION
> - Add checking if glibc version >= 2.21 (OVS_CHECK_GLIBC_TSX)
> - Add checking of whether cpu has TSX support (OVS_CHECK_RTM)
> - Enable LOCK_ELISION only when CPU has TSX and glibc doesn't
>   (if glibc version >= 2.21, then using phtread_mutex has lock elision)
>   - Add 20% mutation test-cmap testcase
>   - List failed testcases below
>
> The patch shows the preliminary results of enabling RTM
> (Restricted Transactional Memory). A successful transactional execution
> elides the lock, i.e., the lock is by-passed, and exposes concurrency.
> However, transactions might abort due to several reasons
> such as data conflicts, I/O operations, syscall, etc. When transaction
aborts,
> it falls back to the original locking mechanisms. Thus, the performance
> improvement depends on the abort rate, and the overhead of speculative
execution
> and rollback.
>
> The patch adds ovs_##ELISION_FUNC at LOCK_FUNCTION, TRY_LOCK_FUNCTION,
and
> UNLOCK_FUNCTION macros, and calls either rwlock_elision or mutex_elision
> accordingly. Experiments show that for cmap, the TM does not seem to have
> observable improvements below 5% mutations, while hmap is more obvious.
> For cmap search over 5% mutation, the search time of TM shows much better
> scalability when % of writers increase.
>
> Results are shown by using test-cmap benchmark with different mutation %.
> $ tests/ovstest test-cmap benchmark 20000000 4 <mutation> 1
>
> Unit: ms, number presented as baseline / TM
> <mutation>  cmap_search     hmap_search
>  0.1%           117/117        312/292
>    2%           124/120        688/328
>    5%           142/125       1093/403
>   10%           237/132       1588/432
>   20%           512/160       2516/679
>   40%          1010/277       2927/1007
>   60%          1278/324       3313/1119
>   80%          1614/343       3392/1291
>
> Signed-off-by: William Tu <u9012...@gmail.com>

In digging back through the patch queue, I came across this and I'm
wondering
what its status is.  The patch no longer applies cleanly and patch
complains
that the meat of the changes to lib/ovs-thread.c have already been
applied...

If this is still a valid patch, can we get a clean update submitted?

Ryan Moats
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to