scsi: fnic: Add and improve log messages
authorKaran Tilak Kumar <kartilak@cisco.com>
Mon, 11 Dec 2023 17:36:07 +0000 (09:36 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 14 Dec 2023 03:11:33 +0000 (22:11 -0500)
Add link related log messages in fnic_fcs.c,
Improve log message in fnic_fcs.c,
Add log message in vnic_dev.c.

Reviewed-by: Sesidhar Baddela <sebaddel@cisco.com>
Reviewed-by: Arulprabhu Ponnusamy <arulponn@cisco.com>
Signed-off-by: Karan Tilak Kumar <kartilak@cisco.com>
Link: https://lore.kernel.org/r/20231211173617.932990-4-kartilak@cisco.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/fnic/fnic.h
drivers/scsi/fnic/fnic_fcs.c
drivers/scsi/fnic/fnic_main.c
drivers/scsi/fnic/vnic_dev.c

index 721a31a03628a16561c5bba40247f57e71596187..4dde8afbb69b132c6cbaa01ff9cdd6384fb86377 100644 (file)
@@ -144,13 +144,17 @@ do {                                                              \
                } while (0);                                    \
 } while (0)
 
-#define FNIC_MAIN_DBG(kern_level, host, fmt, args...)          \
+#define FNIC_MAIN_DBG(kern_level, host, fnic_num, fmt, args...)                \
        FNIC_CHECK_LOGGING(FNIC_MAIN_LOGGING,                   \
-                        shost_printk(kern_level, host, fmt, ##args);)
+                        shost_printk(kern_level, host,                 \
+                               "fnic<%d>: %s: %d: " fmt, fnic_num,\
+                               __func__, __LINE__, ##args);)
 
-#define FNIC_FCS_DBG(kern_level, host, fmt, args...)           \
+#define FNIC_FCS_DBG(kern_level, host, fnic_num, fmt, args...)         \
        FNIC_CHECK_LOGGING(FNIC_FCS_LOGGING,                    \
-                        shost_printk(kern_level, host, fmt, ##args);)
+                        shost_printk(kern_level, host,                 \
+                               "fnic<%d>: %s: %d: " fmt, fnic_num,\
+                               __func__, __LINE__, ##args);)
 
 #define FNIC_SCSI_DBG(kern_level, host, fmt, args...)          \
        FNIC_CHECK_LOGGING(FNIC_SCSI_LOGGING,                   \
index 55632c67a8f24260a7e8148e28a7f1be9068821f..5e312a55cc7da0c73811b0fc26aed17d8c6a034c 100644 (file)
@@ -63,8 +63,8 @@ void fnic_handle_link(struct work_struct *work)
        atomic64_set(&fnic->fnic_stats.misc_stats.current_port_speed,
                        new_port_speed);
        if (old_port_speed != new_port_speed)
-               FNIC_MAIN_DBG(KERN_INFO, fnic->lport->host,
-                               "Current vnic speed set to :  %llu\n",
+               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                               "Current vnic speed set to: %llu\n",
                                new_port_speed);
 
        switch (vnic_dev_port_speed(fnic->vdev)) {
@@ -102,6 +102,8 @@ void fnic_handle_link(struct work_struct *work)
                        fnic_fc_trace_set_data(fnic->lport->host->host_no,
                                FNIC_FC_LE, "Link Status: DOWN->DOWN",
                                strlen("Link Status: DOWN->DOWN"));
+                       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                                       "down->down\n");
                } else {
                        if (old_link_down_cnt != fnic->link_down_cnt) {
                                /* UP -> DOWN -> UP */
@@ -113,7 +115,7 @@ void fnic_handle_link(struct work_struct *work)
                                        "Link Status:UP_DOWN_UP",
                                        strlen("Link_Status:UP_DOWN_UP")
                                        );
-                               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+                               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                             "link down\n");
                                fcoe_ctlr_link_down(&fnic->ctlr);
                                if (fnic->config.flags & VFCF_FIP_CAPABLE) {
@@ -128,8 +130,8 @@ void fnic_handle_link(struct work_struct *work)
                                        fnic_fcoe_send_vlan_req(fnic);
                                        return;
                                }
-                               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
-                                            "link up\n");
+                               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                                               "up->down->up: Link up\n");
                                fcoe_ctlr_link_up(&fnic->ctlr);
                        } else {
                                /* UP -> UP */
@@ -138,6 +140,8 @@ void fnic_handle_link(struct work_struct *work)
                                        fnic->lport->host->host_no, FNIC_FC_LE,
                                        "Link Status: UP_UP",
                                        strlen("Link Status: UP_UP"));
+                               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                                               "up->up\n");
                        }
                }
        } else if (fnic->link_status) {
@@ -153,7 +157,8 @@ void fnic_handle_link(struct work_struct *work)
                        return;
                }
 
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link up\n");
+               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                               "down->up: Link up\n");
                fnic_fc_trace_set_data(fnic->lport->host->host_no, FNIC_FC_LE,
                                       "Link Status: DOWN_UP", strlen("Link Status: DOWN_UP"));
                fcoe_ctlr_link_up(&fnic->ctlr);
@@ -161,13 +166,14 @@ void fnic_handle_link(struct work_struct *work)
                /* UP -> DOWN */
                fnic->lport->host_stats.link_failure_count++;
                spin_unlock_irqrestore(&fnic->fnic_lock, flags);
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "link down\n");
+               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
+                               "up->down: Link down\n");
                fnic_fc_trace_set_data(
                        fnic->lport->host->host_no, FNIC_FC_LE,
                        "Link Status: UP_DOWN",
                        strlen("Link Status: UP_DOWN"));
                if (fnic->config.flags & VFCF_FIP_CAPABLE) {
-                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                "deleting fip-timer during link-down\n");
                        del_timer_sync(&fnic->fip_timer);
                }
@@ -270,12 +276,12 @@ void fnic_handle_event(struct work_struct *work)
                        spin_lock_irqsave(&fnic->fnic_lock, flags);
                        break;
                case FNIC_EVT_START_FCF_DISC:
-                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                  "Start FCF Discovery\n");
                        fnic_fcoe_start_fcf_disc(fnic);
                        break;
                default:
-                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                  "Unknown event 0x%x\n", fevt->event);
                        break;
                }
@@ -370,7 +376,7 @@ static void fnic_fcoe_send_vlan_req(struct fnic *fnic)
        fnic->set_vlan(fnic, 0);
 
        if (printk_ratelimit())
-               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                          "Sending VLAN request...\n");
 
        skb = dev_alloc_skb(sizeof(struct fip_vlan));
@@ -423,12 +429,12 @@ static void fnic_fcoe_process_vlan_resp(struct fnic *fnic, struct sk_buff *skb)
        u64 sol_time;
        unsigned long flags;
 
-       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                  "Received VLAN response...\n");
 
        fiph = (struct fip_header *) skb->data;
 
-       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                  "Received VLAN response... OP 0x%x SUB_OP 0x%x\n",
                  ntohs(fiph->fip_op), fiph->fip_subcode);
 
@@ -463,7 +469,7 @@ static void fnic_fcoe_process_vlan_resp(struct fnic *fnic, struct sk_buff *skb)
        if (list_empty(&fnic->vlans)) {
                /* retry from timer */
                atomic64_inc(&fnic_stats->vlan_stats.resp_withno_vlanID);
-               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                          "No VLAN descriptors in FIP VLAN response\n");
                spin_unlock_irqrestore(&fnic->vlans_lock, flags);
                goto out;
@@ -721,7 +727,8 @@ void fnic_update_mac_locked(struct fnic *fnic, u8 *new)
                new = ctl;
        if (ether_addr_equal(data, new))
                return;
-       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, "update_mac %pM\n", new);
+       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
+                       "update_mac %pM\n", new);
        if (!is_zero_ether_addr(data) && !ether_addr_equal(data, ctl))
                vnic_dev_del_addr(fnic->vdev, data);
        memcpy(data, new, ETH_ALEN);
@@ -763,8 +770,9 @@ void fnic_set_port_id(struct fc_lport *lport, u32 port_id, struct fc_frame *fp)
        u8 *mac;
        int ret;
 
-       FNIC_FCS_DBG(KERN_DEBUG, lport->host, "set port_id %x fp %p\n",
-                    port_id, fp);
+       FNIC_FCS_DBG(KERN_DEBUG, lport->host, fnic->fnic_num,
+                       "set port_id 0x%x fp 0x%p\n",
+                       port_id, fp);
 
        /*
         * If we're clearing the FC_ID, change to use the ctl_src_addr.
@@ -790,10 +798,9 @@ void fnic_set_port_id(struct fc_lport *lport, u32 port_id, struct fc_frame *fp)
        if (fnic->state == FNIC_IN_ETH_MODE || fnic->state == FNIC_IN_FC_MODE)
                fnic->state = FNIC_IN_ETH_TRANS_FC_MODE;
        else {
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
-                            "Unexpected fnic state %s while"
-                            " processing flogi resp\n",
-                            fnic_state_to_str(fnic->state));
+               FNIC_FCS_DBG(KERN_ERR, fnic->lport->host, fnic->fnic_num,
+                            "Unexpected fnic state: %s processing FLOGI response",
+                                fnic_state_to_str(fnic->state));
                spin_unlock_irq(&fnic->fnic_lock);
                return;
        }
@@ -870,7 +877,7 @@ static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc
                skb_trim(skb, bytes_written);
                if (!fcs_ok) {
                        atomic64_inc(&fnic_stats->misc_stats.frame_errors);
-                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+                       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                     "fcs error.  dropping packet.\n");
                        goto drop;
                }
@@ -886,7 +893,7 @@ static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc
 
        if (!fcs_ok || packet_error || !fcoe_fc_crc_ok || fcoe_enc_error) {
                atomic64_inc(&fnic_stats->misc_stats.frame_errors);
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                             "fnic rq_cmpl fcoe x%x fcsok x%x"
                             " pkterr x%x fcoe_fc_crc_ok x%x, fcoe_enc_err"
                             " x%x\n",
@@ -967,7 +974,7 @@ int fnic_alloc_rq_frame(struct vnic_rq *rq)
        len = FC_FRAME_HEADROOM + FC_MAX_FRAME + FC_FRAME_TAILROOM;
        skb = dev_alloc_skb(len);
        if (!skb) {
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                             "Unable to allocate RQ sk_buff\n");
                return -ENOMEM;
        }
@@ -1341,12 +1348,12 @@ void fnic_handle_fip_timer(struct fnic *fnic)
        }
 
        vlan = list_first_entry(&fnic->vlans, struct fcoe_vlan, list);
-       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+       FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                  "fip_timer: vlan %d state %d sol_count %d\n",
                  vlan->vid, vlan->state, vlan->sol_count);
        switch (vlan->state) {
        case FIP_VLAN_USED:
-               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host,
+               FNIC_FCS_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                          "FIP VLAN is selected for FC transaction\n");
                spin_unlock_irqrestore(&fnic->vlans_lock, flags);
                break;
@@ -1365,7 +1372,7 @@ void fnic_handle_fip_timer(struct fnic *fnic)
                         * no response on this vlan, remove  from the list.
                         * Try the next vlan
                         */
-                       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+                       FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                                  "Dequeue this VLAN ID %d from list\n",
                                  vlan->vid);
                        list_del(&vlan->list);
@@ -1375,7 +1382,7 @@ void fnic_handle_fip_timer(struct fnic *fnic)
                                /* we exhausted all vlans, restart vlan disc */
                                spin_unlock_irqrestore(&fnic->vlans_lock,
                                                        flags);
-                               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host,
+                               FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
                                          "fip_timer: vlan list empty, "
                                          "trigger vlan disc\n");
                                fnic_event_enq(fnic, FNIC_EVT_START_VLAN_DISC);
index 3044723e125ea6bea88b071ef6eba14a39dce358..cc20c12012e30b108d24eb27f2696e6fcc62f13e 100644 (file)
@@ -210,7 +210,7 @@ static struct fc_host_statistics *fnic_get_stats(struct Scsi_Host *host)
        spin_unlock_irqrestore(&fnic->fnic_lock, flags);
 
        if (ret) {
-               FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host,
+               FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                              "fnic: Get vnic stats failed"
                              " 0x%x", ret);
                return stats;
@@ -322,7 +322,7 @@ static void fnic_reset_host_stats(struct Scsi_Host *host)
        spin_unlock_irqrestore(&fnic->fnic_lock, flags);
 
        if (ret) {
-               FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host,
+               FNIC_MAIN_DBG(KERN_DEBUG, fnic->lport->host, fnic->fnic_num,
                                "fnic: Reset vnic stats failed"
                                " 0x%x", ret);
                return;
index 3e5b437c0492d4165435c203ec9b349df98624aa..e0b173cc9d5ffae505567599dcacb9567aed14da 100644 (file)
@@ -143,6 +143,10 @@ static int vnic_dev_discover_res(struct vnic_dev *vdev,
                vdev->res[type].vaddr = (char __iomem *)bar->vaddr + bar_offset;
        }
 
+       pr_info("res_type_wq: %d res_type_rq: %d res_type_cq: %d res_type_intr_ctrl: %d\n",
+               vdev->res[RES_TYPE_WQ].count, vdev->res[RES_TYPE_RQ].count,
+               vdev->res[RES_TYPE_CQ].count, vdev->res[RES_TYPE_INTR_CTRL].count);
+
        return 0;
 }