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

Re: svn commit: r14643 - in trunk/subversion: include libsvn_client libsvn_ra_dav libsvn_repos libsvn_wc

From: Jani Averbach <jaa_at_jaa.iki.fi>
Date: 2005-05-09 19:26:00 CEST

On 2005-05-09 10:50-0500, kfogel@collab.net wrote:
>
> Fortunately, Max Bowsher fixed it in r14647, and I've already voted
> for it in STATUS. If you guys have time to do the same, that would be
> great.
>
I have one concern: We are now allocating 100K of memory in places and
in function call graphs where we previously did allocate nothing.

I know that our policy is that caller should take care of called
functions pool usage and it's pool's life time. However, I am really
keen to see that in this case we explicitly use subpools inside those
functions where stack usage of SVN_STREAM_CHUNK_SIZE has replaced by
pool. The reason is that this change is going to make in 1.2.0 with
one week soak, and we could later replace those functions to use
caller's pool is this is a safe and feasible thing to do. I tried,
but I couldn't check all call graphs and deside that they are safe,
and we are not looping over those allocations.

BR, Jani

P.S. Here is a partial call graph

subversion/libsvn_subr/subst.c
svn_subst_translate_stream2 (initial apr_palloc)
    <- svn_subst_translate_stream by subpool
    <- svn_subst_copy_and_translate2 by subpool
    <- svn_subst_translate_cstring: 762
        <- svn_subst_translate_string: 1075
        <- svn_subst_detranslate_string: 1105

subversion/libsvn_ra_dav/util.c
parse_spool_file (initial apr_palloc)
    <- parsed_request by subpool

subversion/libsvn_repos/delta.c
compare_files (initial apr_palloc)
   <- delta_files by subpool

subversion/libsvn_subr/stream.c
svn_stream_copy (initial apr_palloc)
   
   subversion/libsvn_repos/dump.c
    <- dump_node
        <- dump_node: 379
        <- add_directory: 611
        <- close_directory by subpool
        <- add_file: 711
        <- open_file: 749
        <- change_dir_prop: 772
   
   subversion/libsvn_ra_local/ra_plugin.c
    <- svn_ra_local__get_file
  
   subversion/libsvn_subr/subst.c
    <- detranslate_special_file
        <- create_special_file: 876
            <- svn_subst_copy_and_translate2: 969
            
subversion/libsvn_client/cat.c
svn_subst_translate_stream2
    <- cat_local_file: 140
        <- svn_client_cat2: 180
            <- svn_client_cat

subversion/libsvn_wc/props.c
svn_subst_translate_stream2
    <-validate_eol_prop_against_file
        <- svn_wc_prop_set2: 990

-- 
Jani Averbach
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon May 9 19:37:39 2005

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