Re: [PATCH v5 3/6] locking/rwsem: Disable preemption at all down_write*() and up_write() code paths

From: Waiman Long
Date: Thu Nov 03 2022 - 20:02:05 EST



On 11/3/22 16:04, kernel test robot wrote:
Hi Waiman,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tip/locking/core]
[also build test WARNING on tip/master linus/master v6.1-rc3 next-20221103]
[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/Waiman-Long/lockinig-rwsem-Fix-rwsem-bugs-enable-true-lock-handoff/20221104-023520
patch link: https://lore.kernel.org/r/20221103182936.217120-4-longman%40redhat.com
patch subject: [PATCH v5 3/6] locking/rwsem: Disable preemption at all down_write*() and up_write() code paths
config: m68k-allyesconfig
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/b83e7cdb918b02166fbe3954940a7bd6f04eef14
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Waiman-Long/lockinig-rwsem-Fix-rwsem-bugs-enable-true-lock-handoff/20221104-023520
git checkout b83e7cdb918b02166fbe3954940a7bd6f04eef14
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash kernel/locking/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

kernel/locking/rwsem.c: In function '__down_write_common':
kernel/locking/rwsem.c:1302:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
1302 | int ret = 0;
| ^~~

Oh well, I will fix that.

Cheers,
Longman


vim +/ret +1302 kernel/locking/rwsem.c

1296
1297 /*
1298 * lock for writing
1299 */
1300 static inline int __down_write_common(struct rw_semaphore *sem, int state)
1301 {
1302 int ret = 0;
1303
1304 preempt_disable();
1305 if (unlikely(!rwsem_write_trylock(sem))) {
1306 if (IS_ERR(rwsem_down_write_slowpath(sem, state)))
1307 ret = -EINTR;
1308 }
1309 preempt_enable();
1310
1311 return 0;
1312 }
1313