Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1563674

[PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during heavy 4K RR FIO stress test.

From Chaitra P B <chaitra.basappa@broadcom.com>
Newsgroups linux.kernel
Subject [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during heavy 4K RR FIO stress test.
Date 2017-01-20 15:50 +0100
Message-ID <t1IFP-8tF-5@gated-at.bofh.it> (permalink)
References <t1IFP-8tF-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Due existence of loop in the IO path our HBA will receive heavy IOs and
also as driver is not updating the Reply Post Host Index frequently, So
there will be a high chance that our Firmware unable to find any free entry
in the Reply Post Descriptor Queue (i.e. Queue overflow occurs) and can
observe 0x2100 firmware fault.
So to fix this, we have defined a thresh hold value. After continuously
processing this thresh hold number of reply descriptors driver will update
the Reply Descriptor Host Index so that this thresh hold number of reply
descriptors entries will be freed and these entries will be available for
firmware and we won't observe this Firmware fault. We have defined this
threshold value as 1/3rd of the hba queue depth.

Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com>
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 722fab9..a3fe1fb 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -1040,6 +1040,25 @@ _base_interrupt(int irq, void *bus_id)
 		    reply_q->reply_post_free[reply_q->reply_post_host_index].
 		    Default.ReplyFlags & MPI2_RPY_DESCRIPT_FLAGS_TYPE_MASK;
 		completed_cmds++;
+		/* Update the reply post host index after continuously
+		 * processing the threshold number of Reply Descriptors.
+		 * So that FW can find enough entries to post the Reply
+		 * Descriptors in the reply descriptor post queue.
+		 */
+		if (completed_cmds > ioc->hba_queue_depth/3) {
+			if (ioc->combined_reply_queue) {
+				writel(reply_q->reply_post_host_index |
+						((msix_index  & 7) <<
+						 MPI2_RPHI_MSIX_INDEX_SHIFT),
+				    ioc->replyPostRegisterIndex[msix_index/8]);
+			} else {
+				writel(reply_q->reply_post_host_index |
+						(msix_index <<
+						 MPI2_RPHI_MSIX_INDEX_SHIFT),
+						&ioc->chip->ReplyPostHostIndex);
+			}
+			completed_cmds = 1;
+		}
 		if (request_desript_type == MPI2_RPY_DESCRIPT_FLAGS_UNUSED)
 			goto out;
 		if (!reply_q->reply_post_host_index)
-- 
1.7.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/4] mpt3sas driver Enhancements and Chaitra P B <chaitra.basappa@broadcom.com> - 2017-01-20 15:50 +0100
  [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during heavy 4K RR FIO stress test. Chaitra P B <chaitra.basappa@broadcom.com> - 2017-01-20 15:50 +0100
    Re: [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during  heavy 4K RR FIO stress test. Johannes Thumshirn <jthumshirn@suse.de> - 2017-01-20 16:50 +0100
      Re: [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during  heavy 4K RR FIO stress test. Sreekanth Reddy <sreekanth.reddy@broadcom.com> - 2017-01-20 17:20 +0100
  [PATCH v2 4/4] mpt3sas: Updating driver version to v15.100.00.00 Chaitra P B <chaitra.basappa@broadcom.com> - 2017-01-20 15:50 +0100
    Re: [PATCH v2 4/4] mpt3sas: Updating driver version to v15.100.00.00 Johannes Thumshirn <jthumshirn@suse.de> - 2017-01-20 16:10 +0100
  [PATCH v2 1/4] mpt3sas: Added print to notify cable running at a degraded speed. Chaitra P B <chaitra.basappa@broadcom.com> - 2017-01-20 15:50 +0100
    Re: [PATCH v2 1/4] mpt3sas: Added print to notify cable running at a  degraded speed. Johannes Thumshirn <jthumshirn@suse.de> - 2017-01-20 16:10 +0100
    Re: [PATCH v2 1/4] mpt3sas: Added print to notify cable running at  a degraded speed. Joe Perches <joe@perches.com> - 2017-01-20 19:00 +0100
      Re: [PATCH v2 1/4] mpt3sas: Added print to notify cable running at  a degraded speed. Joe Perches <joe@perches.com> - 2017-01-20 19:20 +0100
  [PATCH v2 2/4] mpt3sas: Fix for Crusader to achieve product targets with SAS devices. Chaitra P B <chaitra.basappa@broadcom.com> - 2017-01-20 15:50 +0100
    Re: [PATCH v2 2/4] mpt3sas: Fix for Crusader to achieve product  targets with SAS devices. Johannes Thumshirn <jthumshirn@suse.de> - 2017-01-20 16:10 +0100
      Re: [PATCH v2 2/4] mpt3sas: Fix for Crusader to achieve product  targets with SAS devices. Sreekanth Reddy <sreekanth.reddy@broadcom.com> - 2017-01-20 17:30 +0100

csiph-web