-----Original Message----- > Date: Mon, 11 Dec 2017 13:38:25 +0800 > From: Jia He <hejia...@gmail.com> > To: Jerin Jacob <jerin.ja...@caviumnetworks.com>, "dev@dpdk.org" > <dev@dpdk.org> > Subject: About pmu cycle counter usage in armv8 > User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 > Thunderbird/52.5.0 > > Hi Jerin > > In [1], I met a pmu cycle counter problem (all return value is 0) > occasionally. > > And then I submited a patch to kernel maillist, but was rejected by > maintainer at last [2]. > > He said: > > "We only intend for the in-kernel perf infrastructure to access > > pmccntr_el0; nothing else should touch it."
Yes. That's the reason why 1) A warning added in documentation. http://dpdk.org/doc/guides/prog_guide/profile_app.html See at last " The PMU based scheme is useful for high accuracy performance profiling with rte_rdtsc(). However, this method can not be used in conjunction with Linux userspace profiling tools like perf as this scheme alters the PMU registers state. " 2) By default it is disabled and not need for production systems. Needed only for performance debugging. > > So maybe it is not proper for dpdk to use pmu cycle counter? But, There is no alternative in arm64 to get high resolution counter in user space(in performance effective way) > > [1] http://dpdk.org/ml/archives/dev/2017-November/080998.html > > [2]https://lkml.org/lkml/2017/11/16/22 > > -- > Cheers, > Jia >