[PATCH v2 5/5] rv: Remove struct rv_monitor::reacting

Nam Cao posted 5 patches 2 months, 2 weeks ago
There is a newer version of this series
[PATCH v2 5/5] rv: Remove struct rv_monitor::reacting
Posted by Nam Cao 2 months, 2 weeks ago
The field 'reacting' in struct rv_monitor is set but never used. Delete it.

Reviewed-by: Gabriele Monaco <gmonaco@redhat.com>
Signed-off-by: Nam Cao <namcao@linutronix.de>
---
 include/linux/rv.h            |  1 -
 kernel/trace/rv/rv_reactors.c | 13 +++++--------
 2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/include/linux/rv.h b/include/linux/rv.h
index 2f867d6f72ba..80731242fe60 100644
--- a/include/linux/rv.h
+++ b/include/linux/rv.h
@@ -104,7 +104,6 @@ struct rv_monitor {
 #ifdef CONFIG_RV_REACTORS
 	struct rv_reactor	*reactor;
 	__printf(1, 2) void	(*react)(const char *msg, ...);
-	bool			reacting;
 #endif
 	struct list_head	list;
 	struct rv_monitor	*parent;
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c
index a8e849e6cd85..5e52886b4511 100644
--- a/kernel/trace/rv/rv_reactors.c
+++ b/kernel/trace/rv/rv_reactors.c
@@ -160,7 +160,7 @@ static const struct seq_operations monitor_reactors_seq_ops = {
 
 static void monitor_swap_reactors_single(struct rv_monitor *mon,
 					 struct rv_reactor *reactor,
-					 bool reacting, bool nested)
+					 bool nested)
 {
 	bool monitor_enabled;
 
@@ -173,7 +173,6 @@ static void monitor_swap_reactors_single(struct rv_monitor *mon,
 		rv_disable_monitor(mon);
 
 	mon->reactor = reactor;
-	mon->reacting = reacting;
 	mon->react = reactor->react;
 
 	/* enable only once if iterating through a container */
@@ -181,8 +180,7 @@ static void monitor_swap_reactors_single(struct rv_monitor *mon,
 		rv_enable_monitor(mon);
 }
 
-static void monitor_swap_reactors(struct rv_monitor *mon,
-				  struct rv_reactor *reactor, bool reacting)
+static void monitor_swap_reactors(struct rv_monitor *mon, struct rv_reactor *reactor)
 {
 	struct rv_monitor *p = mon;
 
@@ -190,7 +188,7 @@ static void monitor_swap_reactors(struct rv_monitor *mon,
 		list_for_each_entry_continue(p, &rv_monitors_list, list) {
 			if (p->parent != mon)
 				break;
-			monitor_swap_reactors_single(p, reactor, reacting, true);
+			monitor_swap_reactors_single(p, reactor, true);
 		}
 	/*
 	 * This call enables and disables the monitor if they were active.
@@ -198,7 +196,7 @@ static void monitor_swap_reactors(struct rv_monitor *mon,
 	 * All nested monitors are enabled also if they were off, we may refine
 	 * this logic in the future.
 	 */
-	monitor_swap_reactors_single(mon, reactor, reacting, false);
+	monitor_swap_reactors_single(mon, reactor, false);
 }
 
 static ssize_t
@@ -248,7 +246,7 @@ monitor_reactors_write(struct file *file, const char __user *user_buf,
 		else
 			enable = true;
 
-		monitor_swap_reactors(mon, reactor, enable);
+		monitor_swap_reactors(mon, reactor);
 
 		retval = count;
 		break;
@@ -439,7 +437,6 @@ int reactor_populate_monitor(struct rv_monitor *mon)
 	 * Configure as the rv_nop reactor.
 	 */
 	mon->reactor = get_reactor_rdef_by_name("nop");
-	mon->reacting = false;
 
 	return 0;
 }
-- 
2.39.5
Re: [PATCH v2 5/5] rv: Remove struct rv_monitor::reacting
Posted by kernel test robot 2 months, 2 weeks ago
Hi Nam,

kernel test robot noticed the following build warnings:

[auto build test WARNING on trace/for-next]
[also build test WARNING on next-20250723]
[cannot apply to linus/master v6.16-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Nam-Cao/rv-Remove-unused-field-in-struct-rv_monitor_def/20250723-144825
base:   https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace for-next
patch link:    https://lore.kernel.org/r/58c63faec76ffb36552fcd1fdcc4b9dd841efd94.1753252872.git.namcao%40linutronix.de
patch subject: [PATCH v2 5/5] rv: Remove struct rv_monitor::reacting
config: arc-randconfig-002-20250724 (https://download.01.org/0day-ci/archive/20250724/202507241015.Qun68uPH-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250724/202507241015.Qun68uPH-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507241015.Qun68uPH-lkp@intel.com/

All warnings (new ones prefixed by >>):

   kernel/trace/rv/rv_reactors.c: In function 'monitor_reactors_write':
>> kernel/trace/rv/rv_reactors.c:211:14: warning: variable 'enable' set but not used [-Wunused-but-set-variable]
     211 |         bool enable;
         |              ^~~~~~


vim +/enable +211 kernel/trace/rv/rv_reactors.c

cb85c660fcd4b3a Gabriele Monaco            2025-03-05  201  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  202  static ssize_t
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  203  monitor_reactors_write(struct file *file, const char __user *user_buf,
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  204  		      size_t count, loff_t *ppos)
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  205  {
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  206  	char buff[MAX_RV_REACTOR_NAME_SIZE + 2];
98b2531fbe93031 Nam Cao                    2025-07-23  207  	struct rv_monitor *mon;
aef8790cfb7b07f Nam Cao                    2025-07-23  208  	struct rv_reactor *reactor;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  209  	struct seq_file *seq_f;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  210  	int retval = -EINVAL;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29 @211  	bool enable;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  212  	char *ptr;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  213  	int len;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  214  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  215  	if (count < 1 || count > MAX_RV_REACTOR_NAME_SIZE + 1)
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  216  		return -EINVAL;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  217  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  218  	memset(buff, 0, sizeof(buff));
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  219  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  220  	retval = simple_write_to_buffer(buff, sizeof(buff) - 1, ppos, user_buf, count);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  221  	if (retval < 0)
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  222  		return -EFAULT;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  223  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  224  	ptr = strim(buff);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  225  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  226  	len = strlen(ptr);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  227  	if (!len)
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  228  		return count;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  229  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  230  	/*
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  231  	 * See monitor_reactors_open()
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  232  	 */
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  233  	seq_f = file->private_data;
98b2531fbe93031 Nam Cao                    2025-07-23  234  	mon = seq_f->private;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  235  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  236  	mutex_lock(&rv_interface_lock);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  237  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  238  	retval = -EINVAL;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  239  
aef8790cfb7b07f Nam Cao                    2025-07-23  240  	list_for_each_entry(reactor, &rv_reactors_list, list) {
aef8790cfb7b07f Nam Cao                    2025-07-23  241  		if (strcmp(ptr, reactor->name) != 0)
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  242  			continue;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  243  
aef8790cfb7b07f Nam Cao                    2025-07-23  244  		if (strcmp(reactor->name, "nop"))
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  245  			enable = false;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  246  		else
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  247  			enable = true;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  248  
a96356e99938184 Nam Cao                    2025-07-23  249  		monitor_swap_reactors(mon, reactor);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  250  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  251  		retval = count;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  252  		break;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  253  	}
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  254  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  255  	mutex_unlock(&rv_interface_lock);
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  256  
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  257  	return retval;
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  258  }
04acadcb4453cf8 Daniel Bristot de Oliveira 2022-07-29  259  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki