We pass xen_vcpu_id mapping information to hypercalls which require
uint32_t type so it would be cleaner to have it as uint32_t. The
initializer to -1 can be dropped as we always do the mapping before using
it and we never check the 'not set' value anyway.
Signed-off-by: Vitaly
David Vrabel writes:
> On 28/07/16 17:24, Vitaly Kuznetsov wrote:
>> We pass xen_vcpu_id mapping information to hypercalls which require
>> uint32_t type so it would be cleaner to have it as uint32_t. The
>> initializer to -1 can be dropped as we always do the mapping befo
We pass xen_vcpu_id mapping information to hypercalls which require
uint32_t type so it would be cleaner to have it as uint32_t. The
initializer to -1 can be dropped as we always do the mapping before using
it and we never check the 'not set' value anyway.
Signed-off-by: Vitaly
"K. Y. Srinivasan" writes:
> Some miscellaneous fixes.
>
> Vitaly Kuznetsov (3):
> Drivers: hv: avoid vfree() on crash
> Drivers: hv: get rid of redundant messagecount in
> create_gpadl_header()
> Drivers: hv: don't leak memory in vmbus_establish_
Stefano Stabellini writes:
> On Tue, 6 Sep 2016, Vitaly Kuznetsov wrote:
>> Stefano Stabellini writes:
>>
>> > On Mon, 5 Sep 2016, Vitaly Kuznetsov wrote:
>> >> Julien Grall writes:
>> >>
>> >> > Hi Vitaly,
>> >>
Julien Grall writes:
> Hi Vitaly,
>
> On 07/09/2016 10:07, Vitaly Kuznetsov wrote:
>> Stefano Stabellini writes:
>>> I don't know that much about cpuid, but the virtual MPIDR is constructed
>>> from the vcpu id right now:
>>>
>>> v-&
M and use it to
initialize xen_vcpu_id mapping. This is the same trick we currently do on
x86.
Reported-by: Julien Grall
Tested-by: Wei Chen
Signed-off-by: Vitaly Kuznetsov
---
It would be nice if this patch could still make it to 4.8 as all SMP
ARM/Xen guests are currently broken.
---
ar
list_for_each -> list_for_each_entry as we actually
need entries in all these cases, drop meaningless list_empty() checks.
Signed-off-by: Vitaly Kuznetsov
---
drivers/hv/hv_balloon.c | 98 ++---
1 file changed, 53 insertions(+), 45 deletions(-)
diff --git a/drivers/
With the recently introduced in-kernel memory onlining
(MEMORY_HOTPLUG_DEFAULT_ONLINE) these it no point in waiting for pages
to come online in the driver and in case the feature is disabled the 5
second wait won't help. Get rid of the waiting.
Signed-off-by: Vitaly Kuznetsov
---
drive
the locking fine-grained with a spinlock.
Vitaly Kuznetsov (4):
Drivers: hv: balloon: keep track of where ha_region starts
Drivers: hv: balloon: account for gaps in hot add regions
Drivers: hv: balloon: get rid on ol_waitevent
Drivers: hv: balloon: replace ha_region_mutex with spinlock
and our current logic doesn't allow that. Instead, create a list of
such 'gaps' and check for them in the page online callback.
Signed-off-by: Vitaly Kuznetsov
---
drivers/hv/hv_balloon.c | 107 +---
1 file changed, 83 insertions
'moving window' was wrong (as there is no guarantee
that hot add requests come ordered) we should still keep track of
covered_start_pfn. This is not a revert, the logic is different.
Signed-off-by: Vitaly Kuznetsov
---
drivers/hv/hv_balloon.c | 7 +--
1 file changed, 5 insertions(+),
"Alex Ng (LIS)" writes:
>> -Original Message-
>> From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
>> Sent: Friday, August 5, 2016 3:49 AM
>> To: de...@linuxdriverproject.org
>> Cc: linux-kernel@vger.kernel.org; Haiyang Zhang ;
>> KY Srin
David Vrabel writes:
> On 22/08/16 16:42, Vitaly Kuznetsov wrote:
>>
>> I see two ways to fix the issue:
>> - Change the 'wire' protocol between netfront and netback to start keeping
>> the original SKB structure. We'll have to add a flag indicating
The auto incremented counter is not being used anymore, get rid of it.
Signed-off-by: Vitaly Kuznetsov
---
drivers/hv/channel_mgmt.c | 2 --
include/linux/hyperv.h| 3 ---
2 files changed, 5 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index b6c1211
of an auto incremented counter.
Changes since v1:
- Use if_instance instead of relid [K. Y. Srinivasan]
Vitaly Kuznetsov (2):
Drivers: hv: make VMBus bus ids persistent
Drivers: hv: get rid of id in struct vmbus_channel
drivers/hv/channel_mgmt.c | 2 --
drivers/hv/vmbus_drv.c| 4
.
Signed-off-by: Vitaly Kuznetsov
---
drivers/hv/vmbus_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index e82f7e1..ca7ae7a 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -961,8 +961,8 @@ int
Yauheni Kaliuta writes:
> Hi, kys!
>
>> On Wed, 24 Aug 2016 16:23:10 -0700, kys wrote:
>
> [...]
>
> > -static bool pfn_covered(unsigned long start_pfn, unsigned long pfn_cnt)
> > +static int pfn_covered(unsigned long start_pfn, unsigned long pfn_cnt)
> > {
> >struct list_head *cur
Vitaly Kuznetsov writes:
> Peter Zijlstra writes:
>
>> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote:
>>> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra
>>> wrote:
>>> >
>>> > I'm sure we talked about using HAVE_RC
Boris Ostrovsky writes:
> On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote:
>> Vitaly Kuznetsov writes:
>>
>>> In case we decide to go HAVE_RCU_TABLE_FREE for all PARAVIRT-enabled
>>> kernels (as it seems to be the easiest/fastest way to fix Xen PV) - what
&g
ggested-by: Peter Zijlstra
Signed-off-by: Vitaly Kuznetsov
---
arch/x86/Kconfig | 1 +
arch/x86/include/asm/tlb.h | 7 +++
arch/x86/mm/pgtable.c | 15 +++
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 78
Juergen Gross writes:
> On 17/08/17 11:20, Vitaly Kuznetsov wrote:
>> On x86 software page-table walkers depend on the fact that remote TLB flush
>> does an IPI: walk is performed lockless but with interrupts disabled and in
>> case the pagetable is freed the freeing CP
information we can easily
avoid calibration. This is already done for other hypervisors (KVM,
Vmware).
Vitaly Kuznetsov (2):
hyper-v: check frequency MSRs presence according to the specification
hyper-v: read TSC frequency from a synthetic MSR
arch/x86/include/uapi/asm/hyperv.h | 15
accordingly.
Signed-off-by: Vitaly Kuznetsov
---
arch/x86/include/uapi/asm/hyperv.h | 15 ++-
arch/x86/kernel/cpu/mshyperv.c | 3 ++-
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/arch/x86/include/uapi/asm/hyperv.h
b/arch/x86/include/uapi/asm/hyperv.h
index
ing a error prone calibration.
Reported-by: Ladi Prosek
Tested-by: Ladi Prosek
Signed-off-by: Vitaly Kuznetsov
---
arch/x86/kernel/cpu/mshyperv.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 3563c8e..20
ments along the way: fast
hypercall implementation and using it for event signaling, rep hypercalls
implementation, hyperv tracing subsystem (which only traces the newly added
remote TLB flush for now).
Vitaly Kuznetsov (10):
x86/hyper-v: include hyperv/ only when CONFIG_HYPERV is set
x86/hyper-v: stas
Code is arch/x86/hyperv/ is only needed when CONFIG_HYPERV is set, the
'basic' support and detection lives in arch/x86/kernel/cpu/mshyperv.c
which is included when CONFIG_HYPERVISOR_GUEST is set.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
Tested-by: Simon Xiao
Max virtual processor will be needed for 'extended' hypercalls supporting
more than 64 vCPUs. While on it, unify on 'Hyper-V' in mshyperv.c as we
currently have a mix, report acquired misc features as well.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
Tested-by
Hyper-V supports 'fast' hypercalls when all parameters are passed through
registers. Implement an inline version of a simpliest of these calls:
hypercall with one 8-byte input and no output.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
---
Changes since v4:
- Avoid unio
Hyper-V hosts may support more than 64 vCPUs, we need to use
HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX/LIST_EX hypercalls in this
case.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
---
Changes since v4:
- Use __set_bit(), minor code style changes [Andy Shevchenko]
---
arch/x86/hyperv
sible and easy to implement local TLB flushing too and there is
even a hint for that. However, I don't see a room for optimization on the
host side as both hypercall and native tlb flush will result in vmexit. The
hint is also not set on modern Hyper-V versions.
Signed-off-by: Vitaly Kuznetsov
A
To support implementing remote TLB flushing on Hyper-V with a hypercall
we need to make vp_index available outside of vmbus module. Rename and
globalize.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
Tested-by: Simon Xiao
Tested-by: Srikanth Myakam
---
arch/x86/hyperv/hv_init.c
Add Hyper-V tracing subsystem and trace hyperv_mmu_flush_tlb_others().
Tracing is done the same way we do xen_mmu_flush_tlb_others().
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
Tested-by: Simon Xiao
Tested-by: Srikanth Myakam
---
MAINTAINERS | 1
HvFlushVirtualAddressList hypercall for
remote TLB flushing.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
---
Changes since v4:
- Avoid union aliasing [Andy Shevchenko]
---
arch/x86/include/asm/mshyperv.h | 36
1 file changed, 36 insertions(+)
diff --git a
We need to pass only 8 bytes of input for HvSignalEvent which makes it a
perfect fit for fast hypercall. hv_input_signal_event_buffer is not needed
any more and hv_input_signal_event is converted to union for convenience.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
---
Changes
uring hypercall and with
inlining this is somewhat important, add the clobbers.
Signed-off-by: Vitaly Kuznetsov
Acked-by: K. Y. Srinivasan
---
Changes since v4:
- Use upper_32_bits()/lower_32_bits macros [Andy Shevchenko]
- Use "A" in 32 bits asm [Jork Loeser]
---
arch/x86/hyperv/hv_in
ixing everything VMs seem to survive overnight
test. I'll send one more related patch to VMBus core too.
Vitaly Kuznetsov (4):
hv_netvsc: netvsc_teardown_gpadl() split
hv_netvsc: protect nvdev->extension with RCU
hv_netvsc: reset net_device_ctx->nvdev with rcu_assign_pointer()
rndis_filter_receive() is called from interrupt context and may race with
rndis_filter_device_remove() resetting extension pointer. RNDIS_MSG_HALT
does not help, host may still send us messages after it. Protect extension
pointer with RCU.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv
Hyper-V hosts are known to send RNDIS messages even after we halt the
device in rndis_filter_halt_device(). Remove user visible messages
as they are not really useful.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/rndis_filter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
reliably.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/netvsc.c | 69 +++--
1 file changed, 36 insertions(+), 33 deletions(-)
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 5bb6a20072dd..bfc79698b8f4 100644
--- a/drivers
RCU_INIT_POINTER() is not suitable here as it doesn't give us ordering
guarantees (see the comment in rcupdate.h). This is also not a hotpath.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/netvsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/h
Eric Dumazet writes:
> On Tue, 2017-10-31 at 14:42 +0100, Vitaly Kuznetsov wrote:
>> RCU_INIT_POINTER() is not suitable here as it doesn't give us ordering
>> guarantees (see the comment in rcupdate.h). This is also not a hotpath.
>>
>> Signed-off-by: Vitaly K
David Miller writes:
> From: Vitaly Kuznetsov
> Date: Tue, 31 Oct 2017 15:40:06 +0100
>
>> Eric Dumazet writes:
>>
>>> On Tue, 2017-10-31 at 14:42 +0100, Vitaly Kuznetsov wrote:
>>>> RCU_INIT_POINTER() is not suitable here as it doesn't give
Stephen Hemminger writes:
> On Tue, 31 Oct 2017 14:42:02 +0100
> Vitaly Kuznetsov wrote:
>
>> @@ -2002,7 +2002,9 @@ static int netvsc_probe(struct hv_device *dev,
>> device_info.recv_sections = NETVSC_DEFAULT_RX;
>> device_info.recv_section_size
mikel...@exchange.microsoft.com writes:
> From: Michael Kelley
>
> The 2016 version of Hyper-V offers the option to operate the guest VM
> per-vcpu stimer's in Direct Mode, which means the timer interupts on its
> own vector rather than queueing a VMbus message. Direct Mode reduces
> timer proce
Vitaly Kuznetsov writes:
> mikel...@exchange.microsoft.com writes:
>
>> From: Michael Kelley
>>
>> The 2016 version of Hyper-V offers the option to operate the guest VM
>> per-vcpu stimer's in Direct Mode, which means the timer interupts on its
>> own ve
Vitaly Kuznetsov writes:
>
> Ok, I may have missed something. I'll try reproducing the crash and
> finding a better fine-grained solution.
>
It's been two days and I'm failing to reproduce the crash in
rndis_filter_receive() in my environment so I'll probably
d messages.
Changes since v1:
- Throw away patches 2 and 3 of the original series as one is unneeded and
the other is not justified [Eric Dumazet, Stephen Hemminger] so I'm only
fixing the hang now, the crash doesn't reproduce. Will keep an eye on it.
Vitaly Kuznetsov (2):
hv_netvsc: n
reliably.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/netvsc.c | 69 +++--
1 file changed, 36 insertions(+), 33 deletions(-)
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 5bb6a20072dd..bfc79698b8f4 100644
--- a/drivers
Hyper-V hosts are known to send RNDIS messages even after we halt the
device in rndis_filter_halt_device(). Remove user visible messages
as they are not really useful.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/rndis_filter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
Stephen Hemminger writes:
>
> The NAPI disable is already handled by rndis close.
Sorry, but I'm probably missing something: I can only see
netif_napi_del() call in netvsc_device_remove() but this happens much
later. And I don see us doing napi_disable() anywhere on the path.
But I'm probably mi
additional flags which are set outside
of the driver, e.g. register_netdevice() adds NETIF_F_SOFT_FEATURES and
many others.
Fill hw_features in only when we're called from netvsc_probe() and
hw_features is empty.
Signed-off-by: Vitaly Kuznetsov
---
drivers/net/hyperv/rndis_filter.c
Stephen Hemminger writes:
> On Tue, 14 Nov 2017 16:22:05 +0100
> Vitaly Kuznetsov wrote:
>
> Yes, this looks like a real issue.
>
>> +/* Query hardware capabilities if we're called from netvsc_probe() */
>> +if (!net->hw_features) {
>> +
Makefiles usually come with 'install' target included so each distro
doesn't need to implement the procedure from scratch. Add it to tools/hv.
Signed-off-by: Vitaly Kuznetsov
---
tools/hv/Makefile | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
dif
Wanpeng Li writes:
> 2017-08-03 0:09 GMT+08:00 Vitaly Kuznetsov :
>> Changes since v9:
>> - Rebase to 4.13-rc3.
>> - Drop PATCH1 as it was already taken by Greg to char-misc tree. There're no
>> functional dependencies on this patch so the series can go throug
Wanpeng Li writes:
> 2017-11-06 17:14 GMT+08:00 Vitaly Kuznetsov :
>> Wanpeng Li writes:
>>
>>> 2017-08-03 0:09 GMT+08:00 Vitaly Kuznetsov :
>>>> Changes since v9:
>>>> - Rebase to 4.13-rc3.
>>>> - Drop PATCH1 as it wa
Boris Petkov writes:
> On October 27, 2017 6:02:00 PM GMT+02:00, Dou Liyang
> wrote:
>>Commit:
>>
>> 9043442b43b1 ("locking/paravirt: Use new static key for controlling
>> call of virt_spin_lock()")
>>
>>set the static virt_spin_lock_key to a value before jump_label_init()
>>has been called,
Greg KH writes:
> On Sun, Oct 29, 2017 at 12:21:09PM -0700, k...@exchange.microsoft.com wrote:
>> From: Vitaly Kuznetsov
>>
>> Add tracepoint to CHANNELMSG_OPENCHANNEL sender.
>>
>> Signed-off-by: Vitaly Kuznetsov
>> Signed-off-by: K. Y. Srinivasan
Greg KH writes:
> On Mon, Oct 30, 2017 at 09:16:19AM +0100, Vitaly Kuznetsov wrote:
>> Greg KH writes:
>>
>> > On Sun, Oct 29, 2017 at 12:21:09PM -0700, k...@exchange.microsoft.com
>> > wrote:
>> >> From: Vitaly Kuznetsov
>> >&g
uffer printed out on crash should be top priority.
Signed-off-by: Vitaly Kuznetsov
---
kernel/panic.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/kernel/panic.c b/kernel/panic.c
index 04e91ff..f94525f 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -23,6 +23,7 @@
#in
tch does appropriate cleanup in case of vmbus_connect() failure.
>
> Signed-off-by: Andrey Smetanin
> Signed-off-by: Denis V. Lunev
> CC: "K. Y. Srinivasan"
> CC: Haiyang Zhang
> CC: Vitaly Kuznetsov
Reviewed-by: Vitaly Kuznetsov
> ---
> drivers/hv/vmbus_drv.c | 4
ts
serial port being extremely slow multi-VCPU guests we get CPU blocked
putting these (useless) messages on console (e.g. happens when we add
multiple disks). Move them to debug level.
Signed-off-by: Vitaly Kuznetsov
---
drivers/scsi/scsi_scan.c | 2 +-
1 file changed, 1 insertion(+), 1 delet
() disables irqs
for all its execution time (which on such slow consoles can be dozens of
seconds), it should be possible to observe devices being stuck on this
CPU. We need to find a better way, e.g. do output in batches enabling irqs
in between.
Signed-off-by: Vitaly Kuznetsov
---
drivers/tty/serial
n is still running
we get the message and stack dump on console.
Signed-off-by: Vitaly Kuznetsov
---
drivers/scsi/scsi_scan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
index f9f3f82..01ad016 100644
--- a/drivers/scsi/s
James Bottomley writes:
> On Mon, 2015-08-31 at 14:50 +0200, Vitaly Kuznetsov wrote:
>> Some Hyper-V hosts are known for ignoring SPC-2/3/4 requirement
>> for 'INQUIRY data (see table ...) shall contain at least 36 bytes'. As a
>> result we get tons on 'scs
Hannes Reinecke writes:
> On 10/08/2015 06:54 PM, Vitaly Kuznetsov wrote:
>> Some host adapters (e.g. Hyper-V storvsc) are known for not respecting the
>> SPC-2/3/4 requirement for 'INQUIRY data (see table ...) shall contain at
>> least 36 bytes'. As a result we
Hannes Reinecke writes:
> On 10/12/2015 05:16 PM, Vitaly Kuznetsov wrote:
>> Hannes Reinecke writes:
>>
>>> On 10/08/2015 06:54 PM, Vitaly Kuznetsov wrote:
>>>> Some host adapters (e.g. Hyper-V storvsc) are known for not respecting the
>>>> SP
Introduced by:
>commit b4370df2b1f5158de028e167974263c5757b34a6
>Author: Vitaly Kuznetsov
>Date: Sat Aug 1 16:08:09 2015 -0700
>
>Drivers: hv: vmbus: add special crash handler
>
> Signed-off-by: Stephen Hemminger
>
> --- a/arch/x86/kernel/cpu/mshyperv.c 2015-09-07 10:11:24.994885115
'
>>
>> Introduced by:
>>commit b4370df2b1f5158de028e167974263c5757b34a6
>>Author: Vitaly Kuznetsov
>>Date: Sat Aug 1 16:08:09 2015 -0700
>>
>>Drivers: hv: vmbus: add special crash handler
>>
>>
>> Signed-off
Ingo Molnar writes:
> * Vitaly Kuznetsov wrote:
>
>> Ingo Molnar writes:
>>
>> > * Stephen Hemminger wrote:
>> >
>> >> Fixes regression 4.3 mergw window in my config
>> >> where hyperv is enable but CONFIG_KEXEC not enabled
: Jiang Liu
Cc: Yinghai Lu
Cc: K. Y. Srinivasan
Signed-off-by: Vitaly Kuznetsov
---
It may make sense to have interrupts disabled for non-legacy IRQs as well
but I'm unaware of any bugs with them at this moment.
---
arch/x86/kernel/apic/io_apic.c | 8 +++-
1 file changed, 7 inser
try doing scsi_remove_device().
shost->scan_mutex only serializes their calls to __scsi_remove_device()
and we end up doing the cleanup path twice.
Signed-off-by: Vitaly Kuznetsov
---
drivers/scsi/scsi_sysfs.c | 8
1 file changed, 8 insertions(+)
diff --git a/drivers/scsi/scsi_sysfs
Peter Hurley writes:
> Hi Vitaly,
>
> On 08/31/2015 10:34 AM, Vitaly Kuznetsov wrote:
>> Hyper-V serial port is very slow on multi-vCPU guest
>
> How slow and why?
>
Not sure why, but here is a trace:
1) | serial82
console. This can be
problematic for slow consoles. Introduce short_inquiry host template flag
to avoid printing error messages for such adapters.
Signed-off-by: Vitaly Kuznetsov
---
Changes since v1:
- This is a successor of previously sent "scsi_scan: move 'INQUIRY result
too short' mes
Greg Kroah-Hartman writes:
> On Mon, Aug 31, 2015 at 04:34:16PM +0200, Vitaly Kuznetsov wrote:
>> Hyper-V serial port is very slow on multi-vCPU guest, this causes
>> soflockups on intensive console writes. Touch nmi watchdog after putting
>> every char on port to avoid the
string_get_size(1, 512, 0, ..., ...) call results in an infinite loop. The
problem is that if size == 0 when we start calculating sf_cap this loop
will never end.
The caller causing the issue is sd_read_capacity(), the problem was noticed
on Hyper-V.
Signed-off-by: Vitaly Kuznetsov
---
lib
Olaf Hering writes:
> The Backup integration service on WS2012 has appearently trouble to
> negotiate with a guest which does not support the provided util version.
> Currently the VSS driver supports only version 5/0. A WS2012 offers only
> version 1/x and 3/x, and vmbus_prep_negotiate_resp corr
Bart Van Assche writes:
> On 10/22/2015 10:12 AM, Vitaly Kuznetsov wrote:
>> On some host errors storvsc module tries to remove sdev by scheduling a job
>> which does the following:
>>
>> sdev = scsi_device_lookup(wrk->host, 0, 0, wrk->lun);
>> if
Rasmus Villemoes writes:
> On Thu, Sep 17 2015, Vitaly Kuznetsov wrote:
>
>> +
>> +static __init void test_string_get_size(void)
>> +{
>> +test_string_get_size_one(16384, 512, STRING_UNITS_2, "8.00 MiB");
>> +test_string_get_size_one(8192,
as it can overflow. Do the
math in two steps:
1) Reduce size to something < blk_size * divisor[units]
2) Multiply the result (and the remainder) by blk_size and do final
calculations.
Reported-by: Rasmus Villemoes
Signed-off-by: Vitaly Kuznetsov
---
lib/string_helpers.c | 46 +++
Add a couple of simple tests for string_get_size().
Signed-off-by: Vitaly Kuznetsov
---
lib/test-string_helpers.c | 44
1 file changed, 44 insertions(+)
diff --git a/lib/test-string_helpers.c b/lib/test-string_helpers.c
index 8e376ef..a158cb3 100644
quot; series but afaics wasn't merged. In this submission
I add additional tests to it.
Vitaly Kuznetsov (3):
lib/string_helpers: change blk_size to u32 for string_get_size()
interface
lib/string_helpers.c: don't lose precision in string_get_size()
lib/test-string_helpers.c: add
string_get_size() can't really handle huge block sizes, especially
blk_size > U32_MAX but string_get_size() interface states the opposite.
Change blk_size from u64 to u32 to reflect the reality.
Signed-off-by: Vitaly Kuznetsov
---
include/linux/string_helpers.h | 2 +-
lib/string_h
Andy Shevchenko writes:
> On Mon, 2015-10-26 at 14:55 +0100, Vitaly Kuznetsov wrote:
>> Add a couple of simple tests for string_get_size().
>>
>
> In linux-next this one (or similar?) is commit 29f3d140.
> I don't think you need it in the series since it's in A
Andy Shevchenko writes:
> On Mon, 2015-10-26 at 16:18 +0100, Vitaly Kuznetsov wrote:
>> Andy Shevchenko writes:
>>
>> > On Mon, 2015-10-26 at 14:55 +0100, Vitaly Kuznetsov wrote:
>> > > Add a couple of simple tests for string_get_size().
>> > >
Andy Shevchenko writes:
> On Mon, 2015-10-26 at 14:55 +0100, Vitaly Kuznetsov wrote:
>> string_get_size() loses precision when there is a remainder for
>> blk_size / divisor[units] and size is big enough. E.g
>> string_get_size(8192, 4096, STRING_UNITS_10, ...) returns &qu
Rasmus Villemoes writes:
> So I also played with this over the weekend, and also threw together a
> stupid script to check the output. I see you have more or less the same
> idea I used, namely to combine size and blk_size earlier.
>
> I put some code on github, https://github.com/Villemoes/get_s
Rasmus Villemoes writes:
> On Mon, Oct 26 2015, Vitaly Kuznetsov wrote:
>
>> Add a couple of simple tests for string_get_size().
>>
>> Signed-off-by: Vitaly Kuznetsov
>> ---
>> lib/test-string_helpers.c | 44 ++
_INTERFACE.
>
> Change ms_hyperv_platform to actually do what the specification suggests.
> This roughy matches what Windows looks for, though Windows actually
> ignores HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS completely.
>
> Signed-off-by: Paolo Bonzini
Reviewed-by: Vitaly Kuznetsov
Paolo Bonzini writes:
> On 30/07/2018 11:14, Vitaly Kuznetsov wrote:
>> Paolo Bonzini writes:
>>
>>> On 27/07/2018 18:48, Jim Mattson wrote:
>>>> On a physical machine, I would expect the default local APIC page to
>>>> fall in the PCI ho
y is enabled: we allocate APIC access page and
create KVM memory region so in x2APIC modes all reads and writes go to
this pre-allocated page which is, btw, the same for all vCPUs.
Signed-off-by: Vitaly Kuznetsov
---
Changes since RFC:
- add KVM_X86_QUIRK_LAPIC_MMIO_HOLE disabling the newly introduc
sted Hyper-V on
KVM. Using it helps to spare 1500 cpu cycles for nested vmexit (tight cpuid
loop in WS2016 with Hyper-V role on KVM: 15200 cycles -> 13700 cycles).
Ladi Prosek (1):
KVM: hyperv: define VP assist page helpers
Vitaly Kuznetsov (5):
KVM: VMX: refactor evmcs_sanitize_exec_ctrls(
KVM_CAP_HYPERV_ENLIGHTENED_VMCS. The version is to
be advertised to the nested hypervisor, currently done via a cpuid
leaf for Hyper-V.
Suggested-by: Ladi Prosek
Signed-off-by: Vitaly Kuznetsov
Reviewed-by: Liran Alon
---
Changes since v1:
- Add a comment explaining "<< 8) | 1" [Liran Alon]
---
arch
Split off EVMCS1_UNSUPPORTED_* macros so we can re-use them when
enabling Enlightened VMCS for Hyper-V on KVM.
Signed-off-by: Vitaly Kuznetsov
---
arch/x86/kvm/vmx.c | 108 +++--
1 file changed, 47 insertions(+), 61 deletions(-)
diff --git a/arch
tened VMCS structure for the current L2 guest permanently mapped
from struct nested_vmx instead of mapping it every time.
Suggested-by: Ladi Prosek
Signed-off-by: Vitaly Kuznetsov
Reviewed-by: Liran Alon
---
arch/x86/kvm/vmx.c | 98 ++
1 file c
-dependent (and
a bit ugly).
Signed-off-by: Vitaly Kuznetsov
---
Changes since v1:
- Convert evmcs_needs_write() to inline function [Liran Alon]
---
arch/x86/kvm/vmx.c | 158 +++--
1 file changed, 94 insertions(+), 64 deletions(-)
diff --git a/ar
Adds hv_evmcs pointer and implement copy_enlightened_to_vmcs12() and
copy_enlightened_to_vmcs12().
prepare_vmcs02()/prepare_vmcs02_full() separation is not valid for
Enlightened VMCS, do full sync for now.
Suggested-by: Ladi Prosek
Signed-off-by: Vitaly Kuznetsov
---
Changes since v1:
- Drop
From: Ladi Prosek
The state related to the VP assist page is still managed by the LAPIC
code in the pv_eoi field.
Signed-off-by: Ladi Prosek
Signed-off-by: Vitaly Kuznetsov
Reviewed-by: Liran Alon
---
arch/x86/kvm/hyperv.c | 23 +--
arch/x86/kvm/hyperv.h | 4
arch
.
Nothing stops us from being equally 'smart' in Linux too. Switch to
doing cheaper hypercalls whenever possible.
Signed-off-by: Vitaly Kuznetsov
Reviewed-by: Michael Kelley
---
Changes since v1:
- Re-worded comment about the optimization in hyperv_flush_tlb_others()
[Thomas Gl
passing parameters through registers) but
apparently this is not true, Windows always uses it as 'fast' so we need
to support that.
Signed-off-by: Vitaly Kuznetsov
---
Documentation/virtual/kvm/api.txt | 8 +++
arch/x86/kvm/hyperv.c | 116
1 - 100 of 2619 matches
Mail list logo