Re: [PATCH v2 07/11] trace2: add region in clear_ce_flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 19, 2019 at 10:15 AM Jeff Hostetler via GitGitGadget
<gitgitgadget@xxxxxxxxx> wrote:
>
> From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
>
> When Git updates the working directory with the sparse-checkout
> feature enabled, the unpack_trees() method calls clear_ce_flags()
> to update the skip-wortree bits on the cache entries. This
> check can be expensive, depending on the patterns used.
>
> Add trace2 regions around the method, including some flag
> information, so we can get granular performance data during
> experiments. This data will be used to measure improvements
> to the pattern-matching algorithms for sparse-checkout.
>
> Signed-off-by: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
> Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx>
> ---
>  unpack-trees.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/unpack-trees.c b/unpack-trees.c
> index cd548f4fa2..26be8f3569 100644
> --- a/unpack-trees.c
> +++ b/unpack-trees.c
> @@ -1404,15 +1404,23 @@ static int clear_ce_flags(struct index_state *istate,
>                           struct pattern_list *pl)
>  {
>         static struct strbuf prefix = STRBUF_INIT;
> +       char label[100];
> +       int rval;
>
>         strbuf_reset(&prefix);
>
> -       return clear_ce_flags_1(istate,
> +       xsnprintf(label, sizeof(label), "clear_ce_flags(0x%08lx,0x%08lx)",
> +                 (unsigned long)select_mask, (unsigned long)clear_mask);
> +       trace2_region_enter("unpack_trees", label, the_repository);
> +       rval = clear_ce_flags_1(istate,
>                                 istate->cache,
>                                 istate->cache_nr,
>                                 &prefix,
>                                 select_mask, clear_mask,
>                                 pl, 0);
> +       trace2_region_leave("unpack_trees", label, the_repository);
> +
> +       return rval;
>  }
>
>  /*
> --
> gitgitgadget

Thanks for the updates to the commit message, and the tweaks from
"exp" to "unpack_trees" in the patch.  I still don't know trace2, but
it's much clearer how this relates to the series now.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux