lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 7 Jun 2019 21:42:39 +0800
From:   Leo Yan <leo.yan@...aro.org>
To:     Suzuki K Poulose <suzuki.poulose@....com>
Cc:     mathieu.poirier@...aro.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org, coresight@...ts.linaro.org,
        corbet@....net
Subject: Re: [PATCH] Documentation: coresight: Update the generic device names

Hi Suzuki,

On Fri, Jun 07, 2019 at 09:40:48AM +0100, Suzuki K Poulose wrote:
> Hi Leo,
> 
> > > > >    A Coresight PMU works the same way as any other PMU, i.e the name of the PMU is
> > > > >    listed along with configuration options within forward slashes '/'.  Since a
> > > > >    Coresight system will typically have more than one sink, the name of the sink to
> > > > > -work with needs to be specified as an event option.  Names for sink to choose
> > > > > -from are listed in sysFS under ($SYSFS)/bus/coresight/devices:
> > > > > +work with needs to be specified as an event option.
> > > > > +On newer kernels the available sinks are listed in sysFS under:
> > > > > +($SYSFS)/bus/event_source/devices/cs_etm/sinks/
> > > > > -	root@...aro-nano:~# ls /sys/bus/coresight/devices/
> > > > > -		20010000.etf   20040000.funnel  20100000.stm  22040000.etm
> > > > > -		22140000.etm  230c0000.funnel  23240000.etm 20030000.tpiu
> > > > > -		20070000.etr     20120000.replicator  220c0000.funnel
> > > > > -		23040000.etm  23140000.etm     23340000.etm
> > > > > +	root@...alhost:/sys/bus/event_source/devices/cs_etm/sinks# ls
> > > > > +	tmc_etf0  tmc_etr0  tpiu0
> > > > > -	root@...aro-nano:~# perf record -e cs_etm/@...70000.etr/u --per-thread program
> > > > > +On older kernels, this may need to be found from the list of coresight devices,
> > > > > +available under ($SYSFS)/bus/coresight/devices/:
> > > > > +
> > > > > +	root@...alhost:/sys/bus/coresight/devices# ls
> > > > > +	etm0  etm1  etm2  etm3  etm4  etm5  funnel0  funnel1  funnel2  replicator0  stm0 tmc_etf0  tmc_etr0  tpiu0
> > > > > +
> > > > > +	root@...aro-nano:~# perf record -e cs_etm/@..._etr0/u --per-thread program
> > > > 
> > > > On the "older" kernels you are referring to one would find the original naming
> > > > convention.  Everything else looks good to me.
> > > 
> > > True, but do we care what we see there ? All we care about is the location,
> > > where to find them. I could fix it, if you think thats needed.
> > 
> > IIUC, either the old kernel or newer kernel, both we can find the event
> > from ($SYSFS)/bus/event_source/devices/cs_etm/sinks/; the only
> > difference between them is the naming convention.
> 
> The cs_etm/sinks was only added with the CPU-wide trace support. So, if someone
> refers to this document alone and then tries to do something on on older kernel,
> which is quite possible for a production device running a stable kernel, {s,}he
> might be surprised.

Okay, understand now.  Thanks for clarification.

> > So the doc can use the same location to find event for both new and
> > old kernel, and explain the naming convention difference?
> 
> My question is really, does the naming convention matter ? What you see
> under the directory is the name. But yes, I am open to add a section to
> explain the fact that we changed the naming scheme, if everyone agrees
> to it.

The naming convention is not important for the developers who are
familiar with CoreSight development; later who is the first time to
access kernel CoreSight modules and don't know the history for naming
scheme, the related documentation will be friendly and reduce the
barrier for using it.

I have no strong opinion for this, seems to me another choice is to
describe the older kernel with old naming scheme, something like below:

On older kernels, this may need to be found from the list of coresight devices,
available under ($SYSFS)/bus/coresight/devices/ with old naming scheme:

    root@...aro-nano:~# ls /sys/bus/coresight/devices/
    	20010000.etf   20040000.funnel  20100000.stm  22040000.etm> Cheers
    	22140000.etm  230c0000.funnel  23240000.etm 20030000.tpiu > Suzuki
    	20070000.etr     20120000.replicator  220c0000.funnel
    	23040000.etm  23140000.etm     23340000.etm

    root@...aro-nano:~# perf record -e cs_etm/@...70000.etr/u --per-thread program


Thanks,
Leo Yan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ