ping
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1708442
Title:
Crash(assert) during reading image from http url through qemu-nbd
Status in QEMU:
New
Bug description:
Description:
During
I've attached patch which resolves bug, but actually it's just
workaround and may be not unsafe, because it's just ignore assert.
** Patch added: "workaround patch"
https://bugs.launchpad.net/qemu/+bug/1708442/+attachment/4926546/+files/0001-util-async-ignore-self-co-enter-instead-of-assert.pa
I've build qemu-nbd-bug.go into binary qemu-nbd-bug (go build qemu-nbd-bug.go),
so to reproduce bug anyone may try:
0) ensure image.img exists in current folder. image.img may be copied from
"Qemu-nbd core dump and script to reproduce " attachment.
1) sudo ./qemu-nbd-bug
2) wait while binary abor
03.08.2017, 17:01, "Eric Blake" <1708...@bugs.launchpad.net>:
> On 08/03/2017 07:12 AM, Andrey Smetanin wrote:
>> Public bug reported:
>>
>> Description:
>> During reading image from nbd device mounted by qemu-nbd server with url
>> backend I/O
** Description changed:
Description:
During reading image from nbd device mounted by qemu-nbd server with url
backend I/O error happens
"blk_update_request: I/O error, dev nbd0, sector 42117" dmesg. After some
investigation I found that qemu-nbd server aborts in aio_co_enter() assert in
u
Public bug reported:
Description:
During reading image from nbd device mounted by qemu-nbd server with url
backend I/O error happens
"blk_update_request: I/O error, dev nbd0, sector 42117" dmesg. After some
investigation I found that qemu-nbd server aborts in aio_co_enter() assert in
util/async
This patch brings in the necessary changes from the corresponding kernel
patchset. It's included only for completeness; ideally these changes
should arrive via the standard kernel header pull.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderso
Add Hyper-V VMBus hypercalls blank handlers which
just returns error code - HV_STATUS_INVALID_HYPERCALL_CODE.
Changes v3:
* use HVCALL_* defines
Changes v2:
* use KVM_EXIT_HYPERV exit type
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC
On 02/12/2016 12:46 AM, Paolo Bonzini wrote:
On 11/02/2016 14:44, Andrey Smetanin wrote:
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
T_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smetanin (5):
kvm/x86: Rename
-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
Documentation/virtual/kvm/api.txt | 6 ++
arch/x86/kvm/hyperv.c
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
ping
On 01/21/2016 05:01 PM, Andrey Smetanin wrote:
The patch implements userspace exit 'KVM_EXIT_HYPERV'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed
On 01/22/2016 04:21 PM, Paolo Bonzini wrote:
On 22/01/2016 14:13, Andrey Smetanin wrote:
We(@virtuozzo.com) will be very thankful to you for the patch which
integrates Hyper-V tsc page with kvm clock. We even may do work by
yourself, but our priority now is Hyper-V VMBus initialization
On 01/22/2016 01:08 PM, Paolo Bonzini wrote:
On 24/12/2015 10:33, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops
On 01/22/2016 02:53 PM, Paolo Bonzini wrote:
On 22/01/2016 12:31, Andrey Smetanin wrote:
Sometimes the TSC is detected to be unstable and Linux switches to
another clocksource. At least in that case you can get a write to the
TSC page while the guest is running.
Sorry, now I got it, you
On 01/22/2016 02:02 PM, Paolo Bonzini wrote:
On 22/01/2016 11:15, Andrey Smetanin wrote:
- unless KVM can use a master clock, it is incorrect to set up the TSC
page this way; the sequence needs to be 0x in that case
0x is not an invalid value for tsc page,
see https
On 01/22/2016 02:02 PM, Paolo Bonzini wrote:
On 22/01/2016 11:15, Andrey Smetanin wrote:
- unless KVM can use a master clock, it is incorrect to set up the TSC
page this way; the sequence needs to be 0x in that case
0x is not an invalid value for tsc page,
see https
On 01/22/2016 01:08 PM, Paolo Bonzini wrote:
On 24/12/2015 10:33, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops
Add Hyper-V VMBus hypercalls blank handlers which
just returns error code - HV_STATUS_INVALID_HYPERCALL_CODE.
Changes v2:
* use KVM_EXIT_HYPERV exit type
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas F
The patch implements KVM_EXIT_HYPERV userspace exit
functionality for Hyper-V VMBus hypercalls:
HV_X64_HCALL_POST_MESSAGE, HV_X64_HCALL_SIGNAL_EVENT.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
The patch implements userspace exit 'KVM_EXIT_HYPERV'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
On 01/20/2016 05:05 PM, Paolo Bonzini wrote:
On 19/01/2016 08:48, Denis V. Lunev wrote:
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 6877b4d7e..93c9e25 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -145,6 +145,7 @@ static inline bool is_er
our latest changes in KVM code to support Hyper-V VMBus:
https://src.openvz.org/projects/UP/repos/kvm_hyperv/commits?until=refs%2Fheads%2Fvmbus_hypercall
Thanks,
Andrey
On 01/12/2016 01:50 PM, Andrey Smetanin wrote:
The patch implements userspace exit 'KVM_EXIT_HYPERV_HCALL'
for Hyp
Add Hyper-V VMBus hypercalls blank handlers which
just returns error code - HV_STATUS_INVALID_HYPERCALL_CODE.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman
The patches adds blank handlers for Hyper-V
VMBus hypercalls routed by KVM_EXIT_HYPERV_HCALL KVM exit.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
C
This patch just for completeness, this changes
should be received by scripts/update-linux-headers.sh
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
C
This is a simple test which performs the
following:
* setup hypecall page
* do some hypercalls and output their results
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
config/config-x86-common.mak | 4
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
C
The patch implements userspace exit 'KVM_EXIT_HYPERV_HCALL'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasa
The patch implements KVM_EXIT_HV_HCALL functionality
for Hyper-V VMBus hypercalls: HV_X64_HCALL_POST_MESSAGE,
HV_X64_HCALL_SIGNAL_EVENT.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
ping
On 12/24/2015 12:33 PM, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops HV_X64_MSR_TIME_REF_COUNT msr
reads count to
On 01/07/2016 07:32 PM, Paolo Bonzini wrote:
On 23/12/2015 12:28, Andrey Smetanin wrote:
This will be used in future to start Hyper-V SynIC timer
in several places by one logic in one function.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
On 01/06/2016 12:48 AM, Peter Hornyack wrote:
On Thu, Dec 24, 2015 at 1:33 AM, Andrey Smetanin
wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page
This will be used in future to start Hyper-V SynIC timer
in several places by one logic in one function.
Changes v2:
* drop stimer->count == 0 check inside stimer_start()
* comment stimer_start() assumptions
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Pa
'kvm/x86: Remove Hyper-V SynIC timer stopping'
previously sent.
Changes v2:
* fix incorrect logical operation for one-shot timers
* drop stimer->count == 0 inside stimer_start()
* comment stimer_start() assumtions
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gle
Split stimer_expiration() into two parts - timer expiration message
sending and timer restart/cleanup based on timer state(config).
This also fixes a bug where a one-shot timer message whose delivery
failed once would get lost for good.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
QEMU zero-inits Hyper-V SynIC vectors. We should allow that,
and don't reject zero values if set by the host.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyp
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm
The function stimer_stop() is called in one place
so remove the function and replace it's call by function
content.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x8
processed after KVM_REQ_CLOCK_UPDATE).
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 38 +++---
arch/x86/kvm/x86.c| 6
FS doc(15.3.1):
"It is not permitted to set the SINTx field to zero for an
enabled timer. If attempted, the timer will be
marked disabled (that is, bit 0 cleared) immediately."
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
bitmap by
__bitmask, __assign_bitmap, __get_bitmask
Signed-off-by: Andrey Smetanin
Acked-by: James Hogan
CC: Paolo Bonzini
CC: Gleb Natapov
CC: James Hogan
CC: Paul Burton
CC: Ralf Baechle
CC: Alexander Graf
CC: Christian Borntraeger
CC: Cornelia Huck
CC: linux-m...@li
On 12/24/2015 02:14 PM, Roman Kagan wrote:
On Thu, Dec 24, 2015 at 12:30:26PM +0300, Andrey Smetanin wrote:
Currently on x86 arch we has already 32 requests defined
so the newer request bits can't be placed inside
vcpu->requests(unsigned long) inside x86 32 bit system.
But we are goin
applies on top of
'kvm: Make vcpu->requests as 64 bit bitmap'
previously sent.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Gleb Natapov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hype
t;requests) by if (kvm_vcpu_has_requests(vcpu))
* replace clear_bit(req, vcpu->requests) by
kvm_clear_request(req, vcpu)
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Gleb Natapov
CC: James Hogan
CC: Paolo Bonzini
CC: Paul Burton
CC: Ralf Baechle
CC: Alexander Graf
CC: Christia
Trace the following Hyper SynIC timers events:
* periodic timer start
* one-shot timer start
* timer callback
* timer expiration and message delivery result
* timer config setup
* timer count setup
* timer cleanup
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman
The patches adds tracepoints inside Hyper-V SynIC
and SynIC timers code.
The series applies on top of
'kvm/x86: Update SynIC timers on guest entry only'
previously sent.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC:
Trace the following Hyper SynIC events:
* set msr
* set sint irq
* ack sint
* sint irq eoi
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 10 +++---
arch/x86/kvm/trace.h | 93
QEMU zero-inits Hyper-V SynIC vectors. We should allow that,
and don't reject zero values if set by the host.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyp
This will be used in future to start Hyper-V SynIC timer
in several places by one logic in one function.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 37
processed after KVM_REQ_CLOCK_UPDATE).
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 35 +--
arch/x86/kvm/x86.c| 6 ++
2
'kvm/x86: Remove Hyper-V SynIC timer stopping'
previously sent.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smetanin (6):
kvm/x86: Drop stimer_stop() function
kvm/
Split stimer_expiration() into two parts - timer expiration message
sending and timer restart/cleanup based on timer state(config).
This also fixes a bug where a one-shot timer message whose delivery
failed once would get lost for good.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
FS doc(15.3.1):
"It is not permitted to set the SINTx field to zero for an
enabled timer. If attempted, the timer will be
marked disabled (that is, bit 0 cleared) immediately."
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
The function stimer_stop() is called in one place
so remove the function and replace it's call by function
content.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x8
On 12/21/2015 04:28 PM, Pavel Fedin wrote:
Hello!
Yes, we can use KVM_EXIT_REG_IO/MSR_IO for Hyper-V SynIC MSRS's changes
and can even use only one MSR value . So union inside struct
kvm_hyperv_exit is excessive.
But we still need Vcpu exit to handle VMBus hypercalls by QEMU to
emulate VM
On 12/18/2015 09:39 PM, Roman Kagan wrote:
On Fri, Dec 18, 2015 at 10:10:11AM -0800, Peter Hornyack wrote:
On Fri, Dec 18, 2015 at 8:01 AM, Paolo Bonzini wrote:
On 18/12/2015 16:19, Pavel Fedin wrote:
As far as i understand this code, KVM_EXIT_HYPERV is called when one
of three MSRs are acc
On 12/14/2015 07:09 PM, Paolo Bonzini wrote:
On 14/12/2015 16:33, Andrey Smetanin wrote:
It's possible that guest send us Hyper-V EOM at the middle
of Hyper-V SynIC timer running, so we start processing of Hyper-V
SynIC timers in vcpu context and stop the Hyper-V SynIC timer
uncoditio
On 12/14/2015 07:09 PM, Paolo Bonzini wrote:
On 14/12/2015 16:33, Andrey Smetanin wrote:
It's possible that guest send us Hyper-V EOM at the middle
of Hyper-V SynIC timer running, so we start processing of Hyper-V
SynIC timers in vcpu context and stop the Hyper-V SynIC timer
uncoditio
on by not stopping Hyper-V SynIC timer
at all, because it's safe to restart it without stop in vcpu context
and timer callback always returns HRTIMER_NORESTART.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
into test cases with separate callbacks
* removed unnecessary irq_enable() calls
* moved sint's create/destoy into test prepare/cleanup callbacks
* defined used sint's numbers and vectors
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
This code will be used as shared between hyperv_synic
and hyperv_stimer tests.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
config/config-x86-common.mak | 3 ++-
lib/x86/msr.h| 23
This will be used to release allocated pages by Hyper-V
SynIC timers test.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/vm.h | 1 +
1 file changed, 1 insertion(+)
diff
imers test fixes to improve
readability and output
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smetanin (3):
lib/x86: Make free_page() available to call
x86/hyperv: Move Hy
od is
shortened until the timer catches up) will be implemented later.
Changes v2:
* Use remainder to calculate periodic timer expiration time
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vi
notified when the slot is released.
To make sure the protocol works regardless of where the message
sources are (kernel or userspace), clear the pending flag on SINT ACK
notification, and let the message sources compete for the slot again.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
This helper will be used also in Hyper-V SynIC timers implementation.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
hes split and fixes
* Use remainder to calculate peridic timer expiration time
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smeta
This rearrangement places functions declarations together
according to their functionality, so future additions
will be simplier.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuz
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC
enum hv_message_type inside struct hv_message, hv_post_message
is not size portable. Replace enum by u32.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC:
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.h | 20 ++--
1 file c
This constant is required for Hyper-V SynIC timers MSR's
support by userspace(QEMU).
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC:
On 11/27/2015 02:17 PM, Paolo Bonzini wrote:
On 26/11/2015 17:29, Andrey Smetanin wrote:
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages
On 11/27/2015 02:17 PM, Paolo Bonzini wrote:
The test logic is good, but the glue can be improved a bit so that the
output is more useful if it breaks.
Thanks for comments below. I'll redo this patch.
On 26/11/2015 17:29, Andrey Smetanin wrote:
The test checks Hyper-V SynIC t
On 11/27/2015 01:49 PM, Paolo Bonzini wrote:
On 27/11/2015 09:12, Roman Kagan wrote:
+ n = div64_u64(time_now - stimer->exp_time, stimer->count) + 1;
+ stimer->exp_time += n * stimer->count;
This is actually just a reminder calculation so I'd rather do it
directly with div64_u64
On 11/27/2015 12:34 PM, Paolo Bonzini wrote:
On 25/11/2015 16:20, Andrey Smetanin wrote:
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey
This will be used to release allocated pages by Hyper-V
SynIC timers test.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/vm.h | 1 +
1 file changed, 1 insertion
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages in appropriate
ISR's.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC:
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/x86/msr.h b/lib/x86/msr.h
index 89ed718..4ac9c71 100644
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages in appropriate
ISR's.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC:
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 4
x86/hyperv_synic.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/x86/msr.h
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/lib/x86/msr.h b/lib/x86/msr.h
index 4ac9c71
On 11/26/2015 05:43 PM, Paolo Bonzini wrote:
On 26/11/2015 10:06, Andrey Smetanin wrote:
On 11/25/2015 08:14 PM, Paolo Bonzini wrote:
On 25/11/2015 17:55, Andrey Smetanin wrote:
+gpa = synic->msg_page & PAGE_MASK;
+page = kvm_vcpu_gfn_to_page(vcpu, gpa >> PAGE_SH
On 11/25/2015 08:14 PM, Paolo Bonzini wrote:
On 25/11/2015 17:55, Andrey Smetanin wrote:
+gpa = synic->msg_page & PAGE_MASK;
+page = kvm_vcpu_gfn_to_page(vcpu, gpa >> PAGE_SHIFT);
+if (is_error_page(page)) {
+vcpu_err(vcpu, "Hyper-V SynIC can't g
On 11/26/2015 08:28 AM, Wanpeng Li wrote:
2015-11-25 23:20 GMT+08:00 Andrey Smetanin :
Per Hyper-V specification (and as required by Hyper-V-aware guests),
SynIC provides 4 per-vCPU timers. Each timer is programmed via a pair
of MSRs, and signals expiration by delivering a special format
On 11/25/2015 07:52 PM, Paolo Bonzini wrote:
On 25/11/2015 16:20, Andrey Smetanin wrote:
+static void synic_clear_sint_msg_pending(struct kvm_vcpu_hv_synic *synic,
+ u32 sint)
+{
+ struct kvm_vcpu *vcpu = synic_to_vcpu(synic);
+ struct page
ed in corresponding
MSR's. This patch seria implements such MSR's support and migration.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Denis V. Lunev
CC: Roman Kagan
CC: k...@vger.kernel.
1 - 100 of 144 matches
Mail list logo