All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.