Linux PCI Non-Transparent Bridge framework and drivers
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Serge Semin <fancer.lancer@gmail.com>
Cc: kbuild-all@01.org, jdmason@kudzu.us, dave.jiang@intel.com,
	Allen.Hubbe@emc.com, Shyam-sundar.S-k@amd.com,
	Xiangliang.Yu@amd.com, gary.hook@amd.com,
	Sergey.Semin@t-platforms.ru, linux-ntb@googlegroups.com,
	linux-kernel@vger.kernel.org,
	Serge Semin <fancer.lancer@gmail.com>
Subject: Re: [PATCH v2 06/15] NTB: ntb_perf: Add full multi-port NTB API support
Date: Wed, 6 Dec 2017 09:17:37 +0800	[thread overview]
Message-ID: <201712060819.S40pUs16%fengguang.wu@intel.com> (raw)
In-Reply-To: <20171203191736.3399-7-fancer.lancer@gmail.com>

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

Hi Serge,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.15-rc2]
[cannot apply to ntb/ntb-next next-20171205]
[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/Serge-Semin/NTB-Add-full-multi-port-API-support-to-the-test-drivers/20171206-081300
config: x86_64-randconfig-x004-201749 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   drivers/ntb/test/ntb_perf.c: In function 'perf_thread_work':
>> drivers/ntb/test/ntb_perf.c:821:22: warning: 'try' may be used uninitialized in this function [-Wmaybe-uninitialized]
     } while (!tx && (try++ < DMA_TRIES));
                      ~~~^~
   drivers/ntb/test/ntb_perf.c:782:6: note: 'try' was declared here
     int try, ret = 0;
         ^~~

vim +/try +821 drivers/ntb/test/ntb_perf.c

   775	
   776	static int perf_copy_chunk(struct perf_thread *pthr,
   777				   void __iomem *dst, void *src, size_t len)
   778	{
   779		struct dma_async_tx_descriptor *tx;
   780		struct dmaengine_unmap_data *unmap;
   781		struct device *dma_dev;
   782		int try, ret = 0;
   783	
   784		if (!use_dma) {
   785			memcpy_toio(dst, src, len);
   786			goto ret_check_tsync;
   787		}
   788	
   789		dma_dev = pthr->dma_chan->device->dev;
   790	
   791		if (!is_dma_copy_aligned(pthr->dma_chan->device, offset_in_page(src),
   792					 offset_in_page(dst), len))
   793			return -EIO;
   794	
   795		unmap = dmaengine_get_unmap_data(dma_dev, 2, GFP_NOWAIT);
   796		if (!unmap)
   797			return -ENOMEM;
   798	
   799		unmap->len = len;
   800		unmap->addr[0] = dma_map_page(dma_dev, virt_to_page(src),
   801			offset_in_page(src), len, DMA_TO_DEVICE);
   802		if (dma_mapping_error(dma_dev, unmap->addr[0])) {
   803			ret = -EIO;
   804			goto err_free_resource;
   805		}
   806		unmap->to_cnt = 1;
   807	
   808		unmap->addr[1] = dma_map_page(dma_dev, virt_to_page(dst),
   809			offset_in_page(dst), len, DMA_FROM_DEVICE);
   810		if (dma_mapping_error(dma_dev, unmap->addr[1])) {
   811			ret = -EIO;
   812			goto err_free_resource;
   813		}
   814		unmap->from_cnt = 1;
   815	
   816		do {
   817			tx = dmaengine_prep_dma_memcpy(pthr->dma_chan, unmap->addr[1],
   818				unmap->addr[0], len, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
   819			if (!tx)
   820				msleep(DMA_MDELAY);
 > 821		} while (!tx && (try++ < DMA_TRIES));
   822	
   823		if (!tx) {
   824			ret = -EIO;
   825			goto err_free_resource;
   826		}
   827	
   828		tx->callback = perf_dma_copy_callback;
   829		tx->callback_param = pthr;
   830		dma_set_unmap(tx, unmap);
   831	
   832		if (dma_submit_error(dmaengine_submit(tx))) {
   833			dmaengine_unmap_put(unmap);
   834			goto err_free_resource;
   835		}
   836	
   837		dmaengine_unmap_put(unmap);
   838	
   839		atomic_inc(&pthr->dma_sync);
   840		dma_async_issue_pending(pthr->dma_chan);
   841	
   842	ret_check_tsync:
   843		return likely(atomic_read(&pthr->perf->tsync) > 0) ? 0 : -EINTR;
   844	
   845	err_free_resource:
   846		dmaengine_unmap_put(unmap);
   847	
   848		return ret;
   849	}
   850	

---
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: 25952 bytes --]

  parent reply	other threads:[~2017-12-06  1:18 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-03 19:17 [PATCH v2 00/15] NTB: Add full multi-port API support to the test drivers Serge Semin
2017-12-03 19:17 ` [PATCH v2 01/15] NTB: Rename NTB messaging API methods Serge Semin
2017-12-05 16:49   ` Jon Mason
2017-12-05 17:31     ` Serge Semin
2017-12-05 18:07       ` Jon Mason
2017-12-05 20:54         ` Serge Semin
2017-12-05 21:48           ` Logan Gunthorpe
2017-12-05 19:11       ` Logan Gunthorpe
2017-12-03 19:17 ` [PATCH v2 02/15] NTB: Set dma mask and dma coherent mask to NTB devices Serge Semin
2017-12-05 16:51   ` Jon Mason
2017-12-05 17:21     ` Logan Gunthorpe
2017-12-05 17:48     ` Serge Semin
2017-12-03 19:17 ` [PATCH v2 03/15] NTB: Fix UB/bug in ntb_mw_get_align() Serge Semin
2017-12-05 16:52   ` Jon Mason
2017-12-05 17:01     ` Logan Gunthorpe
2017-12-05 17:08       ` Jon Mason
2017-12-05 17:56     ` Serge Semin
2017-12-05 18:08       ` Jon Mason
2017-12-05 20:57         ` Serge Semin
2017-12-03 19:17 ` [PATCH v2 04/15] NTB: ntb_pp: Add full multi-port NTB API support Serge Semin
2017-12-05 17:02   ` Jon Mason
2017-12-05 19:53     ` Serge Semin
2017-12-05 21:50       ` Logan Gunthorpe
2017-12-03 19:17 ` [PATCH v2 05/15] NTB: ntb_tool: " Serge Semin
2017-12-05 18:03   ` Jon Mason
2017-12-05 19:16     ` Logan Gunthorpe
2017-12-05 20:01     ` Serge Semin
2017-12-03 19:17 ` [PATCH v2 06/15] NTB: ntb_perf: " Serge Semin
2017-12-05 18:21   ` Jon Mason
2017-12-05 20:29     ` Serge Semin
2017-12-06  1:17   ` kbuild test robot [this message]
2017-12-03 19:17 ` [PATCH v2 07/15] NTB: ntb_test: Safely use paths with whitespace Serge Semin
2017-12-05 18:24   ` Jon Mason
2017-12-03 19:17 ` [PATCH v2 08/15] NTB: ntb_test: Add ntb_tool port tests Serge Semin
2017-12-03 19:17 ` [PATCH v2 09/15] NTB: ntb_test: Update ntb_tool link tests Serge Semin
2017-12-05 18:26   ` Jon Mason
2017-12-05 20:37     ` Serge Semin
2017-12-03 19:17 ` [PATCH v2 10/15] NTB: ntb_test: Update ntb_tool DB tests Serge Semin
2017-12-05 18:27   ` Jon Mason
2017-12-05 19:38     ` Logan Gunthorpe
2017-12-05 20:42     ` Serge Semin
2017-12-03 19:17 ` [PATCH v2 11/15] NTB: ntb_test: Update ntb_tool Scratchpad tests Serge Semin
2017-12-03 19:17 ` [PATCH v2 12/15] NTB: ntb_test: Add ntb_tool Message tests Serge Semin
2017-12-03 19:17 ` [PATCH v2 13/15] NTB: ntb_test: Update ntb_tool MW tests Serge Semin
2017-12-03 19:17 ` [PATCH v2 14/15] NTB: ntb_test: Update ntb_perf tests Serge Semin
2017-12-03 19:17 ` [PATCH v2 15/15] NTB: ntb_hw_idt: Set NTB_TOPO_SWITCH topology Serge Semin
2017-12-04  4:54 ` [PATCH v2 00/15] NTB: Add full multi-port API support to the test drivers Logan Gunthorpe
2017-12-04  6:12   ` Serge Semin
2017-12-04 20:10 ` Allen Hubbe
2017-12-05 15:54   ` Serge Semin
2017-12-05 16:57     ` Logan Gunthorpe
2017-12-05 22:39 ` [PATCH v3 " Serge Semin
2017-12-05 22:39   ` [PATCH v3 01/15] NTB: Rename NTB messaging API methods Serge Semin
2017-12-05 23:36     ` Logan Gunthorpe
2017-12-05 22:39   ` [PATCH v3 02/15] NTB: Set dma mask and dma coherent mask to NTB devices Serge Semin
2017-12-05 23:39     ` Logan Gunthorpe
2017-12-05 22:39   ` [PATCH v3 03/15] NTB: Fix UB/bug in ntb_mw_get_align() Serge Semin
2017-12-05 23:38     ` Logan Gunthorpe
2017-12-05 22:39   ` [PATCH v3 04/15] NTB: ntb_pp: Add full multi-port NTB API support Serge Semin
2017-12-05 22:39   ` [PATCH v3 05/15] NTB: ntb_tool: " Serge Semin
2017-12-05 22:39   ` [PATCH v3 06/15] NTB: ntb_perf: " Serge Semin
2017-12-05 22:39   ` [PATCH v3 07/15] NTB: ntb_test: Safely use paths with whitespace Serge Semin
2017-12-05 22:39   ` [PATCH v3 08/15] NTB: ntb_test: Add ntb_tool port tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 09/15] NTB: ntb_test: Update ntb_tool link tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 10/15] NTB: ntb_test: Update ntb_tool DB tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 11/15] NTB: ntb_test: Update ntb_tool Scratchpad tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 12/15] NTB: ntb_test: Add ntb_tool Message tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 13/15] NTB: ntb_test: Update ntb_tool MW tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 14/15] NTB: ntb_test: Update ntb_perf tests Serge Semin
2017-12-05 22:39   ` [PATCH v3 15/15] NTB: ntb_hw_idt: Set NTB_TOPO_SWITCH topology Serge Semin
2017-12-05 23:36   ` [PATCH v3 00/15] NTB: Add full multi-port API support to the test drivers Logan Gunthorpe
2017-12-06 14:31   ` [PATCH v4 " Serge Semin
2017-12-06 14:31     ` [PATCH v4 01/15] NTB: Rename NTB messaging API methods Serge Semin
2017-12-06 14:31     ` [PATCH v4 02/15] NTB: Set dma mask and dma coherent mask to NTB devices Serge Semin
2017-12-06 14:31     ` [PATCH v4 03/15] NTB: Fix UB/bug in ntb_mw_get_align() Serge Semin
2017-12-06 14:31     ` [PATCH v4 04/15] NTB: ntb_pp: Add full multi-port NTB API support Serge Semin
2017-12-06 14:31     ` [PATCH v4 05/15] NTB: ntb_tool: " Serge Semin
2017-12-06 14:31     ` [PATCH v4 06/15] NTB: ntb_perf: " Serge Semin
2017-12-06 14:31     ` [PATCH v4 07/15] NTB: ntb_test: Safely use paths with whitespace Serge Semin
2017-12-06 14:31     ` [PATCH v4 08/15] NTB: ntb_test: Add ntb_tool port tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 09/15] NTB: ntb_test: Update ntb_tool link tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 10/15] NTB: ntb_test: Update ntb_tool DB tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 11/15] NTB: ntb_test: Update ntb_tool Scratchpad tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 12/15] NTB: ntb_test: Add ntb_tool Message tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 13/15] NTB: ntb_test: Update ntb_tool MW tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 14/15] NTB: ntb_test: Update ntb_perf tests Serge Semin
2017-12-06 14:32     ` [PATCH v4 15/15] NTB: ntb_hw_idt: Set NTB_TOPO_SWITCH topology Serge Semin
2018-01-18 22:28     ` [PATCH v4 00/15] NTB: Add full multi-port API support to the test drivers Jon Mason

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=201712060819.S40pUs16%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=Allen.Hubbe@emc.com \
    --cc=Sergey.Semin@t-platforms.ru \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=Xiangliang.Yu@amd.com \
    --cc=dave.jiang@intel.com \
    --cc=fancer.lancer@gmail.com \
    --cc=gary.hook@amd.com \
    --cc=jdmason@kudzu.us \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-ntb@googlegroups.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