scsi: lpfc: Fix no message shown for lpfc_hdw_queue out of range value
authorDick Kennedy <dick.kennedy@broadcom.com>
Mon, 3 Aug 2020 21:02:23 +0000 (14:02 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 5 Aug 2020 00:56:57 +0000 (20:56 -0400)
If module parameters override the default configuration settings for
hardware queues or irqs, the driver was not notifying the change from
defaults.

Revise such that any changes will result in a kernel log message.

Link: https://lore.kernel.org/r/20200803210229.23063-3-jsmart2021@gmail.com
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_attr.c
drivers/scsi/lpfc/lpfc_init.c

index cc2c907777d2a1e2e8b06f8f43897a657fb5be37..ece6c250ebaf6a2794d3ae4d4f24738dfa846fe9 100644 (file)
@@ -7412,12 +7412,26 @@ lpfc_get_cfgparam(struct lpfc_hba *phba)
 void
 lpfc_nvme_mod_param_dep(struct lpfc_hba *phba)
 {
-       if (phba->cfg_hdw_queue > phba->sli4_hba.num_present_cpu)
+       int  logit = 0;
+
+       if (phba->cfg_hdw_queue > phba->sli4_hba.num_present_cpu) {
                phba->cfg_hdw_queue = phba->sli4_hba.num_present_cpu;
-       if (phba->cfg_irq_chann > phba->sli4_hba.num_present_cpu)
+               logit = 1;
+       }
+       if (phba->cfg_irq_chann > phba->sli4_hba.num_present_cpu) {
                phba->cfg_irq_chann = phba->sli4_hba.num_present_cpu;
-       if (phba->cfg_irq_chann > phba->cfg_hdw_queue)
+               logit = 1;
+       }
+       if (phba->cfg_irq_chann > phba->cfg_hdw_queue) {
                phba->cfg_irq_chann = phba->cfg_hdw_queue;
+               logit = 1;
+       }
+       if (logit)
+               lpfc_printf_log(phba, KERN_ERR, LOG_SLI,
+                               "2006 Reducing Queues - CPU limitation: "
+                               "IRQ %d HDWQ %d\n",
+                               phba->cfg_irq_chann,
+                               phba->cfg_hdw_queue);
 
        if (phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME &&
            phba->nvmet_support) {
index d0c3556138fd89ed5d5f367f12cf12213050a2fc..05ace6916b661451ba692ba5176fc676a45d2408 100644 (file)
@@ -8637,7 +8637,8 @@ lpfc_sli4_read_config(struct lpfc_hba *phba)
                if ((phba->cfg_irq_chann > qmin) ||
                    (phba->cfg_hdw_queue > qmin)) {
                        lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
-                                       "2005 Reducing Queues: "
+                                       "2005 Reducing Queues - "
+                                       "FW resource limitation: "
                                        "WQ %d CQ %d EQ %d: min %d: "
                                        "IRQ %d HDWQ %d\n",
                                        phba->sli4_hba.max_cfg_param.max_wq,