linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
Cc: Lijun Ou <oulijun@huawei.com>,
	dledford@redhat.com, sean.hefty@intel.com,
	hal.rosenstock@gmail.com, davem@davemloft.net,
	jeffrey.t.kirsher@intel.com, jiri@mellanox.com,
	ogerlitz@mellanox.com, linux-rdma@vger.kernel.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	gongyangming@huawei.com, xiaokun@huawei.com,
	tangchaofei@huawei.com, haifeng.wei@huawei.com,
	yisen.zhuang@huawei.com, yankejian@huawei.com,
	charles.chenxin@huawei.com, linuxarm@huawei.com
Subject: Re: [PATCH v10 06/22] IB/hns: Add initial cmd operation
Date: Tue, 21 Jun 2016 14:28:08 +0300	[thread overview]
Message-ID: <20160621112808.GA9762@leon.nu> (raw)
In-Reply-To: <57691C0B.8090509@huawei.com>

[-- Attachment #1: Type: text/plain, Size: 2075 bytes --]

On Tue, Jun 21, 2016 at 06:50:51PM +0800, Wei Hu (Xavier) wrote:
> 
> 
> On 2016/6/20 21:33, Leon Romanovsky wrote:
> >On Thu, Jun 16, 2016 at 10:35:14PM +0800, Lijun Ou wrote:
> >>This patch added the operation for cmd, and added some functions
> >>for initializing eq table and selecting cmd mode.
> >>
> >>Signed-off-by: Wei Hu <xavier.huwei@huawei.com>
> >>Signed-off-by: Nenglong Zhao <zhaonenglong@hisilicon.com>
> >>Signed-off-by: Lijun Ou <oulijun@huawei.com>
> >>---
> >>PATCH v9/v8/v7/v6:
> >>- No change over the PATCH v5
> >>
> >>PATCH v5:
> >>- The initial patch which was redesigned based on the second patch
> >>   in PATCH v4
> >>---
> ><...>
> >
> >>+#define CMD_MAX_NUM		32
> >>+
> >>+int hns_roce_cmd_init(struct hns_roce_dev *hr_dev)
> >>+{
> >>+	struct device *dev = &hr_dev->pdev->dev;
> >>+
> >>+	mutex_init(&hr_dev->cmd.hcr_mutex);
> >>+	sema_init(&hr_dev->cmd.poll_sem, 1);
> >>+	hr_dev->cmd.use_events = 0;
> >>+	hr_dev->cmd.toggle = 1;
> >>+	hr_dev->cmd.max_cmds = CMD_MAX_NUM;
> ><...>
> >
> >>+	for (hr_cmd->token_mask = 1; hr_cmd->token_mask < hr_cmd->max_cmds;
> >>+	     hr_cmd->token_mask <<= 1)
> >>+		;
> >>+	--hr_cmd->token_mask;
> >It doesn't look that you dynamically change max_cmds supported.
> >Why do you need to calculate token_mask dynamically?
> Hi, Leon
> 
>     1. The four lines above are in the function named
> hns_roce_cmd_use_events.
>          and now this function is only called once in hns_roce_probe.
>     2. In hns_roce_cmd_use_events,
>         we use these 4 lines to achieve the value of hr_cmd->token_mask
> according to hr_cmd->max_cmds dynamically,
>         then we only define one marco for hr_cmd->max_cmds as below:
> 
> 	#define CMD_MAX_NUM		32
> 
>        And it looks more flexible.

It is called over engineering.
I would recommend to you to remove it.

We don't need over complicated code which is executed
once with need to maintain with zero benefit.

The other places need such simplification too.

> 
> Regards
> Wei Hu
> 
> 
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-06-21 11:29 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 14:35 [PATCH v10 00/22] Add HiSilicon RoCE driver Lijun Ou
2016-06-16 14:35 ` [PATCH v10 01/22] net: hns: Add reset function support for " Lijun Ou
2016-06-24 11:49   ` Leon Romanovsky
2016-06-27  6:41     ` oulijun
2016-06-16 14:35 ` [PATCH v10 02/22] devicetree: bindings: IB: Add binding document for HiSilicon RoCE Lijun Ou
2016-06-16 14:35 ` [PATCH v10 03/22] IB/hns: Add initial main frame driver and get cfg info Lijun Ou
2016-06-24 11:48   ` Leon Romanovsky
     [not found]     ` <576E5D0B.7010003@huawei.com>
2016-06-27  7:00       ` Leon Romanovsky
2016-06-27  7:29         ` Wei Hu (Xavier)
2016-06-16 14:35 ` [PATCH v10 04/22] IB/hns: Add RoCE engine reset function Lijun Ou
2016-06-24 14:59   ` Leon Romanovsky
     [not found]     ` <576E5C21.5030904@huawei.com>
2016-06-27  8:01       ` Leon Romanovsky
2016-06-27  8:31         ` oulijun
2016-06-28  6:31           ` Wei Hu (Xavier)
2016-06-28  8:09             ` Leon Romanovsky
2016-06-16 14:35 ` [PATCH v10 05/22] IB/hns: Add initial profile resource Lijun Ou
2016-06-24 15:10   ` Leon Romanovsky
2016-06-28  6:56     ` oulijun
2016-06-16 14:35 ` [PATCH v10 06/22] IB/hns: Add initial cmd operation Lijun Ou
2016-06-20 13:33   ` Leon Romanovsky
2016-06-21 10:50     ` Wei Hu (Xavier)
2016-06-21 11:28       ` Leon Romanovsky [this message]
2016-06-21 13:01         ` Wei Hu (Xavier)
2016-06-22  4:54           ` Leon Romanovsky
2016-06-22  6:50             ` Wei Hu (Xavier)
2016-06-16 14:35 ` [PATCH v10 07/22] IB/hns: Add event queue support Lijun Ou
2016-06-24 15:46   ` Leon Romanovsky
2016-06-24 15:56     ` Doug Ledford
2016-06-29  8:53     ` oulijun
2016-06-29 10:41       ` Leon Romanovsky
2016-06-16 14:35 ` [PATCH v10 08/22] IB/hns: Add icm support Lijun Ou
2016-06-17  9:58   ` Leon Romanovsky
     [not found]     ` <57677314.70909@huawei.com>
2016-06-20  6:06       ` Leon Romanovsky
2016-06-20  7:49         ` Wei Hu (Xavier)
2016-06-20  9:27           ` Leon Romanovsky
2016-06-20  9:48             ` Wei Hu (Xavier)
2016-06-20 13:04               ` Leon Romanovsky
2016-06-21  4:37                 ` Wei Hu (Xavier)
2016-06-21 11:55                   ` Leon Romanovsky
2016-06-22  3:53                     ` Wei Hu (Xavier)
2016-06-16 14:35 ` [PATCH v10 09/22] IB/hns: Add hca support Lijun Ou
2016-06-24 15:50   ` Leon Romanovsky
2016-06-16 14:35 ` [PATCH v10 10/22] IB/hns: Add process flow to init RoCE engine Lijun Ou
2016-06-16 14:35 ` [PATCH v10 11/22] IB/hns: Add IB device registration Lijun Ou
2016-06-16 14:35 ` [PATCH v10 12/22] IB/hns: Set mtu and gid support Lijun Ou
2016-06-16 14:35 ` [PATCH v10 13/22] IB/hns: Add interface of the protocol stack registration Lijun Ou
2016-06-16 14:35 ` [PATCH v10 14/22] IB/hns: Add operations support for IB device and port Lijun Ou
2016-06-16 14:35 ` [PATCH v10 15/22] IB/hns: Add PD operations support Lijun Ou
2016-06-16 14:35 ` [PATCH v10 16/22] IB/hns: Add ah " Lijun Ou
2016-06-16 14:35 ` [PATCH v10 17/22] IB/hns: Add QP " Lijun Ou
2016-06-16 14:35 ` [PATCH v10 18/22] IB/hns: Add CQ " Lijun Ou
2016-06-16 14:35 ` [PATCH v10 19/22] IB/hns: Add memory region " Lijun Ou
2016-06-16 14:35 ` [PATCH v10 20/22] IB/hns: Add operation for getting immutable port Lijun Ou
2016-06-16 14:35 ` [PATCH v10 21/22] IB/hns: Kconfig and Makefile for RoCE module Lijun Ou
2016-06-16 14:35 ` [PATCH v10 22/22] MAINTAINERS: Add maintainers for HiSilicon RoCE driver Lijun Ou
2016-06-24 15:55 ` [PATCH v10 00/22] Add " Leon Romanovsky

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=20160621112808.GA9762@leon.nu \
    --to=leon@kernel.org \
    --cc=charles.chenxin@huawei.com \
    --cc=davem@davemloft.net \
    --cc=dledford@redhat.com \
    --cc=gongyangming@huawei.com \
    --cc=haifeng.wei@huawei.com \
    --cc=hal.rosenstock@gmail.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jiri@mellanox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=oulijun@huawei.com \
    --cc=sean.hefty@intel.com \
    --cc=tangchaofei@huawei.com \
    --cc=xavier.huwei@huawei.com \
    --cc=xiaokun@huawei.com \
    --cc=yankejian@huawei.com \
    --cc=yisen.zhuang@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).