All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wang Nan <wangnan0@huawei.com>
To: Jiri Olsa <jolsa@redhat.com>, <acme@kernel.org>,
	<jolsa@kernel.org>, <mingo@redhat.com>
Cc: <namhyung@kernel.org>, <lizefan@huawei.com>, <pi3orama@163.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/4] perf tools: unwind: ensure unwind hooks return negative errorno.
Date: Tue, 7 Apr 2015 16:30:08 +0800	[thread overview]
Message-ID: <55239590.2020109@huawei.com> (raw)
In-Reply-To: <551BE78A.6070800@huawei.com>

Hi folks,

I'm rethinking --map-adjustment now, and I believe what we need should be something
like 'perf inject', which allows us to inject fake mmap events into perf.data to
make 'perf report' believe some //anon memory are file based mapping. Patch 2/4 - 4/4
seem not useful now. However, patch 1/4 is still useful because it is a bugfix. Could
you please drop the other 3 patches and merge this one?

Thank you.

On 2015/4/1 20:41, Wang Nan wrote:
> On 2015/4/1 20:12, Jiri Olsa wrote:
>> On Wed, Apr 01, 2015 at 10:33:12AM +0000, Wang Nan wrote:
>>> According to man pages of libunwind, unwind hooks should return
>>> 'negative value of one of the unw_error_t error-codes', they are
>>> different from generic error code. In addition, access_dso_mem()
>>> returns '!(size == sizeof(*data))', compiler never ensure it is
>>> negative when failure, which causes libunwind get undesire value
>>> when accessing //anon memory.
>>>
>>> This patch fixes this problem by force returning negative value when
>>> error, instead of returning 'ret' itself when it is non-zero.
>>
>> hum, how about find_proc_info callback.. should it follow the same rules?
>>
> 
> Yes, but it only returns -EINVAL and dwarf_search_unwind_table(....). The latter
> one is part of libunwind so we can trust it returns negative when fail.
> 
>> thanks,
>> jirka
>>
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 



  reply	other threads:[~2015-04-07  8:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-01 10:33 [PATCH 0/4] perf tools: introduce --map-adjustment Wang Nan
2015-04-01 10:33 ` [PATCH 1/4] perf tools: unwind: ensure unwind hooks return negative errorno Wang Nan
2015-04-01 12:12   ` Jiri Olsa
2015-04-01 12:41     ` Wang Nan
2015-04-07  8:30       ` Wang Nan [this message]
2015-04-01 10:33 ` [PATCH 2/4] perf tools: introduce machine_map_new to merge mmap/mmap2 processing code Wang Nan
2015-04-01 12:18   ` Jiri Olsa
2015-04-01 14:58     ` Arnaldo Carvalho de Melo
2015-04-01 10:33 ` [PATCH 3/4] perf tools: report: introduce --map-adjustment argument Wang Nan
2015-04-01 13:21   ` Jiri Olsa
2015-04-02  1:15     ` Wang Nan
2015-04-01 14:23   ` pi3orama
2015-04-01 10:33 ` [PATCH 4/4] perf tools: unwinding: try to read from map_adj for a unmapped address Wang Nan

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=55239590.2020109@huawei.com \
    --to=wangnan0@huawei.com \
    --cc=acme@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=pi3orama@163.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.