From: Alistair Popple <apopple@nvidia.com>
To: kernel test robot <lkp@intel.com>
Cc: linux-mm@kvack.org, nouveau@lists.freedesktop.org,
bskeggs@redhat.com, akpm@linux-foundation.org,
kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm-ppc@vger.kernel.org, dri-devel@lists.freedesktop.org,
jhubbard@nvidia.com, rcampbell@nvidia.com
Subject: Re: [PATCH v2 1/4] hmm: Device exclusive memory access
Date: Fri, 19 Feb 2021 04:29:38 +0000 [thread overview]
Message-ID: <1921856.ipnSDt8Uia@nvdebian> (raw)
In-Reply-To: <202102191104.8PwQ82Oi-lkp@intel.com>
Apologies for the noise, looks like I don't have a CONFIG_DEVICE_PRIVATE=n
build in my tests and missed creating definitions for the new static inline
functions for that configuration.
I'll wait for some feedback on the overall approach and fix this in a v3.
- Alistair
On Friday, 19 February 2021 3:04:07 PM AEDT kernel test robot wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Alistair,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kselftest/next]
> [also build test ERROR on linus/master v5.11 next-20210218]
> [cannot apply to hnaz-linux-mm/master]
> [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/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210219-100858
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
> config: mips-randconfig-r036-20210218 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
> 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
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> # https://github.com/0day-ci/linux/commit/
bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alistair-Popple/Add-support-for-
SVM-atomics-in-Nouveau/20210219-100858
> git checkout bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> >> fs/proc/task_mmu.c:521:12: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> else if (is_device_exclusive_entry(swpent))
> ^
> fs/proc/task_mmu.c:521:12: note: did you mean 'is_device_private_entry'?
> include/linux/swapops.h:176:20: note: 'is_device_private_entry' declared
here
> static inline bool is_device_private_entry(swp_entry_t entry)
> ^
> >> fs/proc/task_mmu.c:522:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(swpent);
> ^
> fs/proc/task_mmu.c:522:11: note: did you mean
'device_private_entry_to_page'?
> include/linux/swapops.h:191:28: note: 'device_private_entry_to_page'
declared here
> static inline struct page *device_private_entry_to_page(swp_entry_t
entry)
> ^
> >> fs/proc/task_mmu.c:522:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(swpent);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/proc/task_mmu.c:1395:7: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> if (is_device_exclusive_entry(entry))
> ^
> fs/proc/task_mmu.c:1396:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(entry);
> ^
> fs/proc/task_mmu.c:1396:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(entry);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings and 4 errors generated.
>
>
> vim +/is_device_exclusive_entry +521 fs/proc/task_mmu.c
>
> 490
> 491 static void smaps_pte_entry(pte_t *pte, unsigned long addr,
> 492 struct mm_walk *walk)
> 493 {
> 494 struct mem_size_stats *mss = walk->private;
> 495 struct vm_area_struct *vma = walk->vma;
> 496 bool locked = !!(vma->vm_flags & VM_LOCKED);
> 497 struct page *page = NULL;
> 498
> 499 if (pte_present(*pte)) {
> 500 page = vm_normal_page(vma, addr, *pte);
> 501 } else if (is_swap_pte(*pte)) {
> 502 swp_entry_t swpent = pte_to_swp_entry(*pte);
> 503
> 504 if (!non_swap_entry(swpent)) {
> 505 int mapcount;
> 506
> 507 mss->swap += PAGE_SIZE;
> 508 mapcount = swp_swapcount(swpent);
> 509 if (mapcount >= 2) {
> 510 u64 pss_delta = (u64)PAGE_SIZE <<
PSS_SHIFT;
> 511
> 512 do_div(pss_delta, mapcount);
> 513 mss->swap_pss += pss_delta;
> 514 } else {
> 515 mss->swap_pss += (u64)PAGE_SIZE <<
PSS_SHIFT;
> 516 }
> 517 } else if (is_migration_entry(swpent))
> 518 page = migration_entry_to_page(swpent);
> 519 else if (is_device_private_entry(swpent))
> 520 page = device_private_entry_to_page(swpent);
> > 521 else if (is_device_exclusive_entry(swpent))
> > 522 page =
device_exclusive_entry_to_page(swpent);
> 523 } else if (unlikely(IS_ENABLED(CONFIG_SHMEM) && mss-
>check_shmem_swap
> 524 &&
pte_none(*pte))) {
> 525 page = xa_load(&vma->vm_file->f_mapping->i_pages,
> 526
linear_page_index(vma, addr));
> 527 if (xa_is_value(page))
> 528 mss->swap += PAGE_SIZE;
> 529 return;
> 530 }
> 531
> 532 if (!page)
> 533 return;
> 534
> 535 smaps_account(mss, page, false, pte_young(*pte),
pte_dirty(*pte), locked);
> 536 }
> 537
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Alistair Popple <apopple@nvidia.com>
To: kernel test robot <lkp@intel.com>
Cc: <linux-mm@kvack.org>, <nouveau@lists.freedesktop.org>,
<bskeggs@redhat.com>, <akpm@linux-foundation.org>,
<kbuild-all@lists.01.org>, <clang-built-linux@googlegroups.com>,
<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<kvm-ppc@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
<jhubbard@nvidia.com>, <rcampbell@nvidia.com>
Subject: Re: [PATCH v2 1/4] hmm: Device exclusive memory access
Date: Fri, 19 Feb 2021 15:29:38 +1100 [thread overview]
Message-ID: <1921856.ipnSDt8Uia@nvdebian> (raw)
In-Reply-To: <202102191104.8PwQ82Oi-lkp@intel.com>
Apologies for the noise, looks like I don't have a CONFIG_DEVICE_PRIVATE=n
build in my tests and missed creating definitions for the new static inline
functions for that configuration.
I'll wait for some feedback on the overall approach and fix this in a v3.
- Alistair
On Friday, 19 February 2021 3:04:07 PM AEDT kernel test robot wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Alistair,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kselftest/next]
> [also build test ERROR on linus/master v5.11 next-20210218]
> [cannot apply to hnaz-linux-mm/master]
> [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/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210219-100858
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
> config: mips-randconfig-r036-20210218 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
> 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
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> # https://github.com/0day-ci/linux/commit/
bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alistair-Popple/Add-support-for-
SVM-atomics-in-Nouveau/20210219-100858
> git checkout bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> >> fs/proc/task_mmu.c:521:12: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> else if (is_device_exclusive_entry(swpent))
> ^
> fs/proc/task_mmu.c:521:12: note: did you mean 'is_device_private_entry'?
> include/linux/swapops.h:176:20: note: 'is_device_private_entry' declared
here
> static inline bool is_device_private_entry(swp_entry_t entry)
> ^
> >> fs/proc/task_mmu.c:522:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(swpent);
> ^
> fs/proc/task_mmu.c:522:11: note: did you mean
'device_private_entry_to_page'?
> include/linux/swapops.h:191:28: note: 'device_private_entry_to_page'
declared here
> static inline struct page *device_private_entry_to_page(swp_entry_t
entry)
> ^
> >> fs/proc/task_mmu.c:522:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(swpent);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/proc/task_mmu.c:1395:7: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> if (is_device_exclusive_entry(entry))
> ^
> fs/proc/task_mmu.c:1396:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(entry);
> ^
> fs/proc/task_mmu.c:1396:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(entry);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings and 4 errors generated.
>
>
> vim +/is_device_exclusive_entry +521 fs/proc/task_mmu.c
>
> 490
> 491 static void smaps_pte_entry(pte_t *pte, unsigned long addr,
> 492 struct mm_walk *walk)
> 493 {
> 494 struct mem_size_stats *mss = walk->private;
> 495 struct vm_area_struct *vma = walk->vma;
> 496 bool locked = !!(vma->vm_flags & VM_LOCKED);
> 497 struct page *page = NULL;
> 498
> 499 if (pte_present(*pte)) {
> 500 page = vm_normal_page(vma, addr, *pte);
> 501 } else if (is_swap_pte(*pte)) {
> 502 swp_entry_t swpent = pte_to_swp_entry(*pte);
> 503
> 504 if (!non_swap_entry(swpent)) {
> 505 int mapcount;
> 506
> 507 mss->swap += PAGE_SIZE;
> 508 mapcount = swp_swapcount(swpent);
> 509 if (mapcount >= 2) {
> 510 u64 pss_delta = (u64)PAGE_SIZE <<
PSS_SHIFT;
> 511
> 512 do_div(pss_delta, mapcount);
> 513 mss->swap_pss += pss_delta;
> 514 } else {
> 515 mss->swap_pss += (u64)PAGE_SIZE <<
PSS_SHIFT;
> 516 }
> 517 } else if (is_migration_entry(swpent))
> 518 page = migration_entry_to_page(swpent);
> 519 else if (is_device_private_entry(swpent))
> 520 page = device_private_entry_to_page(swpent);
> > 521 else if (is_device_exclusive_entry(swpent))
> > 522 page =
device_exclusive_entry_to_page(swpent);
> 523 } else if (unlikely(IS_ENABLED(CONFIG_SHMEM) && mss-
>check_shmem_swap
> 524 &&
pte_none(*pte))) {
> 525 page = xa_load(&vma->vm_file->f_mapping->i_pages,
> 526
linear_page_index(vma, addr));
> 527 if (xa_is_value(page))
> 528 mss->swap += PAGE_SIZE;
> 529 return;
> 530 }
> 531
> 532 if (!page)
> 533 return;
> 534
> 535 smaps_account(mss, page, false, pte_young(*pte),
pte_dirty(*pte), locked);
> 536 }
> 537
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Alistair Popple <apopple@nvidia.com>
To: kernel test robot <lkp@intel.com>
Cc: rcampbell@nvidia.com, kbuild-all@lists.01.org,
clang-built-linux@googlegroups.com,
nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm-ppc@vger.kernel.org, linux-mm@kvack.org, bskeggs@redhat.com,
akpm@linux-foundation.org
Subject: Re: [Nouveau] [PATCH v2 1/4] hmm: Device exclusive memory access
Date: Fri, 19 Feb 2021 15:29:38 +1100 [thread overview]
Message-ID: <1921856.ipnSDt8Uia@nvdebian> (raw)
In-Reply-To: <202102191104.8PwQ82Oi-lkp@intel.com>
Apologies for the noise, looks like I don't have a CONFIG_DEVICE_PRIVATE=n
build in my tests and missed creating definitions for the new static inline
functions for that configuration.
I'll wait for some feedback on the overall approach and fix this in a v3.
- Alistair
On Friday, 19 February 2021 3:04:07 PM AEDT kernel test robot wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Alistair,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kselftest/next]
> [also build test ERROR on linus/master v5.11 next-20210218]
> [cannot apply to hnaz-linux-mm/master]
> [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/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210219-100858
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
> config: mips-randconfig-r036-20210218 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
> 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
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> # https://github.com/0day-ci/linux/commit/
bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alistair-Popple/Add-support-for-
SVM-atomics-in-Nouveau/20210219-100858
> git checkout bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> >> fs/proc/task_mmu.c:521:12: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> else if (is_device_exclusive_entry(swpent))
> ^
> fs/proc/task_mmu.c:521:12: note: did you mean 'is_device_private_entry'?
> include/linux/swapops.h:176:20: note: 'is_device_private_entry' declared
here
> static inline bool is_device_private_entry(swp_entry_t entry)
> ^
> >> fs/proc/task_mmu.c:522:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(swpent);
> ^
> fs/proc/task_mmu.c:522:11: note: did you mean
'device_private_entry_to_page'?
> include/linux/swapops.h:191:28: note: 'device_private_entry_to_page'
declared here
> static inline struct page *device_private_entry_to_page(swp_entry_t
entry)
> ^
> >> fs/proc/task_mmu.c:522:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(swpent);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/proc/task_mmu.c:1395:7: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> if (is_device_exclusive_entry(entry))
> ^
> fs/proc/task_mmu.c:1396:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(entry);
> ^
> fs/proc/task_mmu.c:1396:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(entry);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings and 4 errors generated.
>
>
> vim +/is_device_exclusive_entry +521 fs/proc/task_mmu.c
>
> 490
> 491 static void smaps_pte_entry(pte_t *pte, unsigned long addr,
> 492 struct mm_walk *walk)
> 493 {
> 494 struct mem_size_stats *mss = walk->private;
> 495 struct vm_area_struct *vma = walk->vma;
> 496 bool locked = !!(vma->vm_flags & VM_LOCKED);
> 497 struct page *page = NULL;
> 498
> 499 if (pte_present(*pte)) {
> 500 page = vm_normal_page(vma, addr, *pte);
> 501 } else if (is_swap_pte(*pte)) {
> 502 swp_entry_t swpent = pte_to_swp_entry(*pte);
> 503
> 504 if (!non_swap_entry(swpent)) {
> 505 int mapcount;
> 506
> 507 mss->swap += PAGE_SIZE;
> 508 mapcount = swp_swapcount(swpent);
> 509 if (mapcount >= 2) {
> 510 u64 pss_delta = (u64)PAGE_SIZE <<
PSS_SHIFT;
> 511
> 512 do_div(pss_delta, mapcount);
> 513 mss->swap_pss += pss_delta;
> 514 } else {
> 515 mss->swap_pss += (u64)PAGE_SIZE <<
PSS_SHIFT;
> 516 }
> 517 } else if (is_migration_entry(swpent))
> 518 page = migration_entry_to_page(swpent);
> 519 else if (is_device_private_entry(swpent))
> 520 page = device_private_entry_to_page(swpent);
> > 521 else if (is_device_exclusive_entry(swpent))
> > 522 page =
device_exclusive_entry_to_page(swpent);
> 523 } else if (unlikely(IS_ENABLED(CONFIG_SHMEM) && mss-
>check_shmem_swap
> 524 &&
pte_none(*pte))) {
> 525 page = xa_load(&vma->vm_file->f_mapping->i_pages,
> 526
linear_page_index(vma, addr));
> 527 if (xa_is_value(page))
> 528 mss->swap += PAGE_SIZE;
> 529 return;
> 530 }
> 531
> 532 if (!page)
> 533 return;
> 534
> 535 smaps_account(mss, page, false, pte_young(*pte),
pte_dirty(*pte), locked);
> 536 }
> 537
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
WARNING: multiple messages have this Message-ID (diff)
From: Alistair Popple <apopple@nvidia.com>
To: kernel test robot <lkp@intel.com>
Cc: rcampbell@nvidia.com, kbuild-all@lists.01.org,
clang-built-linux@googlegroups.com,
nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm-ppc@vger.kernel.org, linux-mm@kvack.org, bskeggs@redhat.com,
jhubbard@nvidia.com, akpm@linux-foundation.org
Subject: Re: [PATCH v2 1/4] hmm: Device exclusive memory access
Date: Fri, 19 Feb 2021 15:29:38 +1100 [thread overview]
Message-ID: <1921856.ipnSDt8Uia@nvdebian> (raw)
In-Reply-To: <202102191104.8PwQ82Oi-lkp@intel.com>
Apologies for the noise, looks like I don't have a CONFIG_DEVICE_PRIVATE=n
build in my tests and missed creating definitions for the new static inline
functions for that configuration.
I'll wait for some feedback on the overall approach and fix this in a v3.
- Alistair
On Friday, 19 February 2021 3:04:07 PM AEDT kernel test robot wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Alistair,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kselftest/next]
> [also build test ERROR on linus/master v5.11 next-20210218]
> [cannot apply to hnaz-linux-mm/master]
> [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/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210219-100858
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
> config: mips-randconfig-r036-20210218 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
> 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
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> # https://github.com/0day-ci/linux/commit/
bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alistair-Popple/Add-support-for-
SVM-atomics-in-Nouveau/20210219-100858
> git checkout bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> >> fs/proc/task_mmu.c:521:12: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> else if (is_device_exclusive_entry(swpent))
> ^
> fs/proc/task_mmu.c:521:12: note: did you mean 'is_device_private_entry'?
> include/linux/swapops.h:176:20: note: 'is_device_private_entry' declared
here
> static inline bool is_device_private_entry(swp_entry_t entry)
> ^
> >> fs/proc/task_mmu.c:522:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(swpent);
> ^
> fs/proc/task_mmu.c:522:11: note: did you mean
'device_private_entry_to_page'?
> include/linux/swapops.h:191:28: note: 'device_private_entry_to_page'
declared here
> static inline struct page *device_private_entry_to_page(swp_entry_t
entry)
> ^
> >> fs/proc/task_mmu.c:522:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(swpent);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/proc/task_mmu.c:1395:7: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> if (is_device_exclusive_entry(entry))
> ^
> fs/proc/task_mmu.c:1396:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(entry);
> ^
> fs/proc/task_mmu.c:1396:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(entry);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings and 4 errors generated.
>
>
> vim +/is_device_exclusive_entry +521 fs/proc/task_mmu.c
>
> 490
> 491 static void smaps_pte_entry(pte_t *pte, unsigned long addr,
> 492 struct mm_walk *walk)
> 493 {
> 494 struct mem_size_stats *mss = walk->private;
> 495 struct vm_area_struct *vma = walk->vma;
> 496 bool locked = !!(vma->vm_flags & VM_LOCKED);
> 497 struct page *page = NULL;
> 498
> 499 if (pte_present(*pte)) {
> 500 page = vm_normal_page(vma, addr, *pte);
> 501 } else if (is_swap_pte(*pte)) {
> 502 swp_entry_t swpent = pte_to_swp_entry(*pte);
> 503
> 504 if (!non_swap_entry(swpent)) {
> 505 int mapcount;
> 506
> 507 mss->swap += PAGE_SIZE;
> 508 mapcount = swp_swapcount(swpent);
> 509 if (mapcount >= 2) {
> 510 u64 pss_delta = (u64)PAGE_SIZE <<
PSS_SHIFT;
> 511
> 512 do_div(pss_delta, mapcount);
> 513 mss->swap_pss += pss_delta;
> 514 } else {
> 515 mss->swap_pss += (u64)PAGE_SIZE <<
PSS_SHIFT;
> 516 }
> 517 } else if (is_migration_entry(swpent))
> 518 page = migration_entry_to_page(swpent);
> 519 else if (is_device_private_entry(swpent))
> 520 page = device_private_entry_to_page(swpent);
> > 521 else if (is_device_exclusive_entry(swpent))
> > 522 page =
device_exclusive_entry_to_page(swpent);
> 523 } else if (unlikely(IS_ENABLED(CONFIG_SHMEM) && mss-
>check_shmem_swap
> 524 &&
pte_none(*pte))) {
> 525 page = xa_load(&vma->vm_file->f_mapping->i_pages,
> 526
linear_page_index(vma, addr));
> 527 if (xa_is_value(page))
> 528 mss->swap += PAGE_SIZE;
> 529 return;
> 530 }
> 531
> 532 if (!page)
> 533 return;
> 534
> 535 smaps_account(mss, page, false, pte_young(*pte),
pte_dirty(*pte), locked);
> 536 }
> 537
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Alistair Popple <apopple@nvidia.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 1/4] hmm: Device exclusive memory access
Date: Fri, 19 Feb 2021 15:29:38 +1100 [thread overview]
Message-ID: <1921856.ipnSDt8Uia@nvdebian> (raw)
In-Reply-To: <202102191104.8PwQ82Oi-lkp@intel.com>
[-- Attachment #1: Type: text/plain, Size: 7120 bytes --]
Apologies for the noise, looks like I don't have a CONFIG_DEVICE_PRIVATE=n
build in my tests and missed creating definitions for the new static inline
functions for that configuration.
I'll wait for some feedback on the overall approach and fix this in a v3.
- Alistair
On Friday, 19 February 2021 3:04:07 PM AEDT kernel test robot wrote:
> External email: Use caution opening links or attachments
>
>
> Hi Alistair,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kselftest/next]
> [also build test ERROR on linus/master v5.11 next-20210218]
> [cannot apply to hnaz-linux-mm/master]
> [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/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210219-100858
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
> config: mips-randconfig-r036-20210218 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project
c9439ca36342fb6013187d0a69aef92736951476)
> 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
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> # https://github.com/0day-ci/linux/commit/
bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Alistair-Popple/Add-support-for-
SVM-atomics-in-Nouveau/20210219-100858
> git checkout bb5444811772d30b2e3bbaa44baeb8a4b3f03cec
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> >> fs/proc/task_mmu.c:521:12: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> else if (is_device_exclusive_entry(swpent))
> ^
> fs/proc/task_mmu.c:521:12: note: did you mean 'is_device_private_entry'?
> include/linux/swapops.h:176:20: note: 'is_device_private_entry' declared
here
> static inline bool is_device_private_entry(swp_entry_t entry)
> ^
> >> fs/proc/task_mmu.c:522:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(swpent);
> ^
> fs/proc/task_mmu.c:522:11: note: did you mean
'device_private_entry_to_page'?
> include/linux/swapops.h:191:28: note: 'device_private_entry_to_page'
declared here
> static inline struct page *device_private_entry_to_page(swp_entry_t
entry)
> ^
> >> fs/proc/task_mmu.c:522:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(swpent);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/proc/task_mmu.c:1395:7: error: implicit declaration of function
'is_device_exclusive_entry' [-Werror,-Wimplicit-function-declaration]
> if (is_device_exclusive_entry(entry))
> ^
> fs/proc/task_mmu.c:1396:11: error: implicit declaration of function
'device_exclusive_entry_to_page' [-Werror,-Wimplicit-function-declaration]
> page = device_exclusive_entry_to_page(entry);
> ^
> fs/proc/task_mmu.c:1396:9: warning: incompatible integer to pointer
conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
> page = device_exclusive_entry_to_page(entry);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 2 warnings and 4 errors generated.
>
>
> vim +/is_device_exclusive_entry +521 fs/proc/task_mmu.c
>
> 490
> 491 static void smaps_pte_entry(pte_t *pte, unsigned long addr,
> 492 struct mm_walk *walk)
> 493 {
> 494 struct mem_size_stats *mss = walk->private;
> 495 struct vm_area_struct *vma = walk->vma;
> 496 bool locked = !!(vma->vm_flags & VM_LOCKED);
> 497 struct page *page = NULL;
> 498
> 499 if (pte_present(*pte)) {
> 500 page = vm_normal_page(vma, addr, *pte);
> 501 } else if (is_swap_pte(*pte)) {
> 502 swp_entry_t swpent = pte_to_swp_entry(*pte);
> 503
> 504 if (!non_swap_entry(swpent)) {
> 505 int mapcount;
> 506
> 507 mss->swap += PAGE_SIZE;
> 508 mapcount = swp_swapcount(swpent);
> 509 if (mapcount >= 2) {
> 510 u64 pss_delta = (u64)PAGE_SIZE <<
PSS_SHIFT;
> 511
> 512 do_div(pss_delta, mapcount);
> 513 mss->swap_pss += pss_delta;
> 514 } else {
> 515 mss->swap_pss += (u64)PAGE_SIZE <<
PSS_SHIFT;
> 516 }
> 517 } else if (is_migration_entry(swpent))
> 518 page = migration_entry_to_page(swpent);
> 519 else if (is_device_private_entry(swpent))
> 520 page = device_private_entry_to_page(swpent);
> > 521 else if (is_device_exclusive_entry(swpent))
> > 522 page =
device_exclusive_entry_to_page(swpent);
> 523 } else if (unlikely(IS_ENABLED(CONFIG_SHMEM) && mss-
>check_shmem_swap
> 524 &&
pte_none(*pte))) {
> 525 page = xa_load(&vma->vm_file->f_mapping->i_pages,
> 526
linear_page_index(vma, addr));
> 527 if (xa_is_value(page))
> 528 mss->swap += PAGE_SIZE;
> 529 return;
> 530 }
> 531
> 532 if (!page)
> 533 return;
> 534
> 535 smaps_account(mss, page, false, pte_young(*pte),
pte_dirty(*pte), locked);
> 536 }
> 537
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2021-02-19 4:29 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-19 2:07 [PATCH v2 0/4] Add support for SVM atomics in Nouveau Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [Nouveau] " Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [PATCH v2 1/4] hmm: Device exclusive memory access Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [Nouveau] " Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 4:04 ` kernel test robot
2021-02-19 4:04 ` kernel test robot
2021-02-19 4:04 ` kernel test robot
2021-02-19 4:04 ` [Nouveau] " kernel test robot
2021-02-19 4:04 ` kernel test robot
2021-02-19 4:29 ` Alistair Popple [this message]
2021-02-19 4:29 ` Alistair Popple
2021-02-19 4:29 ` Alistair Popple
2021-02-19 4:29 ` [Nouveau] " Alistair Popple
2021-02-19 4:29 ` Alistair Popple
2021-02-19 5:09 ` kernel test robot
2021-02-19 5:09 ` kernel test robot
2021-02-19 5:09 ` kernel test robot
2021-02-19 5:09 ` [Nouveau] " kernel test robot
2021-02-19 5:09 ` kernel test robot
2021-02-19 9:47 ` Christoph Hellwig
2021-02-19 9:47 ` [Nouveau] " Christoph Hellwig
2021-02-19 9:47 ` Christoph Hellwig
2021-02-19 14:01 ` Jason Gunthorpe
2021-02-19 14:01 ` Jason Gunthorpe
2021-02-19 14:01 ` [Nouveau] " Jason Gunthorpe
2021-02-19 14:01 ` Jason Gunthorpe
2021-02-22 10:46 ` Alistair Popple
2021-02-22 10:46 ` Alistair Popple
2021-02-22 10:46 ` [Nouveau] " Alistair Popple
2021-02-22 10:46 ` Alistair Popple
2021-02-19 2:07 ` [PATCH v2 2/4] hmm: Selftests for exclusive device memory Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [Nouveau] " Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [PATCH v2 3/4] nouveau/svm: Refactor nouveau_range_fault Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [Nouveau] " Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [PATCH v2 4/4] nouveau/svm: Implement atomic SVM access Alistair Popple
2021-02-19 2:07 ` Alistair Popple
2021-02-19 2:07 ` [Nouveau] " Alistair Popple
2021-02-19 2:07 ` Alistair Popple
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=1921856.ipnSDt8Uia@nvdebian \
--to=apopple@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=bskeggs@redhat.com \
--cc=clang-built-linux@googlegroups.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jhubbard@nvidia.com \
--cc=kbuild-all@lists.01.org \
--cc=kvm-ppc@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=nouveau@lists.freedesktop.org \
--cc=rcampbell@nvidia.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.