You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by iv...@apache.org on 2014/12/25 15:09:09 UTC

svn commit: r1647896 - /subversion/branches/1.8.x/STATUS

Author: ivan
Date: Thu Dec 25 14:09:09 2014
New Revision: 1647896

URL: http://svn.apache.org/r1647896
Log:
* STATUS: Nominate r1611380 group (workaround for APR read/write locks 
  implementation on Windows)

Modified:
    subversion/branches/1.8.x/STATUS

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1647896&r1=1647895&r2=1647896&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Thu Dec 25 14:09:09 2014
@@ -147,6 +147,29 @@ Candidate changes:
    Votes:
      +1: philip
 
+ * r1611380, r1611381, r1619071, r1647339
+   Use simple apr_thread_mutex_t instead of apr_thread_rwlock_t as a workaround
+   for performance and consistency problems in APR read/write locks
+   implementation on Windows. The APR read/write locks implementation is
+   currently known for two long standing problems:
+   - Windows and OS/2 rwlock sometimes allows a writer to take the lock while
+     a reader has the lock (APR issue 45455)
+   - Read-write locks are very slow on Windows due usage of kernel-mode
+     CreateMutex instead lightweight criticial section used for apr_mutex_t.
+   Justification:
+   - In memory cache data corruption in race-condition on Windows
+   - 10-15% performance regression since 1.7.x   Discussion:
+     Subject: FSFS caching and apr_thread_rwlock_t performance on Windows
+     http://svn.haxx.se/dev/archive-2014-12/0112.shtml
+   Notes:
+     r1611380 contains the fix itself.
+     r1611381 and r1619071 are the follow-up commits to fix compilation errors.
+     r1647339 fixes error leak introduced in r1611380.
+   Branch:
+     ^/subversion/branches/1.8.x-r1611380
+   Votes:
+     +1: ivan
+
 Veto-blocked changes:
 =====================