Re: [PATCH v2] sched: Use BUG_ON
From: Jeremy Kerr
Date: Thu Jul 01 2021 - 21:19:39 EST
Hi Jason,
> The BUG_ON macro simplifies the if condition followed by BUG, so that
> we can use BUG_ON instead of if condition followed by BUG.
[...]
> - if (spu_acquire(ctx))
> - BUG(); /* a kernel thread never has signals pending */
> + /* a kernel thread never has signals pending */
> + BUG_ON(spu_acquire(ctx));
I'm not convinced that this is an improvement; you've combined the
acquire and the BUG into a single statement, and now it's no longer
clear what the comment applies to.
If you really wanted to use BUG_ON, something like this would be more
clear:
rc = spu_acquire(ctx);
/* a kernel thread never has signals pending */
BUG_ON(rc);
but we don't have a suitable rc variable handy, so we'd need one of
those declared too. You could avoid that with:
if (spu_acquire(ctx))
BUG_ON(1); /* a kernel thread never has signals pending */
but wait: no need for the constant there, so this would be better:
if (spu_acquire(ctx))
BUG(); /* a kernel thread never has signals pending */
wait, what are we doing again?
To me, this is a bit of shuffling code around, for no real benefit.
Regards,
Jeremy