All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Minchan Kim <minchan@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: kbuild-all@lists.01.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	hyesoo.yu@samsung.com, david@redhat.com, mhocko@suse.com,
	surenb@google.com, pullip.cho@samsung.com, joaodias@google.com,
	hridya@google.com
Subject: Re: [PATCH v3 4/4] dma-buf: heaps: add chunk heap to dmabuf heaps
Date: Wed, 13 Jan 2021 14:25:28 +0800	[thread overview]
Message-ID: <202101131412.b5DqyOJ4-lkp@intel.com> (raw)
In-Reply-To: <20210113012143.1201105-5-minchan@kernel.org>

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

Hi Minchan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20210112]
[cannot apply to s390/features robh/for-next linux/master linus/master hnaz-linux-mm/master v5.11-rc3 v5.11-rc2 v5.11-rc1 v5.11-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Minchan-Kim/Chunk-Heap-Support-on-DMA-HEAP/20210113-092747
base:    df869cab4b3519d603806234861aa0a39df479c0
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/531ebc21d3c2584784d44714e3b4f1df46b80eee
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Minchan-Kim/Chunk-Heap-Support-on-DMA-HEAP/20210113-092747
        git checkout 531ebc21d3c2584784d44714e3b4f1df46b80eee
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/dma-buf/heaps/chunk_heap.c: In function 'chunk_heap_do_vmap':
>> drivers/dma-buf/heaps/chunk_heap.c:215:24: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
     215 |  struct page **pages = vmalloc(sizeof(struct page *) * npages);
         |                        ^~~~~~~
         |                        kvmalloc
   drivers/dma-buf/heaps/chunk_heap.c:215:24: warning: initialization of 'struct page **' from 'int' makes pointer from integer without a cast [-Wint-conversion]
>> drivers/dma-buf/heaps/chunk_heap.c:228:10: error: implicit declaration of function 'vmap'; did you mean 'kmap'? [-Werror=implicit-function-declaration]
     228 |  vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
         |          ^~~~
         |          kmap
>> drivers/dma-buf/heaps/chunk_heap.c:228:30: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MTE'?
     228 |  vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
         |                              ^~~~~~
         |                              VM_MTE
   drivers/dma-buf/heaps/chunk_heap.c:228:30: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/dma-buf/heaps/chunk_heap.c:229:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
     229 |  vfree(pages);
         |  ^~~~~
         |  kvfree
   drivers/dma-buf/heaps/chunk_heap.c: In function 'chunk_heap_vunmap':
>> drivers/dma-buf/heaps/chunk_heap.c:268:3: error: implicit declaration of function 'vunmap'; did you mean 'kunmap'? [-Werror=implicit-function-declaration]
     268 |   vunmap(buffer->vaddr);
         |   ^~~~~~
         |   kunmap
   cc1: some warnings being treated as errors


vim +215 drivers/dma-buf/heaps/chunk_heap.c

   210	
   211	static void *chunk_heap_do_vmap(struct chunk_heap_buffer *buffer)
   212	{
   213		struct sg_table *table = &buffer->sg_table;
   214		int npages = PAGE_ALIGN(buffer->len) / PAGE_SIZE;
 > 215		struct page **pages = vmalloc(sizeof(struct page *) * npages);
   216		struct page **tmp = pages;
   217		struct sg_page_iter piter;
   218		void *vaddr;
   219	
   220		if (!pages)
   221			return ERR_PTR(-ENOMEM);
   222	
   223		for_each_sgtable_page(table, &piter, 0) {
   224			WARN_ON(tmp - pages >= npages);
   225			*tmp++ = sg_page_iter_page(&piter);
   226		}
   227	
 > 228		vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
 > 229		vfree(pages);
   230	
   231		if (!vaddr)
   232			return ERR_PTR(-ENOMEM);
   233	
   234		return vaddr;
   235	}
   236	
   237	static int chunk_heap_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
   238	{
   239		struct chunk_heap_buffer *buffer = dmabuf->priv;
   240		void *vaddr;
   241	
   242		mutex_lock(&buffer->lock);
   243		if (buffer->vmap_cnt) {
   244			vaddr = buffer->vaddr;
   245		} else {
   246			vaddr = chunk_heap_do_vmap(buffer);
   247			if (IS_ERR(vaddr)) {
   248				mutex_unlock(&buffer->lock);
   249	
   250				return PTR_ERR(vaddr);
   251			}
   252			buffer->vaddr = vaddr;
   253		}
   254		buffer->vmap_cnt++;
   255		dma_buf_map_set_vaddr(map, vaddr);
   256	
   257		mutex_unlock(&buffer->lock);
   258	
   259		return 0;
   260	}
   261	
   262	static void chunk_heap_vunmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
   263	{
   264		struct chunk_heap_buffer *buffer = dmabuf->priv;
   265	
   266		mutex_lock(&buffer->lock);
   267		if (!--buffer->vmap_cnt) {
 > 268			vunmap(buffer->vaddr);
   269			buffer->vaddr = NULL;
   270		}
   271		mutex_unlock(&buffer->lock);
   272	}
   273	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 4/4] dma-buf: heaps: add chunk heap to dmabuf heaps
Date: Wed, 13 Jan 2021 14:25:28 +0800	[thread overview]
Message-ID: <202101131412.b5DqyOJ4-lkp@intel.com> (raw)
In-Reply-To: <20210113012143.1201105-5-minchan@kernel.org>

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

Hi Minchan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20210112]
[cannot apply to s390/features robh/for-next linux/master linus/master hnaz-linux-mm/master v5.11-rc3 v5.11-rc2 v5.11-rc1 v5.11-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Minchan-Kim/Chunk-Heap-Support-on-DMA-HEAP/20210113-092747
base:    df869cab4b3519d603806234861aa0a39df479c0
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/531ebc21d3c2584784d44714e3b4f1df46b80eee
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Minchan-Kim/Chunk-Heap-Support-on-DMA-HEAP/20210113-092747
        git checkout 531ebc21d3c2584784d44714e3b4f1df46b80eee
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/dma-buf/heaps/chunk_heap.c: In function 'chunk_heap_do_vmap':
>> drivers/dma-buf/heaps/chunk_heap.c:215:24: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
     215 |  struct page **pages = vmalloc(sizeof(struct page *) * npages);
         |                        ^~~~~~~
         |                        kvmalloc
   drivers/dma-buf/heaps/chunk_heap.c:215:24: warning: initialization of 'struct page **' from 'int' makes pointer from integer without a cast [-Wint-conversion]
>> drivers/dma-buf/heaps/chunk_heap.c:228:10: error: implicit declaration of function 'vmap'; did you mean 'kmap'? [-Werror=implicit-function-declaration]
     228 |  vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
         |          ^~~~
         |          kmap
>> drivers/dma-buf/heaps/chunk_heap.c:228:30: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MTE'?
     228 |  vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
         |                              ^~~~~~
         |                              VM_MTE
   drivers/dma-buf/heaps/chunk_heap.c:228:30: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/dma-buf/heaps/chunk_heap.c:229:2: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
     229 |  vfree(pages);
         |  ^~~~~
         |  kvfree
   drivers/dma-buf/heaps/chunk_heap.c: In function 'chunk_heap_vunmap':
>> drivers/dma-buf/heaps/chunk_heap.c:268:3: error: implicit declaration of function 'vunmap'; did you mean 'kunmap'? [-Werror=implicit-function-declaration]
     268 |   vunmap(buffer->vaddr);
         |   ^~~~~~
         |   kunmap
   cc1: some warnings being treated as errors


vim +215 drivers/dma-buf/heaps/chunk_heap.c

   210	
   211	static void *chunk_heap_do_vmap(struct chunk_heap_buffer *buffer)
   212	{
   213		struct sg_table *table = &buffer->sg_table;
   214		int npages = PAGE_ALIGN(buffer->len) / PAGE_SIZE;
 > 215		struct page **pages = vmalloc(sizeof(struct page *) * npages);
   216		struct page **tmp = pages;
   217		struct sg_page_iter piter;
   218		void *vaddr;
   219	
   220		if (!pages)
   221			return ERR_PTR(-ENOMEM);
   222	
   223		for_each_sgtable_page(table, &piter, 0) {
   224			WARN_ON(tmp - pages >= npages);
   225			*tmp++ = sg_page_iter_page(&piter);
   226		}
   227	
 > 228		vaddr = vmap(pages, npages, VM_MAP, PAGE_KERNEL);
 > 229		vfree(pages);
   230	
   231		if (!vaddr)
   232			return ERR_PTR(-ENOMEM);
   233	
   234		return vaddr;
   235	}
   236	
   237	static int chunk_heap_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
   238	{
   239		struct chunk_heap_buffer *buffer = dmabuf->priv;
   240		void *vaddr;
   241	
   242		mutex_lock(&buffer->lock);
   243		if (buffer->vmap_cnt) {
   244			vaddr = buffer->vaddr;
   245		} else {
   246			vaddr = chunk_heap_do_vmap(buffer);
   247			if (IS_ERR(vaddr)) {
   248				mutex_unlock(&buffer->lock);
   249	
   250				return PTR_ERR(vaddr);
   251			}
   252			buffer->vaddr = vaddr;
   253		}
   254		buffer->vmap_cnt++;
   255		dma_buf_map_set_vaddr(map, vaddr);
   256	
   257		mutex_unlock(&buffer->lock);
   258	
   259		return 0;
   260	}
   261	
   262	static void chunk_heap_vunmap(struct dma_buf *dmabuf, struct dma_buf_map *map)
   263	{
   264		struct chunk_heap_buffer *buffer = dmabuf->priv;
   265	
   266		mutex_lock(&buffer->lock);
   267		if (!--buffer->vmap_cnt) {
 > 268			vunmap(buffer->vaddr);
   269			buffer->vaddr = NULL;
   270		}
   271		mutex_unlock(&buffer->lock);
   272	}
   273	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

  parent reply	other threads:[~2021-01-13  6:27 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13  1:21 [PATCH v3 0/4] Chunk Heap Support on DMA-HEAP Minchan Kim
2021-01-13  1:21 ` [PATCH v3 1/4] mm: cma: introduce gfp flag in cma_alloc instead of no_warn Minchan Kim
2021-01-20 21:08   ` Suren Baghdasaryan
2021-01-13  1:21 ` [PATCH v3 2/4] mm: failfast mode with __GFP_NORETRY in alloc_contig_range Minchan Kim
2021-01-13  8:39   ` David Hildenbrand
2021-01-14 18:04     ` Minchan Kim
2021-01-13  1:21 ` [PATCH v3 3/4] dt-bindings: reserved-memory: Make DMA-BUF CMA heap DT-configurable Minchan Kim
2021-01-13 15:45   ` Rob Herring
2021-01-13 17:30     ` Hridya Valsaraju
2021-01-13 17:30       ` Hridya Valsaraju
2021-01-14 14:01   ` Rob Herring
2021-01-14 19:49     ` Hridya Valsaraju
2021-01-14 19:49       ` Hridya Valsaraju
2021-01-13  1:21 ` [PATCH v3 4/4] dma-buf: heaps: add chunk heap to dmabuf heaps Minchan Kim
2021-01-13  3:11   ` kernel test robot
2021-01-13  3:11     ` kernel test robot
2021-01-14  1:04     ` Minchan Kim
2021-01-14  1:04       ` Minchan Kim
2021-01-13  3:38   ` Randy Dunlap
2021-01-14  1:04     ` Minchan Kim
2021-01-13  6:25   ` kernel test robot [this message]
2021-01-13  6:25     ` kernel test robot
2021-01-19 15:51   ` Minchan Kim
2021-01-19 18:29   ` John Stultz
2021-01-19 18:29     ` John Stultz
2021-01-19 20:36     ` Minchan Kim
2021-01-19 20:36       ` Minchan Kim
2021-01-20  3:32       ` Hyesoo Yu
2021-01-20  3:32         ` Hyesoo Yu
2021-01-20 20:53         ` Suren Baghdasaryan
2021-01-20 20:53           ` Suren Baghdasaryan

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=202101131412.b5DqyOJ4-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@redhat.com \
    --cc=hridya@google.com \
    --cc=hyesoo.yu@samsung.com \
    --cc=joaodias@google.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=minchan@kernel.org \
    --cc=pullip.cho@samsung.com \
    --cc=surenb@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.