[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r16244 - in trunk: . subversion/clients/cmdline subversion/include subversion/libsvn_client subversion/libsvn_wc subversion/svnversion subversion/tests/clients/cmdline subversion/tests

From: Branko Čibej <brane_at_xbc.nu>
Date: 2005-09-26 18:42:23 CEST

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.