Messages in this thread | | | Subject | Re: [PATCH 0/4] trace: profiling branches | From | Daniel Walker <> | Date | Sun, 30 Nov 2008 02:58:56 -0800 |
| |
On Fri, 2008-11-21 at 02:12 -0500, Steven Rostedt wrote: > Ingo, > > The following patches clean up the unlikely/likely tracer. Namely > it consolidates it into a single file called "profile_annotated_branch". > > It also adds a new profiler. A true branch profiler that profiles all > if() statements where the conditional is not a constant. It puts > a bit of overhead on the system, but the results seem pretty interesting. > The results are placed in "profile_branch". >
I looked at the full version of this, and it looks really slow.. As I recall the biggest problem with the -mm version was it's cacheline bouncing (pointed out by Ingo), and yours doesn't _seem_ to fix that. In fact your version looks a lot worse..
So really between the two if we want mainline likely profiling the -mm version is a better choice.. The reason that version never went into mainline is cause neither me or Andrew felt strongly that this was useful in more than just -mm ..
If you look at the output from the profiling long enough it becomes clear that it's frequently misleading .. In the short term a certain branch might be likely, and in the long term it isn't.. So you can't really blindly start converting the annotation..
I should also mention that I didn't write the -mm version alone, it was an effort between three people me, Andrew, and Hua Zhong (CC added)..
Daniel
| |