2013-10-03 18:33:03

by David Cohen

[permalink] [raw]
Subject: [PATCH] rpmsg: reduce rpmsg_virtio verbosity

From: Jocelyn Falempe <[email protected]>

rpmsg_virtio TX/RX messages are very verbose, overflowing kernel printk
buffer. This patch makes the guilty print_hex_dump()'s to act as
dev_dbg() and do nothing in case neither DEBUG nor CONFIG_DYNAMIC_DEBUG
are defined.

Signed-off-by: Jocelyn Falempe <[email protected]>
Signed-off-by: David Cohen <[email protected]>
---
drivers/rpmsg/virtio_rpmsg_bus.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
index b6135d4..e7c5927 100644
--- a/drivers/rpmsg/virtio_rpmsg_bus.c
+++ b/drivers/rpmsg/virtio_rpmsg_bus.c
@@ -749,8 +749,10 @@ int rpmsg_send_offchannel_raw(struct rpmsg_channel *rpdev, u32 src, u32 dst,
dev_dbg(dev, "TX From 0x%x, To 0x%x, Len %d, Flags %d, Reserved %d\n",
msg->src, msg->dst, msg->len,
msg->flags, msg->reserved);
- print_hex_dump(KERN_DEBUG, "rpmsg_virtio TX: ", DUMP_PREFIX_NONE, 16, 1,
+#if defined(CONFIG_DYNAMIC_DEBUG) || defined(DEBUG)
+ print_hex_dump_debug("rpmsg_virtio TX: ", DUMP_PREFIX_NONE, 16, 1,
msg, sizeof(*msg) + msg->len, true);
+#endif

sg_init_one(&sg, msg, sizeof(*msg) + len);

@@ -786,8 +788,10 @@ static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev,
dev_dbg(dev, "From: 0x%x, To: 0x%x, Len: %d, Flags: %d, Reserved: %d\n",
msg->src, msg->dst, msg->len,
msg->flags, msg->reserved);
- print_hex_dump(KERN_DEBUG, "rpmsg_virtio RX: ", DUMP_PREFIX_NONE, 16, 1,
+#if defined(CONFIG_DYNAMIC_DEBUG) || defined(DEBUG)
+ print_hex_dump_debug("rpmsg_virtio RX: ", DUMP_PREFIX_NONE, 16, 1,
msg, sizeof(*msg) + msg->len, true);
+#endif

/*
* We currently use fixed-sized buffers, so trivially sanitize
--
1.8.4.rc3


2013-10-16 16:11:31

by David Cohen

[permalink] [raw]
Subject: Re: [PATCH] rpmsg: reduce rpmsg_virtio verbosity

On 10/03/2013 11:36 AM, David Cohen wrote:
> From: Jocelyn Falempe <[email protected]>
>
> rpmsg_virtio TX/RX messages are very verbose, overflowing kernel printk
> buffer. This patch makes the guilty print_hex_dump()'s to act as
> dev_dbg() and do nothing in case neither DEBUG nor CONFIG_DYNAMIC_DEBUG
> are defined.
>
> Signed-off-by: Jocelyn Falempe <[email protected]>
> Signed-off-by: David Cohen <[email protected]>
> ---

Ping :)
Comments here?

Br, David Cohen

> drivers/rpmsg/virtio_rpmsg_bus.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
> index b6135d4..e7c5927 100644
> --- a/drivers/rpmsg/virtio_rpmsg_bus.c
> +++ b/drivers/rpmsg/virtio_rpmsg_bus.c
> @@ -749,8 +749,10 @@ int rpmsg_send_offchannel_raw(struct rpmsg_channel *rpdev, u32 src, u32 dst,
> dev_dbg(dev, "TX From 0x%x, To 0x%x, Len %d, Flags %d, Reserved %d\n",
> msg->src, msg->dst, msg->len,
> msg->flags, msg->reserved);
> - print_hex_dump(KERN_DEBUG, "rpmsg_virtio TX: ", DUMP_PREFIX_NONE, 16, 1,
> +#if defined(CONFIG_DYNAMIC_DEBUG) || defined(DEBUG)
> + print_hex_dump_debug("rpmsg_virtio TX: ", DUMP_PREFIX_NONE, 16, 1,
> msg, sizeof(*msg) + msg->len, true);
> +#endif
>
> sg_init_one(&sg, msg, sizeof(*msg) + len);
>
> @@ -786,8 +788,10 @@ static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev,
> dev_dbg(dev, "From: 0x%x, To: 0x%x, Len: %d, Flags: %d, Reserved: %d\n",
> msg->src, msg->dst, msg->len,
> msg->flags, msg->reserved);
> - print_hex_dump(KERN_DEBUG, "rpmsg_virtio RX: ", DUMP_PREFIX_NONE, 16, 1,
> +#if defined(CONFIG_DYNAMIC_DEBUG) || defined(DEBUG)
> + print_hex_dump_debug("rpmsg_virtio RX: ", DUMP_PREFIX_NONE, 16, 1,
> msg, sizeof(*msg) + msg->len, true);
> +#endif
>
> /*
> * We currently use fixed-sized buffers, so trivially sanitize
>

2014-02-24 15:12:05

by Ohad Ben Cohen

[permalink] [raw]
Subject: Re: [PATCH] rpmsg: reduce rpmsg_virtio verbosity

Hi David,

Sorry for the late response.

On Thu, Oct 3, 2013 at 9:36 PM, David Cohen
<[email protected]> wrote:
> From: Jocelyn Falempe <[email protected]>
>
> rpmsg_virtio TX/RX messages are very verbose, overflowing kernel printk
> buffer. This patch makes the guilty print_hex_dump()'s to act as
> dev_dbg() and do nothing in case neither DEBUG nor CONFIG_DYNAMIC_DEBUG
> are defined.
>
> Signed-off-by: Jocelyn Falempe <[email protected]>
> Signed-off-by: David Cohen <[email protected]>

This sounds like a good thing to do, but I wonder if it should be
implemented in a more generic way, so other users of
print_hex_dump_debug can benefit from this as well?

Thanks,
Ohad.