Re: [PATCH v4 00/34] Printbufs - new data structure for building strings

From: Kent Overstreet
Date: Tue Jul 19 2022 - 19:43:53 EST


On 7/19/22 19:15, Steven Rostedt wrote:
On Sun, 19 Jun 2022 20:41:59 -0400
Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote:

Core idea: Wouldn't it be nice if we had a common data structure and calling
convention for outputting strings?

Because seq_buf gives us this already, the cover letter really just needs
to state exactly what the benefit is to replace seq_buf with printbuf (and
why seq_buf can not be simply extended to do some extra features).

- seq_buf has the wrong semantics on overflow for what vsnprintf needs.
- seq_buf is somewhat unnecessarily coupled to tracing needs - the readpos member has nothing to do with outputting formatting strings, and some of the pretty-printers are tracing specific and don't really belong in a generic pretty-printing library.

And, when I tried to talk to you about changing seq_buf to be more suitable you didn't respond - you just dropped off the IRC discussion we were having.


I just applied your series and ran the tracing selftests and several of
them failed.

# cd tools/testing/selftests/ftrace/
# ./ftracetest

Thank you for telling me where to find the tests. It would've saved us some back and forth (and I could've gotten on this sooner) if you'd responded when I asked before.

It may seem like the perfectly natural place to look to you - who works on the code - but to someone who works on a variety of subsystems, each of which puts their test code (if they have any!) in a different place, it wasn't.

However, when I enabled all the tracing kernel config options, your tests are now failing to run at all with:

db_root: cannot open: /etc/target

So now I've got to debug your tests, too. Gah.