Peter N. Lundblad wrote:
>On Mon, 26 Sep 2005, Philip Martin wrote:
>
>
>
>>Philip Martin <philip@codematters.co.uk> writes:
>>
>>
>>
>>>There's also a performance issue here. Any function that simply wants
>>>to read the adm directory name now has to go through a CAS. The
>>>default CAS implementation is the generic mutex based implementation
>>>in apr_atomic.c, so that means that every time a file in the .svn
>>>directory is accessed a mutex will need to locked and unlocked.
>>>That's a *lot* of mutex operations, could this be a bottleneck? Linux
>>>on x86 can use the asm versions, but that's not the default and
>>>doesn't help other platforms.
>>>
>>>
>>Perhaps we should simply drop the CAS stuff and require that
>>svn_wc_set_adm_dir is called when no other threads are doing any wc
>>operations. After all is multi-thread support sensible? If one
>>thread is successfully accessing a wc and another thread changes the
>>the adm directory name the first thread is going to get libsvn_wc
>>errors as the adm directory will no longer be found.
>>
>>
>>
>>
>We require single-threaded init in other places (svn_{fs,utf}_initialize).
>(That's because we (at least not I) didn't know about the cas functions
>and that they're initialized by APR for us). I don't see that as a
>problem, so +1 on dropping the CAS usage.
>
>
Done.
-- Brane
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Sep 26 18:45:24 2005