linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Songshan Gong <gongss@linux.vnet.ibm.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: acme@kernel.org, jolsa@kernel.org, dsahern@gmail.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [RFC V1]s390/perf: fix 'start' address of module's map
Date: Mon, 11 Jul 2016 19:06:14 +0800	[thread overview]
Message-ID: <657df05c-c0d9-7490-d374-f2fa4cdd7344@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160708152133.GK31763@krava>



在 7/8/2016 11:21 PM, Jiri Olsa 写道:
> On Thu, Jul 07, 2016 at 09:49:36AM +0800, Song Shan Gong wrote:
>
> SNIP
>
>> +	char *line = NULL;
>> +	size_t n;
>> +	char *sep;
>> +
>> +	module_name[len - 1] = '\0';
>> +	module_name += 1;
>> +	snprintf(path, PATH_MAX, "%s/sys/module/%s/sections/.text",
>> +				machine->root_dir, module_name);
>> +	file = fopen(path, "r");
>> +	if (file == NULL)
>> +		return -1;
>> +
>> +	len = getline(&line, &n, file);
>> +	if (len < 0) {
>> +		err = -1;
>> +		goto out;
>> +	}
>> +	line[--len] = '\0'; /* \n */
>> +	sep = strrchr(line, 'x');
>> +	if (sep == NULL) {
>> +		err = -1;
>> +		goto out;
>> +	}
>> +	hex2u64(sep + 1, &text_start);
>
> we have following functions in tools/lib/api/fs to read
> single number from file, which I assume you do above:
>
> int sysfs__read_int(const char *entry, int *value);
> int sysfs__read_ull(const char *entry, unsigned long long *value);
>
> please check if you could use some of them,
> we could add some more generic one if needed

It seems infeasible.
Each value in /sys/module/[module name]/sections/.text is a string like 
"0x000003ff8130078\n".
But the core function 'strtoull(line, NULL, 10)' in sysfs__read_ull is 
based on decimal.

Maybe you can introduce a new argument indicating the value is based on 
hex or decimal, or binary?

> thanks,
> jirka
>

-- 
SongShan Gong

  reply	other threads:[~2016-07-11 11:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-07  1:49 [PATCH] [RFC V1]s390/perf: fix 'start' address of module's map Song Shan Gong
2016-07-08  2:17 ` Songshan Gong
2016-07-08 15:20   ` Jiri Olsa
2016-07-08 15:18 ` Jiri Olsa
2016-07-11  8:11   ` Songshan Gong
2016-07-13  3:32     ` Songshan Gong
2016-07-08 15:20 ` Jiri Olsa
2016-07-08 15:21 ` Jiri Olsa
2016-07-08 15:21 ` Jiri Olsa
2016-07-11 11:06   ` Songshan Gong [this message]
2016-07-11 12:01     ` Jiri Olsa
2016-07-13  6:39       ` Songshan Gong
2016-07-13  9:07         ` Jiri Olsa
2016-07-15  7:45           ` Songshan Gong
2016-07-15  8:27             ` Jiri Olsa
2016-07-15 13:23               ` Arnaldo Carvalho de Melo

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=657df05c-c0d9-7490-d374-f2fa4cdd7344@linux.vnet.ibm.com \
    --to=gongss@linux.vnet.ibm.com \
    --cc=acme@kernel.org \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).