[PATCH v6 02/18] media: videobuf2: Stop spamming kernel log with all queue counter
Hans Verkuil
hverkuil-cisco at xs4all.nl
Mon Sep 4 08:17:47 PDT 2023
On 01/09/2023 14:43, Benjamin Gaignard wrote:
> Only report unbalanced queue counters do avoid spamming kernel log
> with useless information.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard at collabora.com>
> ---
> .../media/common/videobuf2/videobuf2-core.c | 69 +++++++++++--------
> 1 file changed, 41 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c
> index cf3b9f5b69b7..85e561e46899 100644
> --- a/drivers/media/common/videobuf2/videobuf2-core.c
> +++ b/drivers/media/common/videobuf2/videobuf2-core.c
> @@ -537,16 +537,18 @@ static void __vb2_queue_free(struct vb2_queue *q, unsigned int buffers)
> q->cnt_prepare_streaming != q->cnt_unprepare_streaming ||
> q->cnt_wait_prepare != q->cnt_wait_finish;
>
> - if (unbalanced || debug) {
> - pr_info("counters for queue %p:%s\n", q,
> - unbalanced ? " UNBALANCED!" : "");
> - pr_info(" setup: %u start_streaming: %u stop_streaming: %u\n",
> - q->cnt_queue_setup, q->cnt_start_streaming,
> - q->cnt_stop_streaming);
> - pr_info(" prepare_streaming: %u unprepare_streaming: %u\n",
> - q->cnt_prepare_streaming, q->cnt_unprepare_streaming);
> - pr_info(" wait_prepare: %u wait_finish: %u\n",
> - q->cnt_wait_prepare, q->cnt_wait_finish);
> + if (unbalanced) {
> + pr_info("unbalanced counters for queue %p\n", q);
End the pr_info with ':' (i.e. "unbalanced counters for queue %p:\n")
> + if (q->cnt_start_streaming != q->cnt_stop_streaming)
> + pr_info(" setup: %u start_streaming: %u stop_streaming: %u\n",
> + q->cnt_queue_setup, q->cnt_start_streaming,
> + q->cnt_stop_streaming);
> + if (q->cnt_prepare_streaming != q->cnt_unprepare_streaming)
> + pr_info(" prepare_streaming: %u unprepare_streaming: %u\n",
> + q->cnt_prepare_streaming, q->cnt_unprepare_streaming);
> + if (q->cnt_wait_prepare != q->cnt_wait_finish)
> + pr_info(" wait_prepare: %u wait_finish: %u\n",
> + q->cnt_wait_prepare, q->cnt_wait_finish);
> }
> q->cnt_queue_setup = 0;
> q->cnt_wait_prepare = 0;
> @@ -567,24 +569,35 @@ static void __vb2_queue_free(struct vb2_queue *q, unsigned int buffers)
> vb->cnt_buf_prepare != vb->cnt_buf_finish ||
> vb->cnt_buf_init != vb->cnt_buf_cleanup;
>
> - if (unbalanced || debug) {
> - pr_info(" counters for queue %p, buffer %d:%s\n",
> - q, buffer, unbalanced ? " UNBALANCED!" : "");
> - pr_info(" buf_init: %u buf_cleanup: %u buf_prepare: %u buf_finish: %u\n",
> - vb->cnt_buf_init, vb->cnt_buf_cleanup,
> - vb->cnt_buf_prepare, vb->cnt_buf_finish);
> - pr_info(" buf_out_validate: %u buf_queue: %u buf_done: %u buf_request_complete: %u\n",
> - vb->cnt_buf_out_validate, vb->cnt_buf_queue,
> - vb->cnt_buf_done, vb->cnt_buf_request_complete);
> - pr_info(" alloc: %u put: %u prepare: %u finish: %u mmap: %u\n",
> - vb->cnt_mem_alloc, vb->cnt_mem_put,
> - vb->cnt_mem_prepare, vb->cnt_mem_finish,
> - vb->cnt_mem_mmap);
> - pr_info(" get_userptr: %u put_userptr: %u\n",
> - vb->cnt_mem_get_userptr, vb->cnt_mem_put_userptr);
> - pr_info(" attach_dmabuf: %u detach_dmabuf: %u map_dmabuf: %u unmap_dmabuf: %u\n",
> - vb->cnt_mem_attach_dmabuf, vb->cnt_mem_detach_dmabuf,
> - vb->cnt_mem_map_dmabuf, vb->cnt_mem_unmap_dmabuf);
> + if (unbalanced) {
> + pr_info("unbalanced counters for queue %p, buffer %d\n",
End with : here as well.
> + q, buffer);
> + if (vb->cnt_buf_init != vb->cnt_buf_cleanup)
> + pr_info(" buf_init: %u buf_cleanup: %u\n",
> + vb->cnt_buf_init, vb->cnt_buf_cleanup);
> + if (vb->cnt_buf_prepare != vb->cnt_buf_finish)
> + pr_info(" buf_prepare: %u buf_finish: %u\n",
> + vb->cnt_buf_prepare, vb->cnt_buf_finish);
> + if (vb->cnt_buf_queue != vb->cnt_buf_done)
> + pr_info(" buf_out_validate: %u buf_queue: %u buf_done: %u buf_request_complete: %u\n",
> + vb->cnt_buf_out_validate, vb->cnt_buf_queue,
> + vb->cnt_buf_done, vb->cnt_buf_request_complete);
> + if (vb->cnt_mem_alloc != vb->cnt_mem_put)
> + pr_info(" alloc: %u put: %u\n",
> + vb->cnt_mem_alloc, vb->cnt_mem_put);
> + if (vb->cnt_mem_prepare != vb->cnt_mem_finish)
> + pr_info(" prepare: %u finish: %u\n",
> + vb->cnt_mem_prepare, vb->cnt_mem_finish);
> + pr_info(" mmap: %u\n", vb->cnt_mem_mmap);
Drop this, and also drop the cnt_mem_mmap field. I don't think this is
interesting.
> + if (vb->cnt_mem_get_userptr != vb->cnt_mem_put_userptr)
> + pr_info(" get_userptr: %u put_userptr: %u\n",
> + vb->cnt_mem_get_userptr, vb->cnt_mem_put_userptr);
> + if (vb->cnt_mem_attach_dmabuf != vb->cnt_mem_detach_dmabuf)
> + pr_info(" attach_dmabuf: %u detach_dmabuf: %u\n",
> + vb->cnt_mem_attach_dmabuf, vb->cnt_mem_detach_dmabuf);
> + if (vb->cnt_mem_map_dmabuf != vb->cnt_mem_unmap_dmabuf)
> + pr_info(" map_dmabuf: %u unmap_dmabuf: %u\n",
> + vb->cnt_mem_map_dmabuf, vb->cnt_mem_unmap_dmabuf);
> pr_info(" get_dmabuf: %u num_users: %u vaddr: %u cookie: %u\n",
> vb->cnt_mem_get_dmabuf,
> vb->cnt_mem_num_users,
Same for cnt_mem_vaddr and cnt_mem_cookie. It's not interesting. But let's keep get_dmabuf and num_users
for now.
Regards,
Hans
More information about the Linux-rockchip
mailing list