hot take question for the day

jim.cromie at jim.cromie at
Fri Dec 4 12:42:13 EST 2020

so I was looking at the following code, from dynamic_debug.c,
I saw a minor code optimization, and wondered whether
its already optimized away by compiler.

Instead of actually testing it  ( I intend to eventually )
I figure Id ask if you all want to take an educated guess ?
or perhaps just do the test, and post results.

And since Im making a game of it, I might suggest a prize -
that by prepping a patch, showing its effect (none? tiny?
not observable in objdump?) and submitting it, I would ack it

I suspect that Greg might take it ; its a legit sub-optimality and
fix is at least decluttering and deobfuscating.

so heres the snippet.
if you got this far, you can find the prob (or 2)

static char *dynamic_emit_prefix(struct _ddebug *dp, char *buf)
int pos_after_tid;
int pos = 0;

*buf = '\0';

if (dp->flags & _DPRINTK_FLAGS_INCL_TID) {
if (in_interrupt())
pos += snprintf(buf + pos, remaining(pos), "<intr> ");
pos += snprintf(buf + pos, remaining(pos), "[%d] ",

More information about the Kernelnewbies mailing list