Messages in this thread | | | Date | Thu, 21 Nov 2013 21:06:08 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf util: optimize util/machine.c:machines__find(). |
| |
Em Thu, Nov 21, 2013 at 02:16:26PM -0700, David Ahern escreveu: > On 11/21/13, 2:31 PM, Dongsheng Yang wrote: > >* Remove an unnecessary variable default_machine. > >* Return earlier to avoid unnecessary searching in children.
> >Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
> >+++ b/tools/perf/util/machine.c > >@@ -175,8 +175,7 @@ struct machine *machines__find(struct machines *machines, pid_t pid) > > { > > struct rb_node **p = &machines->guests.rb_node; > > struct rb_node *parent = NULL; > >- struct machine *machine; > >- struct machine *default_machine = NULL; > >+ struct machine *machine = NULL; > > > > if (pid == HOST_KERNEL_ID) > > return &machines->host; > >@@ -184,17 +183,17 @@ struct machine *machines__find(struct machines *machines, pid_t pid) > > while (*p != NULL) { > > parent = *p; > > machine = rb_entry(parent, struct machine, rb_node); > >+ if (!machine->pid) > >+ break; > > if (pid < machine->pid) > > p = &(*p)->rb_left; > > else if (pid > machine->pid) > > p = &(*p)->rb_right; > > else > >- return machine; > >- if (!machine->pid) > >- default_machine = machine; > >+ break; > > } > > > >- return default_machine; > >+ return machine; > > }
> This changes machines__find to always return the machine for the > host (pid == 0). This function is also used for VM lookups.
Nope:
/* Native host kernel uses -1 as pid index in machine */ #define HOST_KERNEL_ID (-1) #define DEFAULT_GUEST_KERNEL_ID (0)
But I fail to see the point of the "optimization", we're looking for a pid, not always for '0'.
And the changelog is horrible, why is it "unnecessary"? Please don't be so terse :-)
- Arnaldo
| |