Thread (2 messages) flat view 2 messages, 2 authors, 2021-07-02

Re: [PATCH v2] sched: Use BUG_ON

From: Jeremy Kerr <jk@ozlabs.org>
Date: 2021-07-02 01:19:40
Also in: lkml

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help