On Wed, May 03, 2023 at 09:30:11AM +0300, Andy Shevchenko wrote: > On Wed, May 3, 2023 at 5:07 AM Kent Overstreet > <kent.overstreet@xxxxxxxxx> wrote: > > On Tue, May 02, 2023 at 06:19:27PM +0300, Andy Shevchenko wrote: > > > On Tue, May 2, 2023 at 9:22 AM Kent Overstreet > > > <kent.overstreet@xxxxxxxxx> wrote: > > > > On Tue, May 02, 2023 at 08:33:57AM +0300, Andy Shevchenko wrote: > > > > > Actually instead of producing zillions of variants, do a %p extension > > > > > to the printf() and that's it. We have, for example, %pt with T and > > > > > with space to follow users that want one or the other variant. Same > > > > > can be done with string_get_size(). > > > > > > > > God no. > > > > > > Any elaboration what's wrong with that? > > > > I'm really not a fan of %p extensions in general (they are what people > > reach for because we can't standardize on a common string output API), > > The whole story behind, for example, %pt is to _standardize_ the > output of the same stanza in the kernel. Wtf does this have to do with the rest of the discussion? The %p thing seems like a total non sequitar and a distraction. I'm not getting involved with that. All I'm interested in is fixing the memory allocation profiling output to make it more usable. > > but when we'd be passing it bare integers the lack of type safety would > > be a particularly big footgun. > > There is no difference to any other place in the kernel where we can > shoot into our foot. Yeah, no, absolutely not. Passing different size integers to string_get_size() is fine; passing pointers to different size integers to a %p extension will explode and the compiler won't be able to warn. > > > > God no for zillion APIs for almost the same. Today you want space, > > > tomorrow some other (special) delimiter. > > > > No, I just want to delete the space and output numbers the same way > > everyone else does. And if we are stuck with two string_get_size() > > functions, %p extensions in no way improve the situation. > > I think it's exactly for the opposite, i.e. standardize that output > once and for all. So, are you dropping your NACK then, so we can standardize the kernel on the way everything else does it?