Thread (26 messages) 26 messages, 6 authors, 2025-03-14

Re: [PATCH 1/2] lib/vsprintf: Add support for generic FourCCs by extending %p4cc

From: Aditya Garg <hidden>
Date: 2025-03-13 09:13:33
Also in: asahi, dri-devel, lkml

On 13 Mar 2025, at 2:27 PM, Andy Shevchenko [off-list ref] wrote:

On Thu, Mar 13, 2025 at 08:53:28AM +0000, Aditya Garg wrote:
quoted
quoted
quoted
On 13 Mar 2025, at 2:19 PM, Andy Shevchenko [off-list ref] wrote:
On Thu, Mar 13, 2025 at 07:26:05AM +0000, Aditya Garg wrote:
quoted
quoted
quoted
On 13 Mar 2025, at 12:58 AM, Andy Shevchenko [off-list ref] wrote:
On Wed, Mar 12, 2025 at 07:14:36PM +0000, Aditya Garg wrote:
quoted
quoted
On 12 Mar 2025, at 9:05 PM, Sven Peter [off-list ref] wrote:
On Wed, Mar 12, 2025, at 13:03, Aditya Garg wrote:
...
quoted
quoted
quoted
quoted
quoted
quoted
I don't have a strong opinion either way: for SMC I just need to print
FourCC keys for debugging / information in a few places.

I'm preparing the SMC driver for upstreaming again (after a two year delay :-()
and was just going to use macros to print the SMC FourCC keys similar to
DRM_MODE_FMT/DRM_MODE_ARG for now to keep the series smaller and revisit
the topic later.

Right now I have these in my local tree (only compile tested so far):

#define SMC_KEY_FMT "%c%c%c%c (0x%08x)"
#define SMC_KEY_ARG(k) (k)>>24, (k)>>16, (k)>>8, (k), (k)
That seems to be a nice alternative, which I guess Thomas was also suggesting.
I don't think it's "nice". Each of the approaches has pros and cons.
You can start from bloat-o-meter here and compare it with your %p extension.

Also, can you show the bloat-o-meter output for the vsprintf.c?
Here are your outputs:
Thank you!
quoted
---------------------------------------------------------------------
For appletbdrm:

aditya@MacBook:~/linux$ ./scripts/bloat-o-meter $P4 $MACRO
add/remove: 0/0 grow/shrink: 1/1 up/down: 64/-19 (45)
Function                                     old     new   delta
appletbdrm_read_response                     395     459     +64
appletbdrm_probe                            1786    1767     -19
Total: Before=13418, After=13463, chg +0.34%
This is enough, no need to repeat this for every parameter.
quoted
---------------------------------------------------------------------
For vsprintf:

aditya@MacBook:~/linux$ ./scripts/bloat-o-meter $OLD $NEW
add/remove: 0/0 grow/shrink: 1/0 up/down: 220/0 (220)
Function                                     old     new   delta
fourcc_string                                479     699    +220
Total: Before=26454, After=26674, chg +0.83%
So, we get +220 bytes vs +43 bytes. It means if we found 5+ users, it worth
doing.
Will it also depend upon the number of times it's being used? In appletbdrm,
it is being used 3 times. Probably more in Asahi SMC.
Right, it depends on the usage count. Also on different architectures it may
give different results. On 32-bit it probably gives better statistics.
Best to go ahead with vsprintf then. Petr, are you still there?
quoted
quoted
quoted
quoted
quoted
quoted
which are then used like this:

dev_info(dev,
   "Initialized (%d keys " SMC_KEY_FMT " .. " SMC_KEY_FMT ")\n",
    smc->key_count, SMC_KEY_ARG(smc->first_key),
    SMC_KEY_ARG(smc->last_key));
--
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help