On Fri, Jul 15, 2016 at 03:45:24PM +0800, Songshan Gong wrote: > > > 在 7/13/2016 5:07 PM, Jiri Olsa 写道: > > On Wed, Jul 13, 2016 at 02:39:13PM +0800, Songshan Gong wrote: > > > > > > > > > 在 7/11/2016 8:01 PM, Jiri Olsa 写道: > > > > On Mon, Jul 11, 2016 at 07:06:14PM +0800, Songshan Gong wrote: > > > > > > > > SNIP > > > > > > > > > > > > > > > > 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? > > > > > > > > yea we could specify it directly and add something like: > > > > > > > > int filename__read_ull(const char *filename, unsigned long long > > > > *value, int base) > > > > > > > > plus some other higher layer helpers.. > > > > > > > > but I wonder if we could use the base 0 (like in the attached patch), > > > > the man page says it should be able to detect the base > > > > > > > > we'd need to check all the current usage to make sure nothing gets > > > > broken > > > > > > > > jirka > > > > > > > > > > > > > > Since your patch havn't pushed to devel branch, my next version patch will > > > still use the origin method to parse value from /sys/. > > > > I'll make/send the change during this week, > > > > Oh, could you remind me after you've done? > Thanks a lot. >
I posted it this morning, you're CC-ed jirka