Hi Tom, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on net/master] [also build test WARNING on ipvs/master net-next/master linus/master v5.8-rc2 next-20200624] [cannot apply to cgroup/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Tom-Herbert/ptq-Per-Thread-Queues/20200625-012135 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 0275875530f692c725c6f993aced2eca2d6ac50c config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from drivers/scsi/ibmvscsi_tgt/libsrp.c:22: >> drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h:199: warning: "NO_QUEUE" redefined 199 | #define NO_QUEUE 0x00 | In file included from include/linux/sched.h:35, from include/linux/mm.h:31, from include/linux/scatterlist.h:8, from include/linux/kfifo.h:42, from drivers/scsi/ibmvscsi_tgt/libsrp.c:15: include/linux/netqueue.h:12: note: this is the location of the previous definition 12 | #define NO_QUEUE USHRT_MAX | -- In file included from drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:34: >> drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h:199: warning: "NO_QUEUE" redefined 199 | #define NO_QUEUE 0x00 | In file included from include/linux/sched.h:35, from arch/powerpc/include/asm/elf.h:8, from include/linux/elf.h:6, from include/linux/module.h:18, from drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:18: include/linux/netqueue.h:12: note: this is the location of the previous definition 12 | #define NO_QUEUE USHRT_MAX | In file included from arch/powerpc/include/asm/paca.h:15, from arch/powerpc/include/asm/current.h:13, from include/linux/thread_info.h:21, from include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:13, from drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:18: In function 'strncpy', inlined from 'ibmvscsis_get_system_info' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:3666:3, inlined from 'ibmvscsis_init' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:4106:7: include/linux/string.h:297:30: warning: '__builtin_strncpy' specified bound 96 equals destination size [-Wstringop-truncation] 297 | #define __underlying_strncpy __builtin_strncpy | ^ include/linux/string.h:307:9: note: in expansion of macro '__underlying_strncpy' 307 | return __underlying_strncpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~~ In function 'strncpy', inlined from 'ibmvscsis_cap_mad' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:1647:3, inlined from 'ibmvscsis_process_mad' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:1743:8, inlined from 'ibmvscsis_mad' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:2077:8, inlined from 'ibmvscsis_parse_command' at drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c:2543:10: include/linux/string.h:297:30: warning: '__builtin_strncpy' specified bound 32 equals destination size [-Wstringop-truncation] 297 | #define __underlying_strncpy __builtin_strncpy | ^ include/linux/string.h:307:9: note: in expansion of macro '__underlying_strncpy' 307 | return __underlying_strncpy(p, q, size); | ^~~~~~~~~~~~~~~~~~~~ vim +/NO_QUEUE +199 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h 88a678bbc34cec Bryant G. Ly 2016-06-28 192 88a678bbc34cec Bryant G. Ly 2016-06-28 193 struct scsi_info { 88a678bbc34cec Bryant G. Ly 2016-06-28 194 struct list_head list; 88a678bbc34cec Bryant G. Ly 2016-06-28 195 char eye[MAX_EYE]; 88a678bbc34cec Bryant G. Ly 2016-06-28 196 88a678bbc34cec Bryant G. Ly 2016-06-28 197 /* commands waiting for space on repsonse queue */ 88a678bbc34cec Bryant G. Ly 2016-06-28 198 struct list_head waiting_rsp; 88a678bbc34cec Bryant G. Ly 2016-06-28 @199 #define NO_QUEUE 0x00 88a678bbc34cec Bryant G. Ly 2016-06-28 200 #define WAIT_ENABLED 0X01 88a678bbc34cec Bryant G. Ly 2016-06-28 201 #define WAIT_CONNECTION 0x04 88a678bbc34cec Bryant G. Ly 2016-06-28 202 /* have established a connection */ 88a678bbc34cec Bryant G. Ly 2016-06-28 203 #define CONNECTED 0x08 88a678bbc34cec Bryant G. Ly 2016-06-28 204 /* at least one port is processing SRP IU */ 88a678bbc34cec Bryant G. Ly 2016-06-28 205 #define SRP_PROCESSING 0x10 88a678bbc34cec Bryant G. Ly 2016-06-28 206 /* remove request received */ 88a678bbc34cec Bryant G. Ly 2016-06-28 207 #define UNCONFIGURING 0x20 88a678bbc34cec Bryant G. Ly 2016-06-28 208 /* disconnect by letting adapter go idle, no error */ 88a678bbc34cec Bryant G. Ly 2016-06-28 209 #define WAIT_IDLE 0x40 88a678bbc34cec Bryant G. Ly 2016-06-28 210 /* disconnecting to clear an error */ 88a678bbc34cec Bryant G. Ly 2016-06-28 211 #define ERR_DISCONNECT 0x80 88a678bbc34cec Bryant G. Ly 2016-06-28 212 /* disconnect to clear error state, then come back up */ 88a678bbc34cec Bryant G. Ly 2016-06-28 213 #define ERR_DISCONNECT_RECONNECT 0x100 88a678bbc34cec Bryant G. Ly 2016-06-28 214 /* disconnected after clearing an error */ 88a678bbc34cec Bryant G. Ly 2016-06-28 215 #define ERR_DISCONNECTED 0x200 88a678bbc34cec Bryant G. Ly 2016-06-28 216 /* A series of errors caused unexpected errors */ 88a678bbc34cec Bryant G. Ly 2016-06-28 217 #define UNDEFINED 0x400 88a678bbc34cec Bryant G. Ly 2016-06-28 218 u16 state; 88a678bbc34cec Bryant G. Ly 2016-06-28 219 int fast_fail; 88a678bbc34cec Bryant G. Ly 2016-06-28 220 struct target_dds dds; 88a678bbc34cec Bryant G. Ly 2016-06-28 221 char *cmd_pool; 88a678bbc34cec Bryant G. Ly 2016-06-28 222 /* list of free commands */ 88a678bbc34cec Bryant G. Ly 2016-06-28 223 struct list_head free_cmd; 88a678bbc34cec Bryant G. Ly 2016-06-28 224 /* command elements ready for scheduler */ 88a678bbc34cec Bryant G. Ly 2016-06-28 225 struct list_head schedule_q; 88a678bbc34cec Bryant G. Ly 2016-06-28 226 /* commands sent to TCM */ 88a678bbc34cec Bryant G. Ly 2016-06-28 227 struct list_head active_q; 88a678bbc34cec Bryant G. Ly 2016-06-28 228 caddr_t *map_buf; 88a678bbc34cec Bryant G. Ly 2016-06-28 229 /* ioba of map buffer */ 88a678bbc34cec Bryant G. Ly 2016-06-28 230 dma_addr_t map_ioba; 88a678bbc34cec Bryant G. Ly 2016-06-28 231 /* allowable number of outstanding SRP requests */ 88a678bbc34cec Bryant G. Ly 2016-06-28 232 int request_limit; 88a678bbc34cec Bryant G. Ly 2016-06-28 233 /* extra credit */ 88a678bbc34cec Bryant G. Ly 2016-06-28 234 int credit; 88a678bbc34cec Bryant G. Ly 2016-06-28 235 /* outstanding transactions against credit limit */ 88a678bbc34cec Bryant G. Ly 2016-06-28 236 int debit; 88a678bbc34cec Bryant G. Ly 2016-06-28 237 88a678bbc34cec Bryant G. Ly 2016-06-28 238 /* allow only one outstanding mad request */ 88a678bbc34cec Bryant G. Ly 2016-06-28 239 #define PROCESSING_MAD 0x00002 88a678bbc34cec Bryant G. Ly 2016-06-28 240 /* Waiting to go idle */ 88a678bbc34cec Bryant G. Ly 2016-06-28 241 #define WAIT_FOR_IDLE 0x00004 88a678bbc34cec Bryant G. Ly 2016-06-28 242 /* H_REG_CRQ called */ 88a678bbc34cec Bryant G. Ly 2016-06-28 243 #define CRQ_CLOSED 0x00010 88a678bbc34cec Bryant G. Ly 2016-06-28 244 /* detected that client has failed */ 88a678bbc34cec Bryant G. Ly 2016-06-28 245 #define CLIENT_FAILED 0x00040 88a678bbc34cec Bryant G. Ly 2016-06-28 246 /* detected that transport event occurred */ 88a678bbc34cec Bryant G. Ly 2016-06-28 247 #define TRANS_EVENT 0x00080 88a678bbc34cec Bryant G. Ly 2016-06-28 248 /* don't attempt to send anything to the client */ 88a678bbc34cec Bryant G. Ly 2016-06-28 249 #define RESPONSE_Q_DOWN 0x00100 88a678bbc34cec Bryant G. Ly 2016-06-28 250 /* request made to schedule disconnect handler */ 88a678bbc34cec Bryant G. Ly 2016-06-28 251 #define SCHEDULE_DISCONNECT 0x00400 88a678bbc34cec Bryant G. Ly 2016-06-28 252 /* disconnect handler is scheduled */ 88a678bbc34cec Bryant G. Ly 2016-06-28 253 #define DISCONNECT_SCHEDULED 0x00800 8bf11557d44d00 Michael Cyr 2016-10-13 254 /* remove function is sleeping */ 8bf11557d44d00 Michael Cyr 2016-10-13 255 #define CFG_SLEEPING 0x01000 464fd6419c68bc Michael Cyr 2017-05-16 256 /* Register for Prepare for Suspend Transport Events */ 464fd6419c68bc Michael Cyr 2017-05-16 257 #define PREP_FOR_SUSPEND_ENABLED 0x02000 464fd6419c68bc Michael Cyr 2017-05-16 258 /* Prepare for Suspend event sent */ 464fd6419c68bc Michael Cyr 2017-05-16 259 #define PREP_FOR_SUSPEND_PENDING 0x04000 464fd6419c68bc Michael Cyr 2017-05-16 260 /* Resume from Suspend event sent */ 464fd6419c68bc Michael Cyr 2017-05-16 261 #define PREP_FOR_SUSPEND_ABORTED 0x08000 464fd6419c68bc Michael Cyr 2017-05-16 262 /* Prepare for Suspend event overwrote another CRQ entry */ 464fd6419c68bc Michael Cyr 2017-05-16 263 #define PREP_FOR_SUSPEND_OVERWRITE 0x10000 88a678bbc34cec Bryant G. Ly 2016-06-28 264 u32 flags; 88a678bbc34cec Bryant G. Ly 2016-06-28 265 /* adapter lock */ 88a678bbc34cec Bryant G. Ly 2016-06-28 266 spinlock_t intr_lock; 88a678bbc34cec Bryant G. Ly 2016-06-28 267 /* information needed to manage command queue */ 88a678bbc34cec Bryant G. Ly 2016-06-28 268 struct cmd_queue cmd_q; 88a678bbc34cec Bryant G. Ly 2016-06-28 269 /* used in hcall to copy response back into srp buffer */ 88a678bbc34cec Bryant G. Ly 2016-06-28 270 u64 empty_iu_id; 88a678bbc34cec Bryant G. Ly 2016-06-28 271 /* used in crq, to tag what iu the response is for */ 88a678bbc34cec Bryant G. Ly 2016-06-28 272 u64 empty_iu_tag; 88a678bbc34cec Bryant G. Ly 2016-06-28 273 uint new_state; 464fd6419c68bc Michael Cyr 2017-05-16 274 uint resume_state; 88a678bbc34cec Bryant G. Ly 2016-06-28 275 /* control block for the response queue timer */ 88a678bbc34cec Bryant G. Ly 2016-06-28 276 struct timer_cb rsp_q_timer; 88a678bbc34cec Bryant G. Ly 2016-06-28 277 /* keep last client to enable proper accounting */ 88a678bbc34cec Bryant G. Ly 2016-06-28 278 struct client_info client_data; 88a678bbc34cec Bryant G. Ly 2016-06-28 279 /* what can this client do */ 88a678bbc34cec Bryant G. Ly 2016-06-28 280 u32 client_cap; 88a678bbc34cec Bryant G. Ly 2016-06-28 281 /* 88a678bbc34cec Bryant G. Ly 2016-06-28 282 * The following two fields capture state and flag changes that 88a678bbc34cec Bryant G. Ly 2016-06-28 283 * can occur when the lock is given up. In the orginal design, 88a678bbc34cec Bryant G. Ly 2016-06-28 284 * the lock was held during calls into phyp; 88a678bbc34cec Bryant G. Ly 2016-06-28 285 * however, phyp did not meet PAPR architecture. This is 88a678bbc34cec Bryant G. Ly 2016-06-28 286 * a work around. 88a678bbc34cec Bryant G. Ly 2016-06-28 287 */ 88a678bbc34cec Bryant G. Ly 2016-06-28 288 u16 phyp_acr_state; 88a678bbc34cec Bryant G. Ly 2016-06-28 289 u32 phyp_acr_flags; 88a678bbc34cec Bryant G. Ly 2016-06-28 290 88a678bbc34cec Bryant G. Ly 2016-06-28 291 struct workqueue_struct *work_q; 88a678bbc34cec Bryant G. Ly 2016-06-28 292 struct completion wait_idle; 8bf11557d44d00 Michael Cyr 2016-10-13 293 struct completion unconfig; 88a678bbc34cec Bryant G. Ly 2016-06-28 294 struct device dev; 88a678bbc34cec Bryant G. Ly 2016-06-28 295 struct vio_dev *dma_dev; 88a678bbc34cec Bryant G. Ly 2016-06-28 296 struct srp_target target; 88a678bbc34cec Bryant G. Ly 2016-06-28 297 struct ibmvscsis_tport tport; 88a678bbc34cec Bryant G. Ly 2016-06-28 298 struct tasklet_struct work_task; 88a678bbc34cec Bryant G. Ly 2016-06-28 299 struct work_struct proc_work; 88a678bbc34cec Bryant G. Ly 2016-06-28 300 }; 88a678bbc34cec Bryant G. Ly 2016-06-28 301 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org