Add tracepoint to CHANNELMSG_RELID_RELEASED sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 7 +--
drivers/hv/hv_trace.h | 16
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/hv/channel_mg
Add tracepoint to vmbus_on_message() which is called when we start
processing a blocking from work context.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 5 +
2 files changed, 7 insertions(+)
diff --git a/driv
Add tracepoint to CHANNELMSG_OFFERCHANNEL handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 37 +
2 files changed, 39 insertions(+)
diff --git a/drivers/hv/channel_mg
Add tracepoint to CHANNELMSG_GPADL_TORNDOWN handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 8
2 files changed, 10 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
ANNELMSG_UNLOAD/CHANNELMSG_UNLOAD_RESPONSE are not traced as these are
mostly used on crash.
Vitaly Kuznetsov (16):
hyper-v: trace vmbus_on_msg_dpc()
hyper-v: trace vmbus_on_message()
hyper-v: trace vmbus_onoffer()
hyper-v: trace vmbus_onoffer_rescind()
hyper-v: trace vmbus_onopen_result()
Steven Rostedt <rost...@goodmis.org> writes:
> On Wed, 20 Sep 2017 19:21:53 +0200
> Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
>> index 9a29ef55477d..72911dfc9682 100644
>> --- a/dr
Add tracepoint to CHANNELMSG_GPADL_HEADER/CHANNELMSG_GPADL_BODY sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel.c | 6 ++
drivers/hv/hv_trace.h | 42 ++
2 files changed, 48 insertions(+)
diff --git a/driv
Add tracepoint to CHANNELMSG_CLOSECHANNEL sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel.c | 2 ++
drivers/hv/hv_trace.h | 15 +++
2 files changed, 17 insertions(+)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 7b114b
Add tracepoint to CHANNELMSG_VERSION_RESPONSE handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 3 +++
drivers/hv/hv_trace.h | 11 +++
2 files changed, 14 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_
Add tracepoint to CHANNELMSG_INITIATE_CONTACT sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/connection.c | 3 +++
drivers/hv/hv_trace.h | 26 ++
2 files changed, 29 insertions(+)
diff --git a/drivers/hv/connection.c b/driv
Add tracepoint to CHANNELMSG_GPADL_TEARDOWN sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel.c | 2 ++
drivers/hv/hv_trace.h | 18 ++
2 files changed, 20 insertions(+)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
Add tracepoint to CHANNELMSG_RELID_RELEASED sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 7 +--
drivers/hv/hv_trace.h | 16
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/hv/channel_mg
Add tracepoint to CHANNELMSG_TL_CONNECT_REQUEST sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel.c | 7 ++-
drivers/hv/hv_trace.h | 20
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/channel.c b/driv
Add tracepoint to CHANNELMSG_RESCIND_CHANNELOFFER handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 8
2 files changed, 10 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_
Add tracepoint to CHANNELMSG_REQUESTOFFERS sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 4 +++-
drivers/hv/hv_trace.h | 8
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/channel_mgmt.c b/driv
Add tracepoint to CHANNELMSG_OPENCHANNEL sender.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel.c | 2 ++
drivers/hv/hv_trace.h | 27 +++
2 files changed, 29 insertions(+)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
Add tracepoint to CHANNELMSG_OFFERCHANNEL handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 37 +
2 files changed, 39 insertions(+)
diff --git a/drivers/hv/channel_mg
Add tracepoint to CHANNELMSG_GPADL_TORNDOWN handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 8
2 files changed, 10 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
Add tracepoint to CHANNELMSG_GPADL_CREATED handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 17 +
2 files changed, 19 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_
Add tracepoint to CHANNELMSG_OPENCHANNEL_RESULT handler.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 17 +
2 files changed, 19 insertions(+)
diff --git a/drivers/hv/channel_mgmt.c b/driv
Add tracepoint to vmbus_on_message() which is called when we start
processing a blocking from work context.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/channel_mgmt.c | 2 ++
drivers/hv/hv_trace.h | 8
2 files changed, 10 insertions(+)
diff --git a/d
.. 465.932709: vmbus_close_internal: sending
child_relid 0x10, ret 0
kworker/5:4-2535 [005] 465.986417: vmbus_release_relid: sending
child_relid 0x10, ret 0
CHANNELMSG_UNLOAD/CHANNELMSG_UNLOAD_RESPONSE are not traced as these are
mostly used on crash.
Vitaly Kuznetsov (16):
hyper-v: trace v
Add tracing subsystem to Hyper-V VMBus module and add tracepoint
to vmbus_on_msg_dpc() which is called when we receive a message from host.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
drivers/hv/Makefile | 4 +++-
drivers/hv/hv_trace.c | 4
drivers/hv/hv_t
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
>
> Reverting 6f3d791f300618caf82a2be0c27456edd76d5164 still helps.
In addition to the above I got the following crash while playing with
4.14-rc1 (unmodified):
[ 55.810080] kernel tried to execute NX-protected page - exploit attem
Stephen Hemminger <step...@networkplumber.org> writes:
> On Sep 15, 2017 11:01 AM, "KY Srinivasan" <k...@microsoft.com> wrote:
>
> > Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> >
> > >
> > > I'm see
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> Stephen Hemminger <step...@networkplumber.org> writes:
>
>> On Fri, 11 Aug 2017 10:03:59 -0700
>> k...@exchange.microsoft.com wrote:
>>
>>> From: K. Y. Srinivasan <k...@microsoft.com>
>>
Stephen Hemminger writes:
> On Fri, 11 Aug 2017 10:03:59 -0700
> k...@exchange.microsoft.com wrote:
>
>> From: K. Y. Srinivasan
>>
>> This patch handles the following issues that were observed when we are
>> handling racing channel offer message
Commit 7dcf90e9e032 ("PCI: hv: Use vPCI protocol version 1.2") and
commit 628f54cc6451 ("x86/hyper-v: Support extended CPU ranges for TLB
flush hypercalls") adding the same definition came through different
trees. Fix the glitch.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@re
Ingo Molnar <mi...@kernel.org> writes:
> * Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> > Changes since v9:
>> > - Rebase to 4.13-rc3.
>> > - Drop PATCH1 as it was already taken by Greg to char-misc tree. There're
>> > no
>> &g
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> 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 through a
> different tree
> (and it
Olaf Hering writes:
> If strace attaches to the daemon pread returns with EINTR, and the
> process exits. Catch this case and continue with the next iteration.
>
> Signed-off-by: Olaf Hering
> ---
> tools/hv/hv_fcopy_daemon.c | 2 ++
> 1 file changed, 2
Ingo Molnar writes:
> I'm getting this build failure with this series:
>
> arch/x86/hyperv/mmu.c: In function ‘hyperv_setup_mmu_ops’:
> arch/x86/hyperv/mmu.c:256:3: error: ‘pv_mmu_ops’ undeclared (first use in
> this
> function)
>pv_mmu_ops.flush_tlb_others =
Ingo Molnar <mi...@kernel.org> writes:
> * Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
>>
>> > Changes since v9:
>> > - Rebase to 4.13-rc3.
>> > - Drop PAT
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> 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 through a
> different tree
> (and it
Stephen Hemminger <step...@networkplumber.org> writes:
> On Tue, 08 Aug 2017 17:24:03 +0200
> Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> Stephen Hemminger <step...@networkplumber.org> writes:
>>
>> > On Tue, 08 Aug 2017 16:03:56 +0200
&
Stephen Hemminger <step...@networkplumber.org> writes:
> On Tue, 08 Aug 2017 16:03:56 +0200
> Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> Stephen Hemminger <step...@networkplumber.org> writes:
>>
>> > Previous fix was incomplete.
>&
Stephen Hemminger writes:
> Previous fix was incomplete.
>
Not really related to this patch series (which btw fixes my issue,
thanks!), but I found one addition issue. Systemd fails to rename VF
interface:
kernel: mlx4_core 0002:00:02.0 eth2: joined to eth1
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
>
>> Stephen Hemminger <step...@networkplumber.org> writes:
>>
>>> With new transparent VF support, it is possible to get a deadlock
>>> when some
Vitaly Kuznetsov <vkuzn...@redhat.com> writes:
> Stephen Hemminger <step...@networkplumber.org> writes:
>
>> With new transparent VF support, it is possible to get a deadlock
>> when some of the deferred work is running and the unregister_vf
>> is trying to c
similar to bonding and team device).
>
> Reported-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
> Fixes: 0c195567a8f6 ("netvsc: transparent VF management")
> Signed-off-by: Stephen Hemminger <sthem...@microsoft.com>
> ---
> drivers/net/hyperv/netvsc_drv.
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemm
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem..
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemm
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
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 <vkuzn...@redhat.com>
Reviewed-by
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Steph
for HvFlushVirtualAddressList hypercall for
remote TLB flushing.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem...@microsoft.com>
---
arch/x86/include/asm/mshyperv.h | 39
hypercall and with
inlining this is somewhat important, add the clobbers.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem...@microsoft.com>
---
arch/x86/hyperv/hv
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
hypercalls
implementation, hyperv tracing subsystem (which only traces the newly added
remote TLB flush for now).
Vitaly Kuznetsov (9):
x86/hyper-v: include hyperv/ only when CONFIG_HYPERV is set
x86/hyper-v: make hv_do_hypercall() inline
x86/hyper-v: fast hypercall implementation
hyper-v: use fast
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemm
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 <vkuzn...@redhat.com>
Reviewed-by
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem..
for HvFlushVirtualAddressList hypercall for
remote TLB flushing.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem...@microsoft.com>
---
arch/x86/include/asm/mshyperv.h | 39
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemm
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Steph
hypercall and with
inlining this is somewhat important, add the clobbers.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Reviewed-by: Stephen Hemminger <sthem...@microsoft.com>
---
arch/x86/hyperv/hv
2m9.948s
This series brings a number of small improvements 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
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shev
Andy Lutomirski <l...@kernel.org> writes:
> On Tue, May 23, 2017 at 5:36 AM, Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>> Andy Lutomirski <l...@kernel.org> writes:
>>
>>>
>>> Also, can you share the benchmark you used for these patches
kbuild test robot writes:
> Hi Vitaly,
>
> [auto build test ERROR on next-20170619]
> [cannot apply to tip/x86/core linus/master linux/master v4.12-rc6 v4.12-rc5
> v4.12-rc4 v4.12-rc7]
> [if your patch is applied to the wrong git tree, please drop us a note to
> help improve
a error prone calibration.
Reported-by: Ladi Prosek <lpro...@redhat.com>
Tested-by: Ladi Prosek <lpro...@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
arch/x86/kernel/cpu/mshyperv.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/a
accordingly.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
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/includ
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
a error prone calibration.
Reported-by: Ladi Prosek <lpro...@redhat.com>
Tested-by: Ladi Prosek <lpro...@redhat.com>
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
arch/x86/kernel/cpu/mshyperv.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/a
accordingly.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
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/includ
TSC calibration on virtual machines is always error prone. It was found
that in nested environments Gen2 instances may get stuck on boot. As
Hyper-V hosts provide us with all the required information we can easily
avoid calibration. This is already done for other hypervisors (KVM,
Vmware).
Vitaly
Stephen Hemminger <step...@networkplumber.org> writes:
> On Wed, 14 Jun 2017 04:31:32 +
> Jork Loeser <jork.loe...@microsoft.com> wrote:
>
>> > From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
>> > Sent: Tuesday, June 13, 2017 19:29
>> >
&g
Stephen Hemminger <step...@networkplumber.org> writes:
> On Fri, 9 Jun 2017 15:27:33 +0200
> Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> To support implementing remote TLB flushing on Hyper-V with a hypercall
>> we need to make vp_index availabl
Steven Rostedt writes:
> On Fri, 09 Jun 2017 20:53:53 +0200
> Paul Bolle wrote:
>
>> On Fri, 2017-06-09 at 14:32 -0400, Steven Rostedt wrote:
>> > I'm sure it works, but it just adds one more way of doing the same
>> > thing. I thought that was what perl
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 <vkuzn...@redhat.com>
---
MAINTAINERS | 1 +
arch/x86/hyperv/mmu.c | 7 +++
ar
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 <vkuzn...@redhat.com>
---
arch/x86/hyperv/Makefile | 2 +-
arch/x86/hyperv/hv_init.c | 2 +
arch/x86/
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 <vkuzn...@redhat.com>
---
Changes since v7:
- Drop explicit casting from virt_to_phys() [Andy Shevchenko]
- Re-format ma
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
arch/x86/hype
for HvFlushVirtualAddressList hypercall for
remote TLB flushing.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
arch/x86/include/asm/mshyperv.h | 39 +++
1 file changed, 39 insertions(+)
diff --gi
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
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 <vkuzn...@redhat.com>
Reviewed-by
hypercall and with
inlining this is somewhat important, add the clobbers.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
Changes since v7:
- Use U64_MAX instead of (u64)ULLONG_MAX [Andy Shevchenko]
---
arch/x86/hype
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
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shev
Steven Rostedt writes:
>>
>> I'm pretty sure I tested tracing this even before sending v2 of this
>> series, I'll retest before sending v7.
>
> Even if it does work, it's still fragile as it uses an
> no-longer-supported framework.
>
I hope I fixed it in v7 of my patchset,
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 <vkuzn...@redhat.com>
---
Changes since v6:
- Drop DEFINE_TRACE() from mmu.c, change tracing magic a bit to
keep things com
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 <vkuzn...@redhat.com>
---
arch/x86/hyperv/Makefile | 2 +-
arch/x86/hyperv/hv_init.c | 2 +
arch/x86/
for HvFlushVirtualAddressList hypercall for
remote TLB flushing.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
arch/x86/include/asm/mshyperv.h | 39 +++
1 file changed, 39 insertions(+)
diff --gi
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 <vkuzn...@redhat.com>
---
Changes since v6:
- Fix a bug in cpumask_to_vp_set() by setting valid_bank_mask right,
add 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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
arch/x86/hype
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shev
hypercall and with
inlining this is somewhat important, add the clobbers.
Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
arch/x86/hyperv/hv_init.c | 54 -
arch/x86/include/as
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 <vkuzn...@redhat.com>
Reviewed-by
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
lls
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: stash the max number of virtual/logical processor
x86/hyper-v: make hv_do_hypercall() inline
Steven Rostedt <rost...@goodmis.org> writes:
> On Wed, 24 May 2017 14:04:05 +0200
> Vitaly Kuznetsov <vkuzn...@redhat.com> wrote:
>
>> Add Hyper-V tracing subsystem and trace hyperv_mmu_flush_tlb_others().
>> Tracing is done the same way we do xen_mmu_flus
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 <vkuzn...@redhat.com>
---
Changes since v5:
- Do single pass in cpumask_to_vp_set() as it turns our that empty banks
are
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
Changes sinc
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
MAINTAINERS
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 <vkuzn...@redhat.com>
---
Changes since v5:
- Use BIT() in asm/hyperv.h [Andy Shevchenko]
- Split off fill_gva_list()
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 <vkuzn...@redhat.com>
Reviewed-by: Andy Shevchenko <and
201 - 300 of 944 matches
Mail list logo