public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: David Ahern <dsahern@gmail.com>
Cc: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>,
	mingo@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] perf util: optimize util/machine.c:machines__find().
Date: Thu, 21 Nov 2013 21:06:08 -0300	[thread overview]
Message-ID: <20131122000608.GA2117@ghostprotocols.net> (raw)
In-Reply-To: <528E782A.9010509@gmail.com>

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

  reply	other threads:[~2013-11-22  0:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-21 21:31 [PATCH] perf util: optimize util/machine.c:machines__find() Dongsheng Yang
2013-11-21 21:16 ` David Ahern
2013-11-22  0:06   ` Arnaldo Carvalho de Melo [this message]
2013-11-22 18:59     ` Dongsheng Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131122000608.GA2117@ghostprotocols.net \
    --to=acme@ghostprotocols.net \
    --cc=dsahern@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=yangds.fnst@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox