lkml.org 
[lkml]   [2015]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectkernel: stop_machine: report (un)dead code (and feedback request)
Hi Chris,

your commit 4c477de14237 ("kernel: remove stop_machine() Kconfig
dependency") has shown up in today's linux-next tree (20151126).
The commit changes the #ifdef condition in kernel/stop_machine.c
from/to:

-#if defined(CONFIG_STOP_MACHINE) && defined(CONFIG_SMP)
+#if defined(CONFIG_SMP) || defined(CONFIG_HOTPLUG_CPU)

Although this change fixes certain configs on X86, the condition now is
a tautology since CONFIG_SMP is already required to compile the file:

kernel/Makefile:65:obj-$(CONFIG_SMP) += stop_machine.o

AFAIU, we can safely remove this #ifdef?

I detected this issue with undertaker-checkpatch [1]. We're a research
group at the University of Erlangen-Nuremberg, running daily checks on
linux-next to report Kconfig related issues, such as dead and undead
code, or references on undefined symbols.

One of the students, Patrick, who writes his Bachelor's thesis in our
group implemented a web-framework to visualize kernel code w.r.t. CPP
#ifdef statements and the bugs our tools [1] detect. You can find the
visualization of the mentioned issue at [2]. The description of the
tautology in the #ifdef condition can be found by clicking on the
'details' menu of the block.

We'll be happy to receive any kind of feedback of the recipients of this
mail. Do you like/dislike the visualization? Does it help you to
understand the described issue? etc. The main purpose of the framework
is to aid when sending reports. It's much easier and nicer to point to
a website visualizing a problem than just describing it textually.

Kind regards,
Valentin

[1] https://undertaker.cs.fau.de
[2] http://cados.cs.fau.de:4567/4c477de14237193c99329ca82965c1211b4ee81e/kernel/stop_machine.c


\
 
 \ /
  Last update: 2015-11-26 16:01    [W:0.030 / U:20.764 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site