From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kbuild-all@01.org, kbuild test robot <fengguang.wu@intel.com>,
kvm@vger.kernel.org, Robert Hu <robert.hu@intel.com>,
Farrah Chen <farrah.chen@intel.com>
Subject: Re: [kvm:queue 10/13] arch/x86/kvm/vmx.c:11312:11: note: in expansion of macro 'cmpxchg'
Date: Wed, 12 Jul 2017 14:32:33 +0200 [thread overview]
Message-ID: <20170712123232.GD28875@potion> (raw)
In-Reply-To: <201707120740.ojduFGW9%fengguang.wu@intel.com>
Paolo, I have removed these patches from kvm/queue.
32 bit cmpxchg doesn't support 64 bit operands, but I wonder why GCC
didn't complain before, because these patches just moved the line ...
2017-07-12 07:40+0800, kbuild test robot:
> tree: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
> head: af2d88135e63f77ddf021a45b83acbe62d4feeb2
> commit: 78683bff7243622e9b7e3fa79c64af2ec5305f43 [10/13] KVM: VMX: extract __pi_post_block
> config: i386-allmodconfig (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
> git checkout 78683bff7243622e9b7e3fa79c64af2ec5305f43
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All warnings (new ones prefixed by >>):
>
> In file included from arch/x86/include/asm/atomic.h:7:0,
> from include/linux/atomic.h:4,
> from include/linux/mm_types_task.h:12,
> from include/linux/mm_types.h:4,
> from arch/x86/kvm/irq.h:25,
> from arch/x86/kvm/vmx.c:19:
> arch/x86/kvm/vmx.c: In function '__pi_post_block':
> >> arch/x86/include/asm/cmpxchg.h:129:2: warning: '__ret' is used uninitialized in this function [-Wuninitialized]
> __ret; \
> ^~~~~
> arch/x86/include/asm/cmpxchg.h:86:21: note: '__ret' was declared here
> __typeof__(*(ptr)) __ret; \
> ^
> >> arch/x86/include/asm/cmpxchg.h:133:2: note: in expansion of macro '__raw_cmpxchg'
> __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
> ^~~~~~~~~~~~~
> >> arch/x86/include/asm/cmpxchg.h:148:2: note: in expansion of macro '__cmpxchg'
> __cmpxchg(ptr, old, new, sizeof(*(ptr)))
> ^~~~~~~~~
> >> arch/x86/kvm/vmx.c:11312:11: note: in expansion of macro 'cmpxchg'
> } while (cmpxchg(&pi_desc->control, old.control,
> ^~~~~~~
>
> vim +/cmpxchg +11312 arch/x86/kvm/vmx.c
>
> 11289
> 11290 static void __pi_post_block(struct kvm_vcpu *vcpu)
> 11291 {
> 11292 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu);
> 11293 struct pi_desc old, new;
> 11294 unsigned int dest;
> 11295 unsigned long flags;
> 11296
> 11297 do {
> 11298 old.control = new.control = pi_desc->control;
> 11299
> 11300 dest = cpu_physical_id(vcpu->cpu);
> 11301
> 11302 if (x2apic_enabled())
> 11303 new.ndst = dest;
> 11304 else
> 11305 new.ndst = (dest << 8) & 0xFF00;
> 11306
> 11307 /* Allow posting non-urgent interrupts */
> 11308 new.sn = 0;
> 11309
> 11310 /* set 'NV' to 'notification vector' */
> 11311 new.nv = POSTED_INTR_VECTOR;
> 11312 } while (cmpxchg(&pi_desc->control, old.control,
> 11313 new.control) != old.control);
> 11314
> 11315 if(vcpu->pre_pcpu != -1) {
> 11316 spin_lock_irqsave(
> 11317 &per_cpu(blocked_vcpu_on_cpu_lock,
> 11318 vcpu->pre_pcpu), flags);
> 11319 list_del(&vcpu->blocked_vcpu_list);
> 11320 spin_unlock_irqrestore(
> 11321 &per_cpu(blocked_vcpu_on_cpu_lock,
> 11322 vcpu->pre_pcpu), flags);
> 11323 vcpu->pre_pcpu = -1;
> 11324 }
> 11325 }
> 11326
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
prev parent reply other threads:[~2017-07-12 12:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-11 23:40 [kvm:queue 10/13] arch/x86/kvm/vmx.c:11312:11: note: in expansion of macro 'cmpxchg' kbuild test robot
2017-07-12 12:32 ` Radim Krčmář [this message]
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=20170712123232.GD28875@potion \
--to=rkrcmar@redhat.com \
--cc=farrah.chen@intel.com \
--cc=fengguang.wu@intel.com \
--cc=kbuild-all@01.org \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=robert.hu@intel.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.