From: Johannes Thumshirn <jthumshirn@suse.de>
To: Chaitra P B <chaitra.basappa@broadcom.com>
Cc: JBottomley@Parallels.com, jejb@kernel.org, hch@infradead.org,
martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
Sathya.Prakash@broadcom.com, kashyap.desai@broadcom.com,
krishnaraddi.mankani@broadcom.com, linux-kernel@vger.kernel.org,
suganath-prabu.subramani@broadcom.com,
sreekanth.reddy@broadcom.com
Subject: Re: [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during heavy 4K RR FIO stress test.
Date: Fri, 20 Jan 2017 16:10:36 +0100 [thread overview]
Message-ID: <20170120151036.GD9315@linux-x5ow.site> (raw)
In-Reply-To: <1484923333-8509-4-git-send-email-chaitra.basappa@broadcom.com>
On Fri, Jan 20, 2017 at 08:12:12PM +0530, Chaitra P B wrote:
> 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)
Do I understand it correctly that you fill the HBA's internal queue up to a
3rd and then kick it to start processing?
Thanks,
Johannes
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
next prev parent reply other threads:[~2017-01-20 15:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-20 14:42 [PATCH v2 0/4] mpt3sas driver Enhancements and Chaitra P B
2017-01-20 14:42 ` [PATCH v2 1/4] mpt3sas: Added print to notify cable running at a degraded speed Chaitra P B
2017-01-20 15:00 ` Johannes Thumshirn
2017-01-20 17:55 ` Joe Perches
2017-01-20 18:11 ` Joe Perches
2017-01-20 14:42 ` [PATCH v2 2/4] mpt3sas: Fix for Crusader to achieve product targets with SAS devices Chaitra P B
2017-01-20 15:00 ` Johannes Thumshirn
2017-01-20 16:19 ` Sreekanth Reddy
2017-01-20 14:42 ` [PATCH v2 3/4] mpt3sas: Fix Firmware fault state 0x2100 during heavy 4K RR FIO stress test Chaitra P B
2017-01-20 15:10 ` Johannes Thumshirn [this message]
2017-01-20 16:14 ` Sreekanth Reddy
2017-01-20 14:42 ` [PATCH v2 4/4] mpt3sas: Updating driver version to v15.100.00.00 Chaitra P B
2017-01-20 15:01 ` Johannes Thumshirn
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=20170120151036.GD9315@linux-x5ow.site \
--to=jthumshirn@suse.de \
--cc=JBottomley@Parallels.com \
--cc=Sathya.Prakash@broadcom.com \
--cc=chaitra.basappa@broadcom.com \
--cc=hch@infradead.org \
--cc=jejb@kernel.org \
--cc=kashyap.desai@broadcom.com \
--cc=krishnaraddi.mankani@broadcom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sreekanth.reddy@broadcom.com \
--cc=suganath-prabu.subramani@broadcom.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.