1. 17 Jan, 2014 1 commit
    • Frederic Weisbecker's avatar
      perf callchain: Spare double comparison of callchain first entry · b965bb41
      Frederic Weisbecker authored
      When a new callchain child branch matches an existing one in the rbtree,
      the comparison of its first entry is performed twice:
      
      1) From append_chain_children() on branch lookup
      
      2) If 1) reports a match, append_chain() then compares all entries of
      the new branch against the matching node in the rbtree, and this
      comparison includes the first entry of the new branch again.
      
      Lets shortcut this by performing the whole comparison only from
      append_chain() which then returns the result of the comparison between
      the first entry of the new branch and the iterating node in the rbtree.
      If the first entry matches, the lookup on the current level of siblings
      stops and propagates to the children of the matching nodes.
      
      This results in less comparisons performed by the CPU.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1389713836-13375-3-git-send-email-fweisbec@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b965bb41
  2. 16 Jan, 2014 27 commits
  3. 15 Jan, 2014 12 commits