1
0
Fork 0
alistair23-linux/tools/perf/util
Michel Lespinasse d6ff127392 rbtree: adjust node color in __rb_erase_color() only when necessary
In __rb_erase_color(), we were always setting a node to black after
exiting the main loop.  And in one case, after fixing up the tree to
satisfy all rbtree invariants, we were setting the current node to root
just to guarantee a loop exit, at which point the root would be set to
black.  However this is not necessary, as the root of an rbtree is already
known to be black.  The only case where the color flip is required is when
we exit the loop due to the current node being red, and it's easiest to
just do the flip at that point instead of doing it after the loop.

[adrian.hunter@intel.com: perf tools: fix build for another rbtree.c change]
Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Daniel Santos <daniel.santos@pobox.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-10-09 16:22:34 +09:00
..
include rbtree: adjust node color in __rb_erase_color() only when necessary 2012-10-09 16:22:34 +09:00
scripting-engines perf tools: Fix a compiling error in trace-event-perl.c for 32 bits machine 2012-09-20 08:30:21 -03:00
PERF-VERSION-GEN perf tools: Make --version show kernel version instead of pull req tag 2012-05-31 11:20:59 -03:00
abspath.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
alias.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
build-id.h perf tools: Rename perf_event_ops to perf_tool 2011-11-28 10:39:28 -02:00
cache.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
callchain.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
callchain.h tools: perf: Fix typo in tools/perf 2012-09-01 08:49:34 -07:00
cgroup.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
color.h perf hist: Replace ->print() routines by ->snprintf() equivalents 2010-04-02 16:28:15 -03:00
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
cpumap.h perf tools: Allow handling a NULL cpu_map as meaning "all cpus" 2012-09-26 12:41:14 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
debug.c perf ui gtk: Add perf_gtk__show_helpline() for pr_* 2012-08-17 12:37:56 -03:00
debug.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
debugfs.c perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
debugfs.h perf tools: Remove unused functions from debugfs object 2012-02-13 23:25:38 -02:00
dso-test-data.c perf tools: replace mkostemp with mkstemp 2012-09-07 22:10:44 -03:00
dwarf-aux.c perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables 2012-09-27 10:58:57 -03:00
dwarf-aux.h perf probe: Search concrete out-of-line instances 2011-08-12 09:32:10 -03:00
environment.c
event.c perf symbols: Filter samples with unresolved symbol when "--symbols" option is used 2012-09-17 13:10:57 -03:00
event.h perf tools: fix ALIGN redefinition in system headers 2012-09-11 11:48:30 -03:00
evlist.c perf evlist: Introduce set_filter() method 2012-09-26 15:08:43 -03:00
evlist.h perf evlist: Introduce set_filter() method 2012-09-26 15:08:43 -03:00
evsel.c perf evsel: Export the event_format constructor 2012-09-26 20:24:19 -03:00
evsel.h perf evsel: Export the event_format constructor 2012-09-26 20:24:19 -03:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
generate-cmdlist.sh perf symbols: Support minimal build without libelf 2012-08-09 16:26:38 -03:00
header.c perf evsel: Know if byte swap is needed 2012-09-26 12:48:18 -03:00
header.h perf header: Remove perf_header__read_feature 2012-09-24 11:47:46 -03:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf hists: Add missing period_* fields when collapsing a hist entry 2012-09-26 20:44:11 -03:00
hist.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
hweight.c perf tools: Don't use code surrounded by __KERNEL__ 2010-05-02 12:00:44 -03:00
intlist.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
intlist.h perf tools: Introduce intlist 2012-08-03 10:42:25 -03:00
levenshtein.c
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf tools: Fix a compiling error in util/map.c 2012-09-20 08:36:34 -03:00
map.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events-test.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:28:49 -07:00
parse-events.c perf tools: Use perf_evsel__newtp in the event parser 2012-09-26 18:29:19 -03:00
parse-events.h perf tools: Catch event names from command line 2012-08-22 13:40:49 -03:00
parse-events.l perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
parse-events.y perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
parse-options.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
parse-options.h perf options: add OPT_CALLBACK_DEFAULT_NOOPT 2010-12-06 15:33:29 -02:00
path.c perf tools: add test for strlcpy() 2010-08-21 11:22:47 -03:00
perf_regs.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
pmu.c perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
pmu.h perf stat: Check PMU cpumask file 2012-09-17 13:12:02 -03:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
probe-event.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf probe: Add union member access support 2012-09-14 15:48:08 -03:00
probe-finder.h perf tools: Eliminate duplicate code and use PATH_MAX consistently 2011-11-28 10:11:04 -02:00
pstack.c perf newt: Make <- zoom out filters 2010-05-14 20:05:21 -03:00
pstack.h perf ui: Move hists browser to util/ui/browsers/ 2010-08-10 16:11:08 -03:00
python-ext-sources Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-10-01 09:06:36 -07:00
python.c perf evsel: Know if byte swap is needed 2012-09-26 12:48:18 -03:00
quote.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
quote.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
rblist.c perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
rblist.h perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
run-command.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
run-command.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
session.c perf evsel: Know if byte swap is needed 2012-09-26 12:48:18 -03:00
session.h perf diff: Make diff command work with evsel hists 2012-09-07 21:44:02 -03:00
setup.py perf tools: Fix build dependency of perf python extension 2012-02-13 18:01:25 -02:00
sigchain.c perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sigchain.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
sort.c perf tools: Add sort__has_sym 2012-09-17 13:08:59 -03:00
sort.h perf tools: Add sort__has_sym 2012-09-17 13:08:59 -03:00
stat.c perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
stat.h perf stat: Move stats related code to util/stat.c 2012-09-17 13:10:03 -03:00
strbuf.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
strbuf.h perf tools: Remove some unused functions 2010-05-18 23:03:35 -03:00
strfilter.c perf: Fix missing strndup declaration 2011-03-04 01:17:18 +01:00
strfilter.h perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
string.c perf tools: Add memdup function 2012-09-11 12:04:41 -03:00
strlist.c perf tools: Remove the node from rblist in strlist__remove 2012-09-05 17:36:42 -03:00
strlist.h perf tools: Change strlist to use the new rblist 2012-08-03 10:39:51 -03:00
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol-elf.c perf symbols: Fix builds with NO_LIBELF set 2012-08-20 09:35:22 -03:00
symbol-minimal.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
symbol.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
symbol.h perf tools: bfd.h/libbfd detection fails with recent binutils 2012-09-24 12:05:02 -03:00
sysfs.c perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
sysfs.h perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
target.c perf tools: Replace mempcpy with memcpy 2012-09-05 19:35:21 -03:00
target.h perf target: Add uses_mmap field 2012-05-17 12:32:54 -03:00
thread.c perf session: Move threads to struct machine 2011-11-28 10:35:31 -02:00
thread.h perf kvm: Events analysis tool 2012-09-21 12:51:22 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf tools: Fix thread map that is type pid_t 2012-04-11 17:38:50 -03:00
tool.h perf tools: Save some loops using perf_evlist__id2evsel 2011-11-28 17:57:40 -02:00
top.c perf evlist: Introduce evsel list accessors 2012-08-15 10:14:18 -03:00
top.h perf tools: fix missing winsize definition 2012-09-07 22:07:32 -03:00
trace-event-info.c perf: Have perf use the new libtraceevent.a library 2012-04-25 13:28:48 +02:00
trace-event-parse.c perf tools: remove sscanf extension %as 2012-09-24 11:49:31 -03:00
trace-event-read.c perf tools: Stop using a global trace events description list 2012-06-27 13:08:42 -03:00
trace-event-scripting.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
trace-event.h perf tools: Support for DWARF CFI unwinding on post processing 2012-08-11 15:06:56 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
unwind.h perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf tools: add NO_BACKTRACE for application self-debugging 2012-09-07 22:12:30 -03:00
util.h perf tools: include wrapper for magic.h 2012-09-11 11:38:10 -03:00
values.c perf tools: Fix a memory leak on perf_read_values_destroy 2011-12-20 13:41:34 -02:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
vdso.c perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
vdso.h perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00