lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.61.0612031658160.25425@yvahk01.tjqt.qr>
Date:	Sun, 3 Dec 2006 17:03:35 +0100 (MET)
From:	Jan Engelhardt <jengelh@...ux01.gwdg.de>
To:	Steve Wise <swise@...ngridcomputing.com>
cc:	rdreier@...co.com, netdev@...r.kernel.org,
	openib-general@...nib.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH  v2 02/13] Device Discovery and ULLD Linkage

Hi,



Some questions,suggestions,:

>+cxgb3_cpl_handler_func t3c_handlers[NUM_CPL_CMDS];

Can it be static'ified? (I suppose not.)

>+struct cxgb3_client t3c_client = {
>+	.name = "iw_cxgb3",
>+	.add = open_rnic_dev,
>+	.remove = close_rnic_dev,
>+	.handlers = t3c_handlers,
>+	.redirect = iwch_ep_redirect
>+};

Can it be const'ified?

>+static void rnic_init(struct iwch_dev *rnicp)
>+{
>+	PDBG("%s iwch_dev %p\n", __FUNCTION__,  rnicp);
>+	idr_init(&rnicp->cqidr);
>+	idr_init(&rnicp->qpidr);
>+	idr_init(&rnicp->mmidr);
>+	spin_lock_init(&rnicp->lock);
>+
>+	rnicp->attr.vendor_id = 0x168;
>+	rnicp->attr.vendor_part_id = 7;

Sugg.:

   typeof(rnicp->attr) *a = &rnicp->attr; // replace typeof with proper thing
   a->vendor_id = 0x168;
   a->vendor_part_id = 7;

shortens the lines a bit.

>+	rnicp->attr.max_qps = T3_MAX_NUM_QP - 32;
>+	rnicp->attr.max_wrs = (1UL << 24) - 1;
>+	rnicp->attr.max_sge_per_wr = T3_MAX_SGE;
>+	rnicp->attr.max_sge_per_rdma_write_wr = T3_MAX_SGE;
>+	rnicp->attr.max_cqs = T3_MAX_NUM_CQ - 1;
>+	rnicp->attr.max_cqes_per_cq = (1UL << 24) - 1;
>+	rnicp->attr.max_mem_regs = cxio_num_stags(&rnicp->rdev);
>+	rnicp->attr.max_phys_buf_entries = T3_MAX_PBL_SIZE;
>+	rnicp->attr.max_pds = T3_MAX_NUM_PD - 1;
>+	rnicp->attr.mem_pgsizes_bitmask = 0x7FFF;	/* 4KB-128MB */
>+	rnicp->attr.can_resize_wq = 0;
>+	rnicp->attr.max_rdma_reads_per_qp = 8;
>+	rnicp->attr.max_rdma_read_resources =
>+	    rnicp->attr.max_rdma_reads_per_qp * rnicp->attr.max_qps;
>+	rnicp->attr.max_rdma_read_qp_depth = 8;	/* IRD */
>+	rnicp->attr.max_rdma_read_depth =
>+	    rnicp->attr.max_rdma_read_qp_depth * rnicp->attr.max_qps;
>+	rnicp->attr.rq_overflow_handled = 0;
>+	rnicp->attr.can_modify_ird = 0;
>+	rnicp->attr.can_modify_ord = 0;
>+	rnicp->attr.max_mem_windows = rnicp->attr.max_mem_regs - 1;
>+	rnicp->attr.stag0_value = 1;
>+	rnicp->attr.zbva_support = 1;
>+	rnicp->attr.local_invalidate_fence = 1;
>+	rnicp->attr.cq_overflow_detection = 1;
>+	return;
>+}
>+
>--- /dev/null
>+++ b/drivers/infiniband/hw/cxgb3/iwch.h
>+static inline int t3b_device(struct iwch_dev *rhp)
>+{
>+	return (rhp->rdev.t3cdev_p->type == T3B);
>+}
>+
>+static inline int t3a_device(struct iwch_dev *rhp)
>+{
>+	return (rhp->rdev.t3cdev_p->type == T3A);
>+}

These two can be constified for sure: static inline int t3a_device(const 
struct iwch_dev *rhp)

>+
>+static inline struct iwch_cq *get_chp(struct iwch_dev *rhp, u32 cqid)
>+{
>+	return idr_find(&rhp->cqidr, cqid);
>+}
>+
>+static inline struct iwch_qp *get_qhp(struct iwch_dev *rhp, u32 qpid)
>+{
>+	return idr_find(&rhp->qpidr, qpid);
>+}
>+
>+static inline struct iwch_mr *get_mhp(struct iwch_dev *rhp, u32 mmid)
>+{
>+	return idr_find(&rhp->mmidr, mmid);
>+}

Here I am not sure.




	-`J'
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ