tegra_host status_all

Hi.
I am trying to measure the load of individual components, such as a decoder, encoder and vic.

I found the file /sys/kernel/debug/tegra_host/status_all

It has the following lines:

---- mlocks ----

---- syncpts ----
id 22 (15340000.vic_6_dirty_cpu_sch_0) min 47082 max 47082 refs 1 (previous client : 15340000.vic_6_dirty_cpu_sch_0)
id 24 (154c0000.nvenc_V4L2_EncThread_0) min 31388 max 31388 refs 1 (previous client : )
id 25 (15480000.nvdec_NVMDecBufProcT_0) min 31396 max 31396 refs 1 (previous client : )
id 28 (15340000.vic_V4L2_EncThread_0) min 47082 max 47082 refs 1 (previous client : )

---- channels ----

channel 2 - 15820000.se

2: fifo:
FIFOSTAT 00002040
[empty]
NvHost basic channel registers:
CMDFIFO_STAT_0:  00002040
CMDFIFO_RDATA_0: 85444202
CMDP_OFFSET_0:   00000000
CMDP_CLASS_0:    00000000
CHANNELSTAT_0:   00000000
The CDMA sync queue is empty.


channel 3 - 15830000.se

3: fifo:
FIFOSTAT 00002040
[empty]
NvHost basic channel registers:
CMDFIFO_STAT_0:  00002040
CMDFIFO_RDATA_0: 2504a220
CMDP_OFFSET_0:   00000000
CMDP_CLASS_0:    00000000
CHANNELSTAT_0:   00000000
The CDMA sync queue is empty.


channel 4 - 15840000.se

4: fifo:
FIFOSTAT 00002040
[empty]
NvHost basic channel registers:
CMDFIFO_STAT_0:  00002040
CMDFIFO_RDATA_0: 00a08a00
CMDP_OFFSET_0:   00000000
CMDP_CLASS_0:    00000000
CHANNELSTAT_0:   00000000
The CDMA sync queue is empty.


---- host general irq ----

sync_intc0mask = 0x00000001
sync_intmask = 0x50000003

---- host syncpt irq mask ----


---- host syncpt irq status ----

syncpt_thresh_cpu0_int_status(0) = 0x00000000
syncpt_thresh_cpu0_int_status(1) = 0x00000000
syncpt_thresh_cpu0_int_status(2) = 0x00000000
syncpt_thresh_cpu0_int_status(3) = 0x00000000
syncpt_thresh_cpu0_int_status(4) = 0x00000000
syncpt_thresh_cpu0_int_status(5) = 0x00000000
syncpt_thresh_cpu0_int_status(6) = 0x00000000
syncpt_thresh_cpu0_int_status(7) = 0x00000000
syncpt_thresh_cpu0_int_status(8) = 0x00000000
syncpt_thresh_cpu0_int_status(9) = 0x00000000
syncpt_thresh_cpu0_int_status(10) = 0x00000000
syncpt_thresh_cpu0_int_status(11) = 0x00000000
syncpt_thresh_cpu0_int_status(12) = 0x00000000
syncpt_thresh_cpu0_int_status(13) = 0x00000000
syncpt_thresh_cpu0_int_status(14) = 0x00000000
syncpt_thresh_cpu0_int_status(15) = 0x00000000
syncpt_thresh_cpu0_int_status(16) = 0x00000000
syncpt_thresh_cpu0_int_status(17) = 0x00000000

What do these numbers and names mean? How can this be used for workload measurements?

hello alexcon314,

you may enable tegrastats utility to monitor the usage.
thanks

Hi.
I known about tegrastats.

hello alexcon314,

tegra driver using sync-points (a.k.a. syncpts) through host1x to communicate with hardware devices.
they’re interrupts for software buffers programming; these cannot being used for workload measurements.
you may also check this github, jetson_stats, to monitor the workloads dynamically.
thanks