From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 18/28] KVM: x86/mmu: Use an rwlock for the x86 MMU
Date: Thu, 04 Feb 2021 07:06:11 +0800 [thread overview]
Message-ID: <202102040750.EygmVrYU-lkp@intel.com> (raw)
In-Reply-To: <20210202185734.1680553-19-bgardon@google.com>
[-- Attachment #1: Type: text/plain, Size: 10111 bytes --]
Hi Ben,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/master]
[also build test ERROR on linux/master linus/master v5.11-rc6 next-20210125]
[cannot apply to kvm/linux-next tip/sched/core]
[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/Ben-Gardon/Allow-parallel-MMU-operations-with-TDP-MMU/20210203-032259
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a7e0bdf1b07ea6169930ec42b0bdb17e1c1e3bb0
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/74f5a3994ae986ac7cd19f2ec91fbbf39fae71f0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ben-Gardon/Allow-parallel-MMU-operations-with-TDP-MMU/20210203-032259
git checkout 74f5a3994ae986ac7cd19f2ec91fbbf39fae71f0
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
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/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_add':
>> drivers/gpu/drm/i915/gvt/kvmgt.c:1706:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1706 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
>> drivers/gpu/drm/i915/gvt/kvmgt.c:1715:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1715 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_remove':
drivers/gpu/drm/i915/gvt/kvmgt.c:1740:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1740 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1749:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1749 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_flush_slot':
drivers/gpu/drm/i915/gvt/kvmgt.c:1775:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1775 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1784:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1784 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t * {aka struct <anonymous> *}
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *' {aka 'struct <anonymous> *'}
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
cc1: all warnings being treated as errors
vim +/spin_lock +1706 drivers/gpu/drm/i915/gvt/kvmgt.c
f30437c5e7bfa9 Jike Song 2016-11-09 1685
f66e5ff706038d Changbin Du 2018-01-30 1686 static int kvmgt_page_track_add(unsigned long handle, u64 gfn)
f30437c5e7bfa9 Jike Song 2016-11-09 1687 {
659643f7d81432 Jike Song 2016-12-08 1688 struct kvmgt_guest_info *info;
659643f7d81432 Jike Song 2016-12-08 1689 struct kvm *kvm;
f30437c5e7bfa9 Jike Song 2016-11-09 1690 struct kvm_memory_slot *slot;
f30437c5e7bfa9 Jike Song 2016-11-09 1691 int idx;
f30437c5e7bfa9 Jike Song 2016-11-09 1692
659643f7d81432 Jike Song 2016-12-08 1693 if (!handle_valid(handle))
659643f7d81432 Jike Song 2016-12-08 1694 return -ESRCH;
659643f7d81432 Jike Song 2016-12-08 1695
659643f7d81432 Jike Song 2016-12-08 1696 info = (struct kvmgt_guest_info *)handle;
659643f7d81432 Jike Song 2016-12-08 1697 kvm = info->kvm;
659643f7d81432 Jike Song 2016-12-08 1698
f30437c5e7bfa9 Jike Song 2016-11-09 1699 idx = srcu_read_lock(&kvm->srcu);
f30437c5e7bfa9 Jike Song 2016-11-09 1700 slot = gfn_to_memslot(kvm, gfn);
faaaa53bdc6750 Jike Song 2016-12-16 1701 if (!slot) {
faaaa53bdc6750 Jike Song 2016-12-16 1702 srcu_read_unlock(&kvm->srcu, idx);
faaaa53bdc6750 Jike Song 2016-12-16 1703 return -EINVAL;
faaaa53bdc6750 Jike Song 2016-12-16 1704 }
f30437c5e7bfa9 Jike Song 2016-11-09 1705
f30437c5e7bfa9 Jike Song 2016-11-09 @1706 spin_lock(&kvm->mmu_lock);
f30437c5e7bfa9 Jike Song 2016-11-09 1707
f30437c5e7bfa9 Jike Song 2016-11-09 1708 if (kvmgt_gfn_is_write_protected(info, gfn))
f30437c5e7bfa9 Jike Song 2016-11-09 1709 goto out;
f30437c5e7bfa9 Jike Song 2016-11-09 1710
f30437c5e7bfa9 Jike Song 2016-11-09 1711 kvm_slot_page_track_add_page(kvm, slot, gfn, KVM_PAGE_TRACK_WRITE);
f30437c5e7bfa9 Jike Song 2016-11-09 1712 kvmgt_protect_table_add(info, gfn);
f30437c5e7bfa9 Jike Song 2016-11-09 1713
f30437c5e7bfa9 Jike Song 2016-11-09 1714 out:
f30437c5e7bfa9 Jike Song 2016-11-09 @1715 spin_unlock(&kvm->mmu_lock);
f30437c5e7bfa9 Jike Song 2016-11-09 1716 srcu_read_unlock(&kvm->srcu, idx);
f30437c5e7bfa9 Jike Song 2016-11-09 1717 return 0;
f30437c5e7bfa9 Jike Song 2016-11-09 1718 }
f30437c5e7bfa9 Jike Song 2016-11-09 1719
---
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: 64621 bytes --]
next prev parent reply other threads:[~2021-02-03 23:06 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-02 18:57 [PATCH v2 00/28] Allow parallel MMU operations with TDP MMU Ben Gardon
2021-02-02 18:57 ` [PATCH v2 01/28] KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched Ben Gardon
2021-02-02 18:57 ` [PATCH v2 02/28] KVM: x86/mmu: Add comment on __tdp_mmu_set_spte Ben Gardon
2021-02-02 18:57 ` [PATCH v2 03/28] KVM: x86/mmu: Add lockdep when setting a TDP MMU SPTE Ben Gardon
2021-02-02 18:57 ` [PATCH v2 04/28] KVM: x86/mmu: Don't redundantly clear TDP MMU pt memory Ben Gardon
2021-02-02 18:57 ` [PATCH v2 05/28] KVM: x86/mmu: Factor out handling of removed page tables Ben Gardon
2021-02-02 18:57 ` [PATCH v2 06/28] locking/rwlocks: Add contention detection for rwlocks Ben Gardon
2021-02-02 22:06 ` kernel test robot
2021-02-09 20:39 ` Guenter Roeck
2021-02-09 21:46 ` Waiman Long
2021-02-09 22:25 ` Guenter Roeck
2021-02-10 0:27 ` Waiman Long
2021-02-10 0:41 ` Waiman Long
2021-02-10 6:04 ` Guenter Roeck
2021-02-10 14:57 ` Waiman Long
2021-02-10 3:32 ` Waiman Long
2021-02-10 15:15 ` Waiman Long
2021-02-02 18:57 ` [PATCH v2 07/28] sched: Add needbreak " Ben Gardon
2021-02-02 18:57 ` [PATCH v2 08/28] sched: Add cond_resched_rwlock Ben Gardon
2021-02-02 18:57 ` [PATCH v2 09/28] KVM: x86/mmu: Fix braces in kvm_recover_nx_lpages Ben Gardon
2021-02-02 18:57 ` [PATCH v2 10/28] KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs Ben Gardon
2021-02-03 9:43 ` Paolo Bonzini
2021-02-02 18:57 ` [PATCH v2 11/28] KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched Ben Gardon
2021-02-02 18:57 ` [PATCH v2 12/28] KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn Ben Gardon
2021-02-02 18:57 ` [PATCH v2 13/28] KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter Ben Gardon
2021-02-05 23:42 ` Sean Christopherson
2021-02-02 18:57 ` [PATCH v2 14/28] KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed Ben Gardon
2021-02-02 18:57 ` [PATCH v2 15/28] KVM: x86/mmu: Skip no-op changes in TDP MMU functions Ben Gardon
2021-02-02 18:57 ` [PATCH v2 16/28] KVM: x86/mmu: Clear dirtied pages mask bit before early break Ben Gardon
2021-02-02 18:57 ` [PATCH v2 17/28] KVM: x86/mmu: Protect TDP MMU page table memory with RCU Ben Gardon
2021-02-02 18:57 ` [PATCH v2 18/28] KVM: x86/mmu: Use an rwlock for the x86 MMU Ben Gardon
[not found] ` <c8aa8f9c-2305-5d58-3b48-261663524ad5@redhat.com>
[not found] ` <CANgfPd_RxhBwM95MQQmGOdtmeH8c6=zPqUnXXHNV5Ta0R5R=iw@mail.gmail.com>
2021-02-03 18:14 ` Paolo Bonzini
2021-02-03 23:06 ` kernel test robot [this message]
2021-02-02 18:57 ` [PATCH v2 19/28] KVM: x86/mmu: Factor out functions to add/remove TDP MMU pages Ben Gardon
2021-02-02 18:57 ` [PATCH v2 20/28] KVM: x86/mmu: Use atomic ops to set SPTEs in TDP MMU map Ben Gardon
2021-02-03 2:48 ` kernel test robot
2021-02-03 2:48 ` kernel test robot
2021-02-03 11:14 ` Paolo Bonzini
2021-02-06 0:26 ` Sean Christopherson
2021-02-08 10:32 ` Paolo Bonzini
2021-04-01 10:32 ` Paolo Bonzini
2021-04-01 16:50 ` Ben Gardon
2021-04-01 17:32 ` Paolo Bonzini
2021-04-01 18:09 ` Sean Christopherson
2021-02-02 18:57 ` [PATCH v2 21/28] KVM: x86/mmu: Flush TLBs after zap in TDP MMU PF handler Ben Gardon
2021-02-06 0:29 ` Sean Christopherson
2021-02-02 18:57 ` [PATCH v2 22/28] KVM: x86/mmu: Mark SPTEs in disconnected pages as removed Ben Gardon
2021-02-03 11:17 ` Paolo Bonzini
2021-02-02 18:57 ` [PATCH v2 23/28] KVM: x86/mmu: Allow parallel page faults for the TDP MMU Ben Gardon
2021-02-03 12:39 ` Paolo Bonzini
2021-02-03 17:46 ` Ben Gardon
2021-02-03 18:30 ` Paolo Bonzini
2021-02-06 0:12 ` Sean Christopherson
2021-02-02 18:57 ` [PATCH v2 24/28] KVM: x86/mmu: Allow zap gfn range to operate under the mmu read lock Ben Gardon
2021-02-03 11:25 ` Paolo Bonzini
2021-02-03 11:26 ` Paolo Bonzini
2021-02-03 18:31 ` Ben Gardon
2021-02-03 18:32 ` Paolo Bonzini
2021-02-02 18:57 ` [PATCH v2 25/28] KVM: x86/mmu: Allow zapping collapsible SPTEs to use MMU " Ben Gardon
2021-02-03 11:34 ` Paolo Bonzini
2021-02-03 18:51 ` Ben Gardon
2021-02-02 18:57 ` [PATCH v2 26/28] KVM: x86/mmu: Allow enabling / disabling dirty logging under " Ben Gardon
2021-02-03 11:38 ` Paolo Bonzini
2021-02-02 18:57 ` [PATCH v2 27/28] KVM: selftests: Add backing src parameter to dirty_log_perf_test Ben Gardon
2021-02-02 18:57 ` [PATCH v2 28/28] KVM: selftests: Disable dirty logging with vCPUs running Ben Gardon
2021-02-03 10:07 ` Paolo Bonzini
2021-02-03 11:00 ` [PATCH v2 00/28] Allow parallel MMU operations with TDP MMU Paolo Bonzini
2021-02-03 17:54 ` Sean Christopherson
2021-02-03 18:13 ` Paolo Bonzini
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=202102040750.EygmVrYU-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.