From: kernel test robot <lkp@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set
Date: Tue, 28 Apr 2026 07:12:19 +0800 [thread overview]
Message-ID: <202604280709.2xKuz7sZ-lkp@intel.com> (raw)
In-Reply-To: <67fedbf2-914b-44f7-9422-1fe97d833705@kernel.org>
Hi Tejun,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:
[auto build test ERROR on v7.0]
[also build test ERROR on linus/master]
[cannot apply to tj-sched-ext/for-7.1-fixes next-20260427]
[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/Tejun-Heo/rhashtable-Bounce-deferred-worker-kick-through-irq_work-when-insecure_elasticity-is-set/20260426-103416
base: v7.0
patch link: https://lore.kernel.org/r/67fedbf2-914b-44f7-9422-1fe97d833705%40kernel.org
patch subject: [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260428/202604280709.2xKuz7sZ-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260428/202604280709.2xKuz7sZ-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/202604280709.2xKuz7sZ-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from lib/rhashtable.c:25:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
768 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
>> lib/rhashtable.c:1095:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
1095 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
lib/rhashtable.c:1162:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
1162 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
3 errors generated.
--
In file included from lib/test_rhashtable.c:20:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
768 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
1 error generated.
--
In file included from drivers/net/ethernet/intel/igc/igc_main.c:12:
In file included from include/linux/bpf_trace.h:5:
In file included from include/trace/events/xdp.h:288:
In file included from include/net/xdp_priv.h:5:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
768 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
drivers/net/ethernet/intel/igc/igc_main.c:1264:14: warning: division by zero is undefined [-Wdivision-by-zero]
1264 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_VLAN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1265 | IGC_ADVTXD_DCMD_VLE);
| ~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1268:14: warning: division by zero is undefined [-Wdivision-by-zero]
1268 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSO,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1269 | (IGC_ADVTXD_DCMD_TSE));
| ~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1274:14: warning: division by zero is undefined [-Wdivision-by-zero]
1274 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1275 | (IGC_ADVTXD_MAC_TSTAMP));
| ~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1277:14: warning: division by zero is undefined [-Wdivision-by-zero]
1277 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1278 | (IGC_ADVTXD_TSTAMP_REG_1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1280:14: warning: division by zero is undefined [-Wdivision-by-zero]
1280 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1281 | (IGC_ADVTXD_TSTAMP_REG_2));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1283:14: warning: division by zero is undefined [-Wdivision-by-zero]
1283 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_3,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1284 | (IGC_ADVTXD_TSTAMP_REG_3));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1287:14: warning: division by zero is undefined [-Wdivision-by-zero]
1287 | cmd_type ^= IGC_SET_FLAG(skb->no_fcs, 1, IGC_ADVTXD_DCMD_IFCS);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1299:19: warning: division by zero is undefined [-Wdivision-by-zero]
1299 | olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_CSUM,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1300 | (IGC_TXD_POPTS_TXSM << 8));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1303:19: warning: division by zero is undefined [-Wdivision-by-zero]
1303 | olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_IPV4,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1304 | (IGC_TXD_POPTS_IXSM << 8));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:2971:25: warning: division by zero is undefined [-Wdivision-by-zero]
2971 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2972 | IGC_TX_FLAGS_TSTAMP,
| ~~~~~~~~~~~~~~~~~~~~
2973 | (IGC_ADVTXD_MAC_TSTAMP));
| ~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:2974:25: warning: division by zero is undefined [-Wdivision-by-zero]
2974 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2975 | IGC_TX_FLAGS_TSTAMP_1,
| ~~~~~~~~~~~~~~~~~~~~~~
2976 | (IGC_ADVTXD_TSTAMP_REG_1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:2977:25: warning: division by zero is undefined [-Wdivision-by-zero]
2977 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2978 | IGC_TX_FLAGS_TSTAMP_2,
| ~~~~~~~~~~~~~~~~~~~~~~
2979 | (IGC_ADVTXD_TSTAMP_REG_2));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/igc/igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
--
In file included from igc_main.c:12:
In file included from include/linux/bpf_trace.h:5:
In file included from include/trace/events/xdp.h:288:
In file included from include/net/xdp_priv.h:5:
>> include/linux/rhashtable.h:768:12: error: no member named 'insecure_elasticity' in 'struct rhashtable_params'
768 | if (ht->p.insecure_elasticity)
| ~~~~~ ^
igc_main.c:1264:14: warning: division by zero is undefined [-Wdivision-by-zero]
1264 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_VLAN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1265 | IGC_ADVTXD_DCMD_VLE);
| ~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1268:14: warning: division by zero is undefined [-Wdivision-by-zero]
1268 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSO,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1269 | (IGC_ADVTXD_DCMD_TSE));
| ~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1274:14: warning: division by zero is undefined [-Wdivision-by-zero]
1274 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1275 | (IGC_ADVTXD_MAC_TSTAMP));
| ~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1277:14: warning: division by zero is undefined [-Wdivision-by-zero]
1277 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1278 | (IGC_ADVTXD_TSTAMP_REG_1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1280:14: warning: division by zero is undefined [-Wdivision-by-zero]
1280 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_2,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1281 | (IGC_ADVTXD_TSTAMP_REG_2));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1283:14: warning: division by zero is undefined [-Wdivision-by-zero]
1283 | cmd_type |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_TSTAMP_3,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1284 | (IGC_ADVTXD_TSTAMP_REG_3));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1287:14: warning: division by zero is undefined [-Wdivision-by-zero]
1287 | cmd_type ^= IGC_SET_FLAG(skb->no_fcs, 1, IGC_ADVTXD_DCMD_IFCS);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1299:19: warning: division by zero is undefined [-Wdivision-by-zero]
1299 | olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_CSUM,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1300 | (IGC_TXD_POPTS_TXSM << 8));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1303:19: warning: division by zero is undefined [-Wdivision-by-zero]
1303 | olinfo_status |= IGC_SET_FLAG(tx_flags, IGC_TX_FLAGS_IPV4,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1304 | (IGC_TXD_POPTS_IXSM << 8));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:2971:25: warning: division by zero is undefined [-Wdivision-by-zero]
2971 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2972 | IGC_TX_FLAGS_TSTAMP,
| ~~~~~~~~~~~~~~~~~~~~
2973 | (IGC_ADVTXD_MAC_TSTAMP));
| ~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:2974:25: warning: division by zero is undefined [-Wdivision-by-zero]
2974 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2975 | IGC_TX_FLAGS_TSTAMP_1,
| ~~~~~~~~~~~~~~~~~~~~~~
2976 | (IGC_ADVTXD_TSTAMP_REG_1));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
1254 | ((u32)((_input) & (_flag)) / ((_flag) / (_result))))
| ^ ~~~~~~~~~~~~~~~~~~~~~
igc_main.c:2977:25: warning: division by zero is undefined [-Wdivision-by-zero]
2977 | meta_req->cmd_type |= IGC_SET_FLAG(tx_flags,
| ^~~~~~~~~~~~~~~~~~~~~~
2978 | IGC_TX_FLAGS_TSTAMP_2,
| ~~~~~~~~~~~~~~~~~~~~~~
2979 | (IGC_ADVTXD_TSTAMP_REG_2));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
igc_main.c:1254:30: note: expanded from macro 'IGC_SET_FLAG'
vim +768 include/linux/rhashtable.h
757
758 /*
759 * Kick the deferred rehash worker. With insecure_elasticity the caller may
760 * hold a raw spinlock. schedule_work() under a raw spinlock records
761 * caller_lock -> pool->lock -> pi_lock -> rq->__lock. If any of these
762 * locks is acquired in the reverse direction elsewhere, the cycle closes.
763 * Bounce through irq_work so schedule_work() runs from hard IRQ context
764 * with the caller's lock no longer held.
765 */
766 static void rhashtable_kick_deferred_worker(struct rhashtable *ht)
767 {
> 768 if (ht->p.insecure_elasticity)
769 irq_work_queue(&ht->run_irq_work);
770 else
771 schedule_work(&ht->run_work);
772 }
773
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next parent reply other threads:[~2026-04-27 23:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <67fedbf2-914b-44f7-9422-1fe97d833705@kernel.org>
2026-04-27 23:12 ` kernel test robot [this message]
2026-05-07 8:56 ` [RFC PATCH] rhashtable: Bounce deferred worker kick through irq_work when insecure_elasticity is set kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202604280709.2xKuz7sZ-lkp@intel.com \
--to=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox