All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jin, Yao" <yao.jin@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@kernel.org, jolsa@kernel.org, peterz@infradead.org,
	mingo@redhat.com, alexander.shishkin@linux.intel.com,
	Linux-kernel@vger.kernel.org, ak@linux.intel.com,
	kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH v2 1/3] perf report: Change sort order by a specified event in group
Date: Wed, 11 Dec 2019 20:36:26 +0800	[thread overview]
Message-ID: <ae8d58b9-36a4-533e-323e-0a81a6ccdd6d@linux.intel.com> (raw)
In-Reply-To: <20191211121453.GC12087@krava>



On 12/11/2019 8:14 PM, Jiri Olsa wrote:
> On Wed, Dec 11, 2019 at 08:01:44PM +0800, Jin, Yao wrote:
>>
>>
>> On 12/11/2019 7:38 PM, Jiri Olsa wrote:
>>> On Wed, Dec 11, 2019 at 03:30:34PM +0800, Jin Yao wrote:
>>>
>>> SNIP
>>>
>>>> +
>>>> +static int __hpp__group_sort_idx(struct hist_entry *a, struct hist_entry *b,
>>>> +				 hpp_field_fn get_field, int idx)
>>>> +{
>>>> +	struct evsel *evsel = hists_to_evsel(a->hists);
>>>> +	u64 *fields_a, *fields_b;
>>>> +	int cmp, nr_members, ret, i;
>>>> +
>>>> +	cmp = field_cmp(get_field(a), get_field(b));
>>>> +	if (!perf_evsel__is_group_event(evsel))
>>>> +		return cmp;
>>>> +
>>>> +	nr_members = evsel->core.nr_members;
>>>> +	ret = pair_fields_alloc(a, b, get_field, nr_members,
>>>> +			      &fields_a, &fields_b);
>>>> +	if (ret) {
>>>> +		ret = cmp;
>>>> +		goto out;
>>>> +	}
>>>> +
>>>> +	for (i = 1; i < nr_members; i++) {
>>>> +		if (i == idx) {
>>>> +			ret = field_cmp(fields_a[i], fields_b[i]);
>>>> +			if (ret)
>>>> +				goto out;
>>>> +		}
>>>> +	}
>>>> +
>>>> +	if (cmp) {
>>>> +		ret = cmp;
>>>> +		goto out;
>>>> +	}
>>>> +
>>>> +	for (i = 1; i < nr_members; i++) {
>>>> +		if (i != idx) {
>>>> +			ret = field_cmp(fields_a[i], fields_b[i]);
>>>> +			if (ret)
>>>> +				goto out;
>>>> +		}
>>>
>>> hi,
>>> I'm missing why we compare the fields for 2nd time in here
>>>
>>> thanks,
>>> jirka
>>>
>>
>> Hi,
>>
>> I think we may continue comparing the remaining of fields if the index field
>> is equal. :)
> 
> aah, I missed it's actualy == used in the first one ;-)
> 
> why don't you just call it directly?
> 
> 	ret = field_cmp(fields_a[idx], fields_b[idx])
> 	if (ret)
> 		goto out;
> 
> jirka
> 

Oh, yes, we can use simpler code. For example,

	if (idx >= 1 && idx < nr_members) {
		ret = field_cmp(fields_a[idx], fields_b[idx]);
		if (ret)
			goto out;
	}

Thanks
Jin Yao


      reply	other threads:[~2019-12-11 12:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11  7:30 [PATCH v2 1/3] perf report: Change sort order by a specified event in group Jin Yao
2019-12-11  7:30 ` [PATCH v2 2/3] perf report: Support a new key to reload the browser Jin Yao
2019-12-11  7:30 ` [PATCH v2 3/3] perf report: support hotkey to let user select any event for sorting Jin Yao
2019-12-11 11:38 ` [PATCH v2 1/3] perf report: Change sort order by a specified event in group Jiri Olsa
2019-12-11 12:01   ` Jin, Yao
2019-12-11 12:14     ` Jiri Olsa
2019-12-11 12:36       ` Jin, Yao [this message]

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=ae8d58b9-36a4-533e-323e-0a81a6ccdd6d@linux.intel.com \
    --to=yao.jin@linux.intel.com \
    --cc=Linux-kernel@vger.kernel.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=yao.jin@intel.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.