From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Selvin Xavier <selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH for-4.1 09/11] RDMA/ocrdma: Add CQ usage statistics counters
Date: Fri, 15 May 2015 11:57:45 -0400 [thread overview]
Message-ID: <1431705465.29187.8.camel@redhat.com> (raw)
In-Reply-To: <1431762709-20740-10-git-send-email-selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 4702 bytes --]
On Sat, 2015-05-16 at 13:21 +0530, Selvin Xavier wrote:
> From: Meghana Cheripady <meghana.cheripady-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
>
> Add counters for tracking the CQ usage by applications.
This isn't a bug fix, it's an enhancement. We are already in the
4.1-rc3+ phase, enhancements aren't really appropriate (even if they
seem minor). Please drop this one from the patchset.
>
> Signed-off-by: Meghana Cheripady <meghana.cheripady-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
> Signed-off-by: Selvin Xavier <selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
> ---
> drivers/infiniband/hw/ocrdma/ocrdma.h | 2 ++
> drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 8 ++++++++
> drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 15 +++++++++++++++
> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 ++
> 4 files changed, 27 insertions(+)
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma.h b/drivers/infiniband/hw/ocrdma/ocrdma.h
> index ee9e335..8782e1f 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma.h
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma.h
> @@ -290,6 +290,8 @@ struct ocrdma_dev {
> struct dentry *dir;
> atomic_t async_err_stats[OCRDMA_MAX_ASYNC_ERRORS];
> atomic_t cqe_err_stats[OCRDMA_MAX_CQE_ERR];
> + atomic_t act_cq_stats;
> + atomic_t th_cq_stats;
> struct ocrdma_pd_resource_mgr *pd_mgr;
> };
>
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> index 319675c..596d8c9 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
> @@ -1720,6 +1720,7 @@ int ocrdma_mbx_create_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq,
> struct ocrdma_create_cq *cmd;
> struct ocrdma_create_cq_rsp *rsp;
> u32 hw_pages, cqe_size, page_size, cqe_count;
> + int act_cq_cnt, th_cq_cnt;
>
> if (entries > dev->attr.max_cqe) {
> pr_err("%s(%d) max_cqe=0x%x, requester_cqe=0x%x\n",
> @@ -1808,6 +1809,13 @@ int ocrdma_mbx_create_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq,
>
> rsp = (struct ocrdma_create_cq_rsp *)cmd;
> cq->id = (u16) (rsp->rsp.cq_id & OCRDMA_CREATE_CQ_RSP_CQ_ID_MASK);
> +
> + atomic_inc(&dev->act_cq_stats);
> + act_cq_cnt = atomic_read(&dev->act_cq_stats);
> + th_cq_cnt = atomic_read(&dev->th_cq_stats);
> + if (th_cq_cnt < act_cq_cnt)
> + atomic_set(&dev->th_cq_stats, act_cq_cnt);
> +
> kfree(cmd);
> return 0;
> mbx_err:
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_stats.c b/drivers/infiniband/hw/ocrdma/ocrdma_stats.c
> index 48d7ef5..47fef14 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_stats.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_stats.c
> @@ -146,6 +146,8 @@ static char *ocrdma_resource_stats(struct ocrdma_dev *dev)
> (u64)rsrc_stats->phy_mr);
> pcur += ocrdma_add_stat(stats, pcur, "active_mw",
> (u64)rsrc_stats->mw);
> + pcur += ocrdma_add_stat(stats, pcur, "active_cq_usage_stats",
> + (u64)atomic_read(&dev->act_cq_stats));
>
> /* Print the threshold stats */
> rsrc_stats = &rdma_stats->th_rsrc_stats;
> @@ -200,6 +202,8 @@ static char *ocrdma_resource_stats(struct ocrdma_dev *dev)
> (u64)rsrc_stats->phy_mr);
> pcur += ocrdma_add_stat(stats, pcur, "threshold_mw",
> (u64)rsrc_stats->mw);
> + pcur += ocrdma_add_stat(stats, pcur, "threshold_cq_usage_stats",
> + (u64)atomic_read(&dev->th_cq_stats));
> return stats;
> }
>
> @@ -745,6 +749,16 @@ static const struct file_operations ocrdma_dbg_ops = {
> .write = ocrdma_dbgfs_ops_write,
> };
>
> +static void ocrdma_init_cq_stats(struct ocrdma_dev *dev)
> +{
> + int i, cq_cnt = 0;
> +
> + for (i = 0; i < dev->eq_cnt; i++)
> + cq_cnt += dev->eq_tbl[i].cq_cnt;
> + atomic_set(&dev->act_cq_stats, cq_cnt);
> + atomic_set(&dev->th_cq_stats, cq_cnt);
> +}
> +
> void ocrdma_add_port_stats(struct ocrdma_dev *dev)
> {
> if (!ocrdma_dbgfs_dir)
> @@ -828,6 +842,7 @@ void ocrdma_add_port_stats(struct ocrdma_dev *dev)
> goto err;
>
> mutex_init(&dev->stats_lock);
> + ocrdma_init_cq_stats(dev);
>
> return;
> err:
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index 9dcb660..48ec56f 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -1119,6 +1119,8 @@ int ocrdma_destroy_cq(struct ib_cq *ibcq)
> dev->nic_info.db_page_size);
> }
>
> + atomic_dec(&dev->act_cq_stats);
> +
> kfree(cq);
> return 0;
> }
--
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
GPG KeyID: 0E572FDD
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-05-15 15:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-16 7:51 [PATCH for-4.1 00/11] ocrdma bug fixes Selvin Xavier
[not found] ` <1431762709-20740-1-git-send-email-selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
2015-05-16 7:51 ` [PATCH for-4.1 01/11] RDMA/ocrdma: Fix EQ destroy failure during driver unload Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 02/11] RDMA/ocrdma: Report EQ full fatal error Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 03/11] RDMA/ocrdma: Fix QP state transition in destroy_qp Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 04/11] RDMA/ocrdma: Use VID 0 if PFC is enabled and vlan is not configured Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 05/11] RDMA/ocrdma: Fix the request length for RDMA_QUERY_QP mailbox command to FW Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 06/11] RDMA/ocrdma: Prevent allocation of DPP PDs if FW doesnt support it Selvin Xavier
[not found] ` <1431762709-20740-7-git-send-email-selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
2015-05-15 15:43 ` Doug Ledford
[not found] ` <1431704582.29187.2.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15 16:53 ` Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 07/11] RDMA/ocrdma: Fix dmac resolution for link local address Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 08/11] RDMA/ocrdma: Fail connection for MTU lesser than 512 Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 09/11] RDMA/ocrdma: Add CQ usage statistics counters Selvin Xavier
[not found] ` <1431762709-20740-10-git-send-email-selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
2015-05-15 15:57 ` Doug Ledford [this message]
[not found] ` <1431705465.29187.8.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15 16:55 ` Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 10/11] RDMA/ocrdma: Prevent returning failures in the resource destroy path Selvin Xavier
[not found] ` <1431762709-20740-11-git-send-email-selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org>
2015-05-15 15:56 ` Doug Ledford
[not found] ` <1431705372.29187.6.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15 18:16 ` Selvin Xavier
2015-05-18 11:46 ` Selvin Xavier
[not found] ` <d4f35e4f79dbe5ee4e75f5cfafafcb41-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-19 18:22 ` Jason Gunthorpe
[not found] ` <20150519182232.GE18675-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-05-28 3:58 ` Selvin Xavier
2015-05-16 7:51 ` [PATCH for-4.1 11/11] RDMA/ocrdma: Update ocrdma version number Selvin Xavier
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=1431705465.29187.8.camel@redhat.com \
--to=dledford-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=selvin.xavier-1wcpHE2jlwO1Z/+hSey0Gg@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox