On 21/08/2025 08:28, Muhammad Usama Anjum wrote: >> As to -Wunused-parameter I am frankly not convinced it's worth the >> hassle. We're getting 90 lines changed in patch 6-8 just to mark >> parameters as unused, in other words noise to keep the compiler happy. >> It is not enabled by default in the kernel proper precisely because it >> is so noisy when callbacks are involved. >> >> Patch 5 is clearly an improvement, but I'd rather take it without >> actually enabling -Wunused-parameter. The rest of this patch isn't that >> useful either IMHO. > Patch 5 removes genuinely unused parameters flagged by the compiler. If we > drop the -Wunused-parameter option, however, new unused parameters will > continue to creep in with future patches. The goal of enabling this warning > is to surface such issues early so developers can address them during > development, rather than later during review or debugging. > > Long term, I’d like us to rely more on compiler and static analysis just like > kernel to catch these kinds of problems proactively, instead of waiting until > they’re reported or someone fixes them later. While it may feel like noise > initially, this is largely a one-time cleanup—once done, developers will > simply fix warnings as they arise, keeping the codebase cleaner going forward.
Agreed on the general principle, but I think the hassle is just too big for what we're getting in return here (see also Andrew's reply). New code may also introduce a bunch of unused parameters for legitimate reasons and it's easy to imagine contributors ignoring such seemingly harmless/irrelevant warnings instead of sprinkling __unused all over. My feeling is that unused parameters are expected to be allowed in the kernel and it isn't helpful to go against that expectation in just a small subset of kselftests. - Kevin