[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250111121005.0fc89c94@pumpkin>
Date: Sat, 11 Jan 2025 12:10:05 +0000
From: David Laight <david.laight.linux@...il.com>
To: Miquel Raynal <miquel.raynal@...tlin.com>
Cc: Petr Mladek <pmladek@...e.com>, Steven Rostedt <rostedt@...dmis.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>, Sergey Senozhatsky
<senozhatsky@...omium.org>, Jonathan Corbet <corbet@....net>, John Ogness
<john.ogness@...utronix.de>, Andrew Morton <akpm@...ux-foundation.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, Thomas Petazzoni
<thomas.petazzoni@...tlin.com>, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] hexdump: Allow skipping identical lines
On Sat, 11 Jan 2025 10:54:58 +0100
Miquel Raynal <miquel.raynal@...tlin.com> wrote:
> Hi David,
>
> On 10/01/2025 at 19:39:30 GMT, David Laight <david.laight.linux@...il.com> wrote:
>
> > On Fri, 10 Jan 2025 19:42:05 +0100
> > Miquel Raynal <miquel.raynal@...tlin.com> wrote:
> >
> >> When dumping long buffers (especially for debug purposes) it may be very
> >> convenient to sometimes avoid spitting all the lines of the buffer if
> >> the lines are identical. Typically on embedded devices, the console
> >> would be wired to a UART running at 115200 bauds, which makes the dumps
> >> very (very) slow. In this case, having a flag to avoid printing
> >> duplicated lines is handy.
> > ...
> >> enum {
> >> DUMP_FLAG_ASCII,
> >> + DUMP_FLAG_SKIP_IDENTICAL_LINES,
> >> };
> > ...
> >> + if (flags & DUMP_FLAG_SKIP_IDENTICAL_LINES) {
> >
> >
> > That doesn't look right to me.
> > You want:
> > enum {
> > DUMP_FLAG_HEX_ONLY = false,
> > DUMP_FLAG_ASCII = true,
> > DUMP_FLAG_SKIP_IDENTICAL_LINES = BIT(1),
> > };
> >
> > and maybe you can get away with not changing all the other files.
>
> I'm a bit sad all the time spent on these changes will go to trash :),
> they kind of looked "nicer", but for sure this approach would be
> transparent. I can definitely try that.
The only way the big patch would ever get applied is if Linus himself
decided it was a good idea and 'just applied it'.
Otherwise it needs an ack from all the maintainers.
The other way to avoid having to change all the files is to rename the
function and add a compile-time wrapper for the old users.
So you'd end up with (something like):
#define hexdump(args, ascii) hexdump_new(args, ascii ? DUMP_FLAG_ASCII : DUMP_FLAG_HEX_ONLY)
But in this case you might be away with binary compatibility.
David
Powered by blists - more mailing lists