All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, dennis.dalessandro@intel.com,
	Bart Van Assche <Bart.VanAssche@wdc.com>,
	Doug Ledford <dledford@redhat.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
	Greg Thelen <gthelen@google.com>,
	Tarick Bedeir <tarick@google.com>
Subject: Re: [PATCH v3] IB: make INFINIBAND_ADDR_TRANS configurable
Date: Sun, 15 Apr 2018 02:47:12 +0800	[thread overview]
Message-ID: <201804150224.CGm7BtXw%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180414153642.28178-1-gthelen@google.com>

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

Hi Greg,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180413]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greg-Thelen/IB-make-INFINIBAND_ADDR_TRANS-configurable/20180414-234042
config: i386-randconfig-x005-201815 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/nvme/host/rdma.o: In function `nvme_rdma_stop_queue':
   drivers/nvme/host/rdma.c:554: undefined reference to `rdma_disconnect'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_free_queue':
   drivers/nvme/host/rdma.c:570: undefined reference to `rdma_destroy_id'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_alloc_queue':
   drivers/nvme/host/rdma.c:511: undefined reference to `__rdma_create_id'
   drivers/nvme/host/rdma.c:523: undefined reference to `rdma_resolve_addr'
   drivers/nvme/host/rdma.c:544: undefined reference to `rdma_destroy_id'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_create_qp':
   drivers/nvme/host/rdma.c:258: undefined reference to `rdma_create_qp'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_create_queue_ib':
   drivers/nvme/host/rdma.c:485: undefined reference to `rdma_destroy_qp'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_addr_resolved':
   drivers/nvme/host/rdma.c:1461: undefined reference to `rdma_resolve_route'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_route_resolved':
   drivers/nvme/host/rdma.c:1512: undefined reference to `rdma_connect'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_conn_rejected':
   drivers/nvme/host/rdma.c:1436: undefined reference to `rdma_reject_msg'
   drivers/nvme/host/rdma.c:1437: undefined reference to `rdma_consumer_reject_data'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_create_ch_ib':
>> drivers/infiniband/ulp/srp/ib_srp.c:585: undefined reference to `rdma_create_qp'
>> drivers/infiniband/ulp/srp/ib_srp.c:647: undefined reference to `rdma_destroy_qp'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_disconnect_target':
>> drivers/infiniband/ulp/srp/ib_srp.c:977: undefined reference to `rdma_disconnect'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_new_rdma_cm_id':
>> drivers/infiniband/ulp/srp/ib_srp.c:336: undefined reference to `__rdma_create_id'
>> drivers/infiniband/ulp/srp/ib_srp.c:345: undefined reference to `rdma_resolve_addr'
>> drivers/infiniband/ulp/srp/ib_srp.c:369: undefined reference to `rdma_destroy_id'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_rdma_lookup_path':
>> drivers/infiniband/ulp/srp/ib_srp.c:790: undefined reference to `rdma_resolve_route'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_send_req':
>> drivers/infiniband/ulp/srp/ib_srp.c:938: undefined reference to `rdma_connect'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_free_ch_ib':
   drivers/infiniband/ulp/srp/ib_srp.c:677: undefined reference to `rdma_destroy_id'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_rdma_cm_handler':
   drivers/infiniband/ulp/srp/ib_srp.c:2808: undefined reference to `rdma_disconnect'

vim +585 drivers/infiniband/ulp/srp/ib_srp.c

7dad6b2e Bart Van Assche   2014-10-21  542  
509c07bc Bart Van Assche   2014-10-30  543  static int srp_create_ch_ib(struct srp_rdma_ch *ch)
aef9ec39 Roland Dreier     2005-11-02  544  {
509c07bc Bart Van Assche   2014-10-30  545  	struct srp_target_port *target = ch->target;
62154b2e Bart Van Assche   2014-05-20  546  	struct srp_device *dev = target->srp_host->srp_dev;
aef9ec39 Roland Dreier     2005-11-02  547  	struct ib_qp_init_attr *init_attr;
73aa89ed Ishai Rabinovitz  2012-11-26  548  	struct ib_cq *recv_cq, *send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  549  	struct ib_qp *qp;
d1b4289e Bart Van Assche   2014-05-20  550  	struct ib_fmr_pool *fmr_pool = NULL;
5cfb1782 Bart Van Assche   2014-05-20  551  	struct srp_fr_pool *fr_pool = NULL;
509c5f33 Bart Van Assche   2016-05-12  552  	const int m = 1 + dev->use_fast_reg * target->mr_per_cmd * 2;
aef9ec39 Roland Dreier     2005-11-02  553  	int ret;
aef9ec39 Roland Dreier     2005-11-02  554  
aef9ec39 Roland Dreier     2005-11-02  555  	init_attr = kzalloc(sizeof *init_attr, GFP_KERNEL);
aef9ec39 Roland Dreier     2005-11-02  556  	if (!init_attr)
aef9ec39 Roland Dreier     2005-11-02  557  		return -ENOMEM;
aef9ec39 Roland Dreier     2005-11-02  558  
561392d4 Steve Wise        2016-02-17  559  	/* queue_size + 1 for ib_drain_rq() */
1dc7b1f1 Christoph Hellwig 2015-11-13  560  	recv_cq = ib_alloc_cq(dev->dev, ch, target->queue_size + 1,
1dc7b1f1 Christoph Hellwig 2015-11-13  561  				ch->comp_vector, IB_POLL_SOFTIRQ);
73aa89ed Ishai Rabinovitz  2012-11-26  562  	if (IS_ERR(recv_cq)) {
73aa89ed Ishai Rabinovitz  2012-11-26  563  		ret = PTR_ERR(recv_cq);
da9d2f07 Roland Dreier     2010-02-24  564  		goto err;
aef9ec39 Roland Dreier     2005-11-02  565  	}
aef9ec39 Roland Dreier     2005-11-02  566  
1dc7b1f1 Christoph Hellwig 2015-11-13  567  	send_cq = ib_alloc_cq(dev->dev, ch, m * target->queue_size,
1dc7b1f1 Christoph Hellwig 2015-11-13  568  				ch->comp_vector, IB_POLL_DIRECT);
73aa89ed Ishai Rabinovitz  2012-11-26  569  	if (IS_ERR(send_cq)) {
73aa89ed Ishai Rabinovitz  2012-11-26  570  		ret = PTR_ERR(send_cq);
da9d2f07 Roland Dreier     2010-02-24  571  		goto err_recv_cq;
9c03dc9f Bart Van Assche   2010-02-02  572  	}
9c03dc9f Bart Van Assche   2010-02-02  573  
aef9ec39 Roland Dreier     2005-11-02  574  	init_attr->event_handler       = srp_qp_event;
5cfb1782 Bart Van Assche   2014-05-20  575  	init_attr->cap.max_send_wr     = m * target->queue_size;
7dad6b2e Bart Van Assche   2014-10-21  576  	init_attr->cap.max_recv_wr     = target->queue_size + 1;
aef9ec39 Roland Dreier     2005-11-02  577  	init_attr->cap.max_recv_sge    = 1;
aef9ec39 Roland Dreier     2005-11-02  578  	init_attr->cap.max_send_sge    = 1;
5cfb1782 Bart Van Assche   2014-05-20  579  	init_attr->sq_sig_type         = IB_SIGNAL_REQ_WR;
aef9ec39 Roland Dreier     2005-11-02  580  	init_attr->qp_type             = IB_QPT_RC;
73aa89ed Ishai Rabinovitz  2012-11-26  581  	init_attr->send_cq             = send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  582  	init_attr->recv_cq             = recv_cq;
aef9ec39 Roland Dreier     2005-11-02  583  
19f31343 Bart Van Assche   2018-01-22  584  	if (target->using_rdma_cm) {
19f31343 Bart Van Assche   2018-01-22 @585  		ret = rdma_create_qp(ch->rdma_cm.cm_id, dev->pd, init_attr);
19f31343 Bart Van Assche   2018-01-22  586  		qp = ch->rdma_cm.cm_id->qp;
19f31343 Bart Van Assche   2018-01-22  587  	} else {
62154b2e Bart Van Assche   2014-05-20  588  		qp = ib_create_qp(dev->pd, init_attr);
19f31343 Bart Van Assche   2018-01-22  589  		if (!IS_ERR(qp)) {
19f31343 Bart Van Assche   2018-01-22  590  			ret = srp_init_ib_qp(target, qp);
19f31343 Bart Van Assche   2018-01-22  591  			if (ret)
19f31343 Bart Van Assche   2018-01-22  592  				ib_destroy_qp(qp);
19f31343 Bart Van Assche   2018-01-22  593  		} else {
73aa89ed Ishai Rabinovitz  2012-11-26  594  			ret = PTR_ERR(qp);
19f31343 Bart Van Assche   2018-01-22  595  		}
19f31343 Bart Van Assche   2018-01-22  596  	}
19f31343 Bart Van Assche   2018-01-22  597  	if (ret) {
19f31343 Bart Van Assche   2018-01-22  598  		pr_err("QP creation failed for dev %s: %d\n",
19f31343 Bart Van Assche   2018-01-22  599  		       dev_name(&dev->dev->dev), ret);
da9d2f07 Roland Dreier     2010-02-24  600  		goto err_send_cq;
aef9ec39 Roland Dreier     2005-11-02  601  	}
aef9ec39 Roland Dreier     2005-11-02  602  
002f1567 Bart Van Assche   2015-08-10  603  	if (dev->use_fast_reg) {
5cfb1782 Bart Van Assche   2014-05-20  604  		fr_pool = srp_alloc_fr_pool(target);
5cfb1782 Bart Van Assche   2014-05-20  605  		if (IS_ERR(fr_pool)) {
5cfb1782 Bart Van Assche   2014-05-20  606  			ret = PTR_ERR(fr_pool);
5cfb1782 Bart Van Assche   2014-05-20  607  			shost_printk(KERN_WARNING, target->scsi_host, PFX
5cfb1782 Bart Van Assche   2014-05-20  608  				     "FR pool allocation failed (%d)\n", ret);
5cfb1782 Bart Van Assche   2014-05-20  609  			goto err_qp;
5cfb1782 Bart Van Assche   2014-05-20  610  		}
002f1567 Bart Van Assche   2015-08-10  611  	} else if (dev->use_fmr) {
d1b4289e Bart Van Assche   2014-05-20  612  		fmr_pool = srp_alloc_fmr_pool(target);
d1b4289e Bart Van Assche   2014-05-20  613  		if (IS_ERR(fmr_pool)) {
d1b4289e Bart Van Assche   2014-05-20  614  			ret = PTR_ERR(fmr_pool);
d1b4289e Bart Van Assche   2014-05-20  615  			shost_printk(KERN_WARNING, target->scsi_host, PFX
d1b4289e Bart Van Assche   2014-05-20  616  				     "FMR pool allocation failed (%d)\n", ret);
d1b4289e Bart Van Assche   2014-05-20  617  			goto err_qp;
d1b4289e Bart Van Assche   2014-05-20  618  		}
d1b4289e Bart Van Assche   2014-05-20  619  	}
d1b4289e Bart Van Assche   2014-05-20  620  
509c07bc Bart Van Assche   2014-10-30  621  	if (ch->qp)
9566b054 Bart Van Assche   2017-10-11  622  		srp_destroy_qp(ch);
509c07bc Bart Van Assche   2014-10-30  623  	if (ch->recv_cq)
1dc7b1f1 Christoph Hellwig 2015-11-13  624  		ib_free_cq(ch->recv_cq);
509c07bc Bart Van Assche   2014-10-30  625  	if (ch->send_cq)
1dc7b1f1 Christoph Hellwig 2015-11-13  626  		ib_free_cq(ch->send_cq);
73aa89ed Ishai Rabinovitz  2012-11-26  627  
509c07bc Bart Van Assche   2014-10-30  628  	ch->qp = qp;
509c07bc Bart Van Assche   2014-10-30  629  	ch->recv_cq = recv_cq;
509c07bc Bart Van Assche   2014-10-30  630  	ch->send_cq = send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  631  
7fbc67df Sagi Grimberg     2015-08-24  632  	if (dev->use_fast_reg) {
7fbc67df Sagi Grimberg     2015-08-24  633  		if (ch->fr_pool)
7fbc67df Sagi Grimberg     2015-08-24  634  			srp_destroy_fr_pool(ch->fr_pool);
7fbc67df Sagi Grimberg     2015-08-24  635  		ch->fr_pool = fr_pool;
7fbc67df Sagi Grimberg     2015-08-24  636  	} else if (dev->use_fmr) {
7fbc67df Sagi Grimberg     2015-08-24  637  		if (ch->fmr_pool)
7fbc67df Sagi Grimberg     2015-08-24  638  			ib_destroy_fmr_pool(ch->fmr_pool);
7fbc67df Sagi Grimberg     2015-08-24  639  		ch->fmr_pool = fmr_pool;
7fbc67df Sagi Grimberg     2015-08-24  640  	}
7fbc67df Sagi Grimberg     2015-08-24  641  
da9d2f07 Roland Dreier     2010-02-24  642  	kfree(init_attr);
da9d2f07 Roland Dreier     2010-02-24  643  	return 0;
da9d2f07 Roland Dreier     2010-02-24  644  
da9d2f07 Roland Dreier     2010-02-24  645  err_qp:
19f31343 Bart Van Assche   2018-01-22  646  	if (target->using_rdma_cm)
19f31343 Bart Van Assche   2018-01-22 @647  		rdma_destroy_qp(ch->rdma_cm.cm_id);
19f31343 Bart Van Assche   2018-01-22  648  	else
95c2ef50 Israel Rukshin    2017-05-11  649  		ib_destroy_qp(qp);
da9d2f07 Roland Dreier     2010-02-24  650  
da9d2f07 Roland Dreier     2010-02-24  651  err_send_cq:
1dc7b1f1 Christoph Hellwig 2015-11-13  652  	ib_free_cq(send_cq);
da9d2f07 Roland Dreier     2010-02-24  653  
da9d2f07 Roland Dreier     2010-02-24  654  err_recv_cq:
1dc7b1f1 Christoph Hellwig 2015-11-13  655  	ib_free_cq(recv_cq);
aef9ec39 Roland Dreier     2005-11-02  656  
da9d2f07 Roland Dreier     2010-02-24  657  err:
aef9ec39 Roland Dreier     2005-11-02  658  	kfree(init_attr);
aef9ec39 Roland Dreier     2005-11-02  659  	return ret;
aef9ec39 Roland Dreier     2005-11-02  660  }
aef9ec39 Roland Dreier     2005-11-02  661  

:::::: The code at line 585 was first introduced by commit
:::::: 19f313438c7754e6cc2bceddeebeaa5132e2e0a1 IB/srp: Add RDMA/CM support

:::::: TO: Bart Van Assche <bart.vanassche@wdc.com>
:::::: CC: Doug Ledford <dledford@redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28716 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Greg Thelen <gthelen@google.com>
Cc: kbuild-all@01.org, dennis.dalessandro@intel.com,
	Bart Van Assche <Bart.VanAssche@wdc.com>,
	Doug Ledford <dledford@redhat.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
	Greg Thelen <gthelen@google.com>,
	Tarick Bedeir <tarick@google.com>
Subject: Re: [PATCH v3] IB: make INFINIBAND_ADDR_TRANS configurable
Date: Sun, 15 Apr 2018 02:47:12 +0800	[thread overview]
Message-ID: <201804150224.CGm7BtXw%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180414153642.28178-1-gthelen@google.com>

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

Hi Greg,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180413]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Greg-Thelen/IB-make-INFINIBAND_ADDR_TRANS-configurable/20180414-234042
config: i386-randconfig-x005-201815 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/nvme/host/rdma.o: In function `nvme_rdma_stop_queue':
   drivers/nvme/host/rdma.c:554: undefined reference to `rdma_disconnect'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_free_queue':
   drivers/nvme/host/rdma.c:570: undefined reference to `rdma_destroy_id'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_alloc_queue':
   drivers/nvme/host/rdma.c:511: undefined reference to `__rdma_create_id'
   drivers/nvme/host/rdma.c:523: undefined reference to `rdma_resolve_addr'
   drivers/nvme/host/rdma.c:544: undefined reference to `rdma_destroy_id'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_create_qp':
   drivers/nvme/host/rdma.c:258: undefined reference to `rdma_create_qp'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_create_queue_ib':
   drivers/nvme/host/rdma.c:485: undefined reference to `rdma_destroy_qp'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_addr_resolved':
   drivers/nvme/host/rdma.c:1461: undefined reference to `rdma_resolve_route'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_route_resolved':
   drivers/nvme/host/rdma.c:1512: undefined reference to `rdma_connect'
   drivers/nvme/host/rdma.o: In function `nvme_rdma_conn_rejected':
   drivers/nvme/host/rdma.c:1436: undefined reference to `rdma_reject_msg'
   drivers/nvme/host/rdma.c:1437: undefined reference to `rdma_consumer_reject_data'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_create_ch_ib':
>> drivers/infiniband/ulp/srp/ib_srp.c:585: undefined reference to `rdma_create_qp'
>> drivers/infiniband/ulp/srp/ib_srp.c:647: undefined reference to `rdma_destroy_qp'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_disconnect_target':
>> drivers/infiniband/ulp/srp/ib_srp.c:977: undefined reference to `rdma_disconnect'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_new_rdma_cm_id':
>> drivers/infiniband/ulp/srp/ib_srp.c:336: undefined reference to `__rdma_create_id'
>> drivers/infiniband/ulp/srp/ib_srp.c:345: undefined reference to `rdma_resolve_addr'
>> drivers/infiniband/ulp/srp/ib_srp.c:369: undefined reference to `rdma_destroy_id'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_rdma_lookup_path':
>> drivers/infiniband/ulp/srp/ib_srp.c:790: undefined reference to `rdma_resolve_route'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_send_req':
>> drivers/infiniband/ulp/srp/ib_srp.c:938: undefined reference to `rdma_connect'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_free_ch_ib':
   drivers/infiniband/ulp/srp/ib_srp.c:677: undefined reference to `rdma_destroy_id'
   drivers/infiniband/ulp/srp/ib_srp.o: In function `srp_rdma_cm_handler':
   drivers/infiniband/ulp/srp/ib_srp.c:2808: undefined reference to `rdma_disconnect'

vim +585 drivers/infiniband/ulp/srp/ib_srp.c

7dad6b2e Bart Van Assche   2014-10-21  542  
509c07bc Bart Van Assche   2014-10-30  543  static int srp_create_ch_ib(struct srp_rdma_ch *ch)
aef9ec39 Roland Dreier     2005-11-02  544  {
509c07bc Bart Van Assche   2014-10-30  545  	struct srp_target_port *target = ch->target;
62154b2e Bart Van Assche   2014-05-20  546  	struct srp_device *dev = target->srp_host->srp_dev;
aef9ec39 Roland Dreier     2005-11-02  547  	struct ib_qp_init_attr *init_attr;
73aa89ed Ishai Rabinovitz  2012-11-26  548  	struct ib_cq *recv_cq, *send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  549  	struct ib_qp *qp;
d1b4289e Bart Van Assche   2014-05-20  550  	struct ib_fmr_pool *fmr_pool = NULL;
5cfb1782 Bart Van Assche   2014-05-20  551  	struct srp_fr_pool *fr_pool = NULL;
509c5f33 Bart Van Assche   2016-05-12  552  	const int m = 1 + dev->use_fast_reg * target->mr_per_cmd * 2;
aef9ec39 Roland Dreier     2005-11-02  553  	int ret;
aef9ec39 Roland Dreier     2005-11-02  554  
aef9ec39 Roland Dreier     2005-11-02  555  	init_attr = kzalloc(sizeof *init_attr, GFP_KERNEL);
aef9ec39 Roland Dreier     2005-11-02  556  	if (!init_attr)
aef9ec39 Roland Dreier     2005-11-02  557  		return -ENOMEM;
aef9ec39 Roland Dreier     2005-11-02  558  
561392d4 Steve Wise        2016-02-17  559  	/* queue_size + 1 for ib_drain_rq() */
1dc7b1f1 Christoph Hellwig 2015-11-13  560  	recv_cq = ib_alloc_cq(dev->dev, ch, target->queue_size + 1,
1dc7b1f1 Christoph Hellwig 2015-11-13  561  				ch->comp_vector, IB_POLL_SOFTIRQ);
73aa89ed Ishai Rabinovitz  2012-11-26  562  	if (IS_ERR(recv_cq)) {
73aa89ed Ishai Rabinovitz  2012-11-26  563  		ret = PTR_ERR(recv_cq);
da9d2f07 Roland Dreier     2010-02-24  564  		goto err;
aef9ec39 Roland Dreier     2005-11-02  565  	}
aef9ec39 Roland Dreier     2005-11-02  566  
1dc7b1f1 Christoph Hellwig 2015-11-13  567  	send_cq = ib_alloc_cq(dev->dev, ch, m * target->queue_size,
1dc7b1f1 Christoph Hellwig 2015-11-13  568  				ch->comp_vector, IB_POLL_DIRECT);
73aa89ed Ishai Rabinovitz  2012-11-26  569  	if (IS_ERR(send_cq)) {
73aa89ed Ishai Rabinovitz  2012-11-26  570  		ret = PTR_ERR(send_cq);
da9d2f07 Roland Dreier     2010-02-24  571  		goto err_recv_cq;
9c03dc9f Bart Van Assche   2010-02-02  572  	}
9c03dc9f Bart Van Assche   2010-02-02  573  
aef9ec39 Roland Dreier     2005-11-02  574  	init_attr->event_handler       = srp_qp_event;
5cfb1782 Bart Van Assche   2014-05-20  575  	init_attr->cap.max_send_wr     = m * target->queue_size;
7dad6b2e Bart Van Assche   2014-10-21  576  	init_attr->cap.max_recv_wr     = target->queue_size + 1;
aef9ec39 Roland Dreier     2005-11-02  577  	init_attr->cap.max_recv_sge    = 1;
aef9ec39 Roland Dreier     2005-11-02  578  	init_attr->cap.max_send_sge    = 1;
5cfb1782 Bart Van Assche   2014-05-20  579  	init_attr->sq_sig_type         = IB_SIGNAL_REQ_WR;
aef9ec39 Roland Dreier     2005-11-02  580  	init_attr->qp_type             = IB_QPT_RC;
73aa89ed Ishai Rabinovitz  2012-11-26  581  	init_attr->send_cq             = send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  582  	init_attr->recv_cq             = recv_cq;
aef9ec39 Roland Dreier     2005-11-02  583  
19f31343 Bart Van Assche   2018-01-22  584  	if (target->using_rdma_cm) {
19f31343 Bart Van Assche   2018-01-22 @585  		ret = rdma_create_qp(ch->rdma_cm.cm_id, dev->pd, init_attr);
19f31343 Bart Van Assche   2018-01-22  586  		qp = ch->rdma_cm.cm_id->qp;
19f31343 Bart Van Assche   2018-01-22  587  	} else {
62154b2e Bart Van Assche   2014-05-20  588  		qp = ib_create_qp(dev->pd, init_attr);
19f31343 Bart Van Assche   2018-01-22  589  		if (!IS_ERR(qp)) {
19f31343 Bart Van Assche   2018-01-22  590  			ret = srp_init_ib_qp(target, qp);
19f31343 Bart Van Assche   2018-01-22  591  			if (ret)
19f31343 Bart Van Assche   2018-01-22  592  				ib_destroy_qp(qp);
19f31343 Bart Van Assche   2018-01-22  593  		} else {
73aa89ed Ishai Rabinovitz  2012-11-26  594  			ret = PTR_ERR(qp);
19f31343 Bart Van Assche   2018-01-22  595  		}
19f31343 Bart Van Assche   2018-01-22  596  	}
19f31343 Bart Van Assche   2018-01-22  597  	if (ret) {
19f31343 Bart Van Assche   2018-01-22  598  		pr_err("QP creation failed for dev %s: %d\n",
19f31343 Bart Van Assche   2018-01-22  599  		       dev_name(&dev->dev->dev), ret);
da9d2f07 Roland Dreier     2010-02-24  600  		goto err_send_cq;
aef9ec39 Roland Dreier     2005-11-02  601  	}
aef9ec39 Roland Dreier     2005-11-02  602  
002f1567 Bart Van Assche   2015-08-10  603  	if (dev->use_fast_reg) {
5cfb1782 Bart Van Assche   2014-05-20  604  		fr_pool = srp_alloc_fr_pool(target);
5cfb1782 Bart Van Assche   2014-05-20  605  		if (IS_ERR(fr_pool)) {
5cfb1782 Bart Van Assche   2014-05-20  606  			ret = PTR_ERR(fr_pool);
5cfb1782 Bart Van Assche   2014-05-20  607  			shost_printk(KERN_WARNING, target->scsi_host, PFX
5cfb1782 Bart Van Assche   2014-05-20  608  				     "FR pool allocation failed (%d)\n", ret);
5cfb1782 Bart Van Assche   2014-05-20  609  			goto err_qp;
5cfb1782 Bart Van Assche   2014-05-20  610  		}
002f1567 Bart Van Assche   2015-08-10  611  	} else if (dev->use_fmr) {
d1b4289e Bart Van Assche   2014-05-20  612  		fmr_pool = srp_alloc_fmr_pool(target);
d1b4289e Bart Van Assche   2014-05-20  613  		if (IS_ERR(fmr_pool)) {
d1b4289e Bart Van Assche   2014-05-20  614  			ret = PTR_ERR(fmr_pool);
d1b4289e Bart Van Assche   2014-05-20  615  			shost_printk(KERN_WARNING, target->scsi_host, PFX
d1b4289e Bart Van Assche   2014-05-20  616  				     "FMR pool allocation failed (%d)\n", ret);
d1b4289e Bart Van Assche   2014-05-20  617  			goto err_qp;
d1b4289e Bart Van Assche   2014-05-20  618  		}
d1b4289e Bart Van Assche   2014-05-20  619  	}
d1b4289e Bart Van Assche   2014-05-20  620  
509c07bc Bart Van Assche   2014-10-30  621  	if (ch->qp)
9566b054 Bart Van Assche   2017-10-11  622  		srp_destroy_qp(ch);
509c07bc Bart Van Assche   2014-10-30  623  	if (ch->recv_cq)
1dc7b1f1 Christoph Hellwig 2015-11-13  624  		ib_free_cq(ch->recv_cq);
509c07bc Bart Van Assche   2014-10-30  625  	if (ch->send_cq)
1dc7b1f1 Christoph Hellwig 2015-11-13  626  		ib_free_cq(ch->send_cq);
73aa89ed Ishai Rabinovitz  2012-11-26  627  
509c07bc Bart Van Assche   2014-10-30  628  	ch->qp = qp;
509c07bc Bart Van Assche   2014-10-30  629  	ch->recv_cq = recv_cq;
509c07bc Bart Van Assche   2014-10-30  630  	ch->send_cq = send_cq;
73aa89ed Ishai Rabinovitz  2012-11-26  631  
7fbc67df Sagi Grimberg     2015-08-24  632  	if (dev->use_fast_reg) {
7fbc67df Sagi Grimberg     2015-08-24  633  		if (ch->fr_pool)
7fbc67df Sagi Grimberg     2015-08-24  634  			srp_destroy_fr_pool(ch->fr_pool);
7fbc67df Sagi Grimberg     2015-08-24  635  		ch->fr_pool = fr_pool;
7fbc67df Sagi Grimberg     2015-08-24  636  	} else if (dev->use_fmr) {
7fbc67df Sagi Grimberg     2015-08-24  637  		if (ch->fmr_pool)
7fbc67df Sagi Grimberg     2015-08-24  638  			ib_destroy_fmr_pool(ch->fmr_pool);
7fbc67df Sagi Grimberg     2015-08-24  639  		ch->fmr_pool = fmr_pool;
7fbc67df Sagi Grimberg     2015-08-24  640  	}
7fbc67df Sagi Grimberg     2015-08-24  641  
da9d2f07 Roland Dreier     2010-02-24  642  	kfree(init_attr);
da9d2f07 Roland Dreier     2010-02-24  643  	return 0;
da9d2f07 Roland Dreier     2010-02-24  644  
da9d2f07 Roland Dreier     2010-02-24  645  err_qp:
19f31343 Bart Van Assche   2018-01-22  646  	if (target->using_rdma_cm)
19f31343 Bart Van Assche   2018-01-22 @647  		rdma_destroy_qp(ch->rdma_cm.cm_id);
19f31343 Bart Van Assche   2018-01-22  648  	else
95c2ef50 Israel Rukshin    2017-05-11  649  		ib_destroy_qp(qp);
da9d2f07 Roland Dreier     2010-02-24  650  
da9d2f07 Roland Dreier     2010-02-24  651  err_send_cq:
1dc7b1f1 Christoph Hellwig 2015-11-13  652  	ib_free_cq(send_cq);
da9d2f07 Roland Dreier     2010-02-24  653  
da9d2f07 Roland Dreier     2010-02-24  654  err_recv_cq:
1dc7b1f1 Christoph Hellwig 2015-11-13  655  	ib_free_cq(recv_cq);
aef9ec39 Roland Dreier     2005-11-02  656  
da9d2f07 Roland Dreier     2010-02-24  657  err:
aef9ec39 Roland Dreier     2005-11-02  658  	kfree(init_attr);
aef9ec39 Roland Dreier     2005-11-02  659  	return ret;
aef9ec39 Roland Dreier     2005-11-02  660  }
aef9ec39 Roland Dreier     2005-11-02  661  

:::::: The code at line 585 was first introduced by commit
:::::: 19f313438c7754e6cc2bceddeebeaa5132e2e0a1 IB/srp: Add RDMA/CM support

:::::: TO: Bart Van Assche <bart.vanassche@wdc.com>
:::::: CC: Doug Ledford <dledford@redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28716 bytes --]

  parent reply	other threads:[~2018-04-14 18:47 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-13  7:06 [PATCH] IB: make INFINIBAND_ADDR_TRANS configurable Greg Thelen
2018-04-13 12:47 ` Bart Van Assche
2018-04-13 17:27   ` [PATCH v2] " Greg Thelen
2018-04-14 15:13     ` Dennis Dalessandro
2018-04-14 15:34       ` Greg Thelen
2018-04-14 15:36         ` [PATCH v3] " Greg Thelen
2018-04-14 18:22           ` kbuild test robot
2018-04-14 18:22             ` kbuild test robot
2018-04-14 18:47           ` kbuild test robot [this message]
2018-04-14 18:47             ` kbuild test robot
2018-04-14 16:05         ` [PATCH v2] " Joe Perches
2018-04-16  9:03   ` [PATCH] " oulijun
2018-04-16  9:03     ` oulijun
2018-04-15 12:06 ` Christoph Hellwig
2018-04-16  4:02   ` Greg Thelen
2018-04-16  8:56     ` Christoph Hellwig
2018-04-16 14:51       ` Jason Gunthorpe

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=201804150224.CGm7BtXw%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=Bart.VanAssche@wdc.com \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=gthelen@google.com \
    --cc=jgg@ziepe.ca \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=tarick@google.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.