hwtracing: hisi_ptt: Optimize the trace data committing
authorYicong Yang <yangyicong@hisilicon.com>
Tue, 10 Oct 2023 08:47:29 +0000 (16:47 +0800)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Thu, 16 Nov 2023 11:36:33 +0000 (11:36 +0000)
commitdabf410d8764dbb24832d18bb825fe7ba5e75d30
tree501fb959ef35bbcc1c919dc8bd834d7a49ce6537
parent46f69b197b6cd06c709581f7ad271bc02dbedb7a
hwtracing: hisi_ptt: Optimize the trace data committing

In the current implementation, there're 4*4MiB trace buffer and hardware
will fill the buffer one by one. The driver will get notified if one
buffer is full and then copy data to the AUX buffer. If there's no
enough room for the next trace buffer, we'll commit the AUX buffer to
the perf core and try to apply a new one. In a typical configuration
the AUX buffer will be 16MiB, so we'll commit the data after the whole
AUX buffer is occupied. Then the driver cannot apply a new AUX buffer
immediately until the committed data is consumed by userspace and then
there's room in the AUX buffer again.

This patch tries to optimize this by commit the data after one single
trace buffer is filled. Since there's still room in the AUX buffer,
driver can apply a new one without failure and don't need to wait for
the userspace to consume the data.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20231010084731.30450-4-yangyicong@huawei.com
drivers/hwtracing/ptt/hisi_ptt.c