Re: [PATCH RESEND 0/4] Add support for HiSilicon PCIe Tune and Trace device

From: Yicong Yang
Date: Mon Apr 19 2021 - 09:04:25 EST


On 2021/4/17 21:56, Alexander Shishkin wrote:
> Yicong Yang <yangyicong@xxxxxxxxxxxxx> writes:
>
>> The reason for not using perf is because there is no current support
>> for uncore tracing in the perf facilities.
>
> Not unless you count
>
> $ perf list|grep -ic uncore
> 77
>

these are uncore events probably do not support sampling.

I tried on x86:

# ./perf record -e uncore_imc_0/cas_count_read/
Error:
The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (uncore_imc_0/cas_count_read/).
/bin/dmesg | grep -i perf may provide additional information.

For HiSilicon uncore PMUs, we don't support uncore sampling:

'The current driver does not support sampling. So "perf record" is unsupported. ' [1]

and also in another PMU:

'PMU doesn't support process specific events and cannot be used in sampling mode.' [2]

[1] Documentation/admin-guide/perf/hisi-pmu.rst
[2] Documentation/admin-guide/perf/arm_dsu_pmu.rst

>> We have our own format
>> of data and don't need perf doing the parsing.
>
> Perf has AUX buffers, which are used for all kinds of own formats.
>

ok. we thought perf will break the data format but AUX buffers seems won't.
do we need to add full support for tracing as well as parsing or it's ok for
not parsing it through perf?

>> A similar approach for implementing this function is ETM, which use
>> sysfs for configuring and a character device for dumping data.
>
> And also perf. One reason ETM has a sysfs interface is because the
> driver predates perf's AUX buffers. Can't say if it's the only
> reason. I'm assuming you're talking about Coresight ETM.
>

got it. thanks.

>> Greg has some comments on our implementation and doesn't advocate
>> to build driver on debugfs [1]. So I resend this series to
>> collect more feedbacks on the implementation of this driver.
>>
>> Hi perf and ETM related experts, is it suggested to adapt this driver
>> to perf? Or is the debugfs approach acceptable? Otherwise use
>
> Aside from the above, I don't think the use of debugfs for kernel ABIs
> is ever encouraged.
>

ok. thanks for the suggestions.

Regards,
Yicong

> Regards,
> --
> Ale
>
> .
>