In case there was an error reported in the response to the
CHANNELMSG_OPENCHANNEL
call we need to do the cleanup as a vmbus_open() user won't be doing it after
receiving an error. The cleanup should be done on all failure paths.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv
.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 29 -
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 8f2761f..daa6417 100644
--- a/drivers/hv/channel_mgmt.c
. This is a
small refactoring without a functional change.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 142 +++---
1 file changed, 71 insertions(+), 71 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv
creates additional
complexity. Simplify the vmbus_get_outgoing_channel() function, make it do what
the comment before it says.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 27 +--
1 file changed, 9 insertions(+), 18 deletions(-)
diff
for the current vcpu). Please let me know if you think
it is preferable.
Vitaly Kuznetsov (6):
Drivers: hv: vmbus: unify calls to percpu_channel_enq()
Drivers: hv: vmbus: briefly comment num_sc and next_oc
Drivers: hv: vmbus: decrease num_sc on subchannel removal
Drivers: hv: vmbus: move init_vp_index
It is unlikely that that host will ask us to close only one subchannel for a
device but let's be consistent. Do both num_sc++ and num_sc-- with
channel-lock to be on the safe side.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 3 ++-
1 file changed, 2
Remove some code duplication, no functional change intended.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 51 +--
1 file changed, 18 insertions(+), 33 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers
next_oc and num_sc fields of struct vmbus_channel deserve a description. Move
them closer to sc_list as these fields are related to it.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
include/linux/hyperv.h | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git
Dan Carpenter dan.carpen...@oracle.com writes:
On Tue, Apr 21, 2015 at 10:17:52AM +0200, Vitaly Kuznetsov wrote:
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 54da66d..836386f 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -186,11 +186,12 @@ int vmbus_open
Dexuan Cui de...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Tuesday, April 21, 2015 22:28
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui
Subject: [PATCH 5/6
Dexuan Cui de...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Tuesday, April 21, 2015 22:28
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui
Subject: [PATCH 3/6
Dexuan Cui de...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Tuesday, April 21, 2015 22:28
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui
Subject: [PATCH 4/6
Dexuan Cui de...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Tuesday, April 21, 2015 22:28
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui
Subject: [PATCH 6/6
Dexuan Cui de...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Wednesday, April 22, 2015 0:22
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui; Dan Carpenter
Subject
six...@microsoft.com writes:
From: Simon Xiao six...@microsoft.com
Signed-off-by: Simon Xiao six...@microsoft.com
Reviewed-by: K. Y. Srinivasan k...@microsoft.com
Reviewed-by: Haiyang Zhang haiya...@microsoft.com
I don't quite understand what problem is being solved here (and empty
commit
-response.open_result.status as the return value as
all other errors we return from vmbus_open() are -EXXX and vmbus_open() callers
are not supposed to analyze host error codes.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions
vmbus_isr() uses synic pages which are being setup in hv_synic_alloc(), we
need to register this irq handler only after we allocate all the required
pages.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions
(with the fix I suggested). I tested the whole
set on Gen2 Win2012R2 guest, load/unload path seems being stable. Can you
please take a look?
Thanks,
Vitaly Kuznetsov (3):
Drivers: hv: vmbus: do cleanup on all vmbus_open() failure paths
Drivers: hv: vmbus: kill tasklets on module unload
Explicitly kill tasklets we create on module unload.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 2b56260..cf20400 100644
--- a/drivers
KY Srinivasan k...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Friday, April 24, 2015 2:05 AM
To: Dexuan Cui
Cc: KY Srinivasan; Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org
Subject: Re: [PATCH 5/6
next_oc and num_sc fields of struct vmbus_channel deserve a description. Move
them closer to sc_list as these fields are related to it.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
include/linux/hyperv.h | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git
anymore, see 'Changes').
Patches 01 - 04 are cleanup/refactoring.
Vitaly Kuznetsov (6):
Drivers: hv: vmbus: unify calls to percpu_channel_enq()
Drivers: hv: vmbus: briefly comment num_sc and next_oc
Drivers: hv: vmbus: decrease num_sc on subchannel removal
Drivers: hv: vmbus: move
.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 39 +++
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 1f1417d..cdc3914 100644
--- a/drivers/hv
.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 29 -
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 655c0a0..1f1417d 100644
--- a/drivers/hv/channel_mgmt.c
Remove some code duplication, no functional change intended.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 51 +--
1 file changed, 18 insertions(+), 33 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers
It is unlikely that that host will ask us to close only one subchannel for a
device but let's be consistent. Do both num_sc++ and num_sc-- with
channel-lock to be on the safe side.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 3 ++-
1 file changed, 2
. This is a
small refactoring without a functional change.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/channel_mgmt.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index c53a171..655c0a0 100644
KY Srinivasan k...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Tuesday, April 21, 2015 9:22 AM
To: KY Srinivasan
Cc: Haiyang Zhang; de...@linuxdriverproject.org; linux-
ker...@vger.kernel.org; Dexuan Cui; Dan Carpenter
Subject
after the
hv_memory_notifier() in the notification chain failed so we need to add
the mutex_is_locked() check. In case of MEM_ONLINE we are always supposed
to have the mutex locked.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_balloon.c | 4 +++-
1 file changed, 3
Dan Carpenter dan.carpen...@oracle.com writes:
On Thu, Apr 09, 2015 at 10:38:32AM +0200, Vitaly Kuznetsov wrote:
..., make it inline and rename it to hv_poll_channel() so it can be reused
in other hv_util modules.
The ..., is fine in the git log but I noticed recently that if you're
] [8107dc5f]
__request_resource+0x2f/0x50
[ 38.166315] RSP: 0018:88003f60fb58 EFLAGS: 00010286
...
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
patch prevents
a crash on module unload/load back path brought by recently introduced VMbus
crash
notifier.
With these two patches I was able to successfuly load/unload/load back hv_vmbus
module under Win2012R2.
Vitaly Kuznetsov (2):
Drivers: hv: vmbus: introduce vmbus_acpi_remove
Drivers: hv
[8109d63f] notifier_call_chain+0x3f/0x80
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 0d8d1d7..7870a90 100644
--- a/drivers/hv/vmbus_drv.c
+++ b
KY Srinivasan k...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Wednesday, March 11, 2015 6:29 AM
To: KY Srinivasan; de...@linuxdriverproject.org
Cc: Haiyang Zhang; linux-kernel@vger.kernel.org; Dexuan Cui; Radim Krcmar;
Greg
as all retries
fail as well. It should also be possible to trigger the issue from userspace, I
expect e.g. NFS under heavy load to get stuck sometimes.
Vitaly Kuznetsov (2):
hv_netvsc: use single existing drop path in netvsc_start_xmit
hv_netvsc: try linearizing big SKBs before dropping them
sender to try
resending it but in most cases it will try resending the same packet which will
also get dropped, this will cause the particular connection to stick. To solve
the issue we can try linearizing skb.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/net/hyperv/netvsc_drv.c
... which validly uses dev_kfree_skb_any() instead of dev_kfree_skb().
Setting ret to -EFAULT and -ENOMEM have no real meaning here (we need to set
it to anything but -EAGAIN) as we drop the packet and return NETDEV_TX_OK
anyway.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers
David Miller da...@davemloft.net writes:
From: Vitaly Kuznetsov vkuzn...@redhat.com
Date: Wed, 8 Apr 2015 17:54:04 +0200
This patch series fixes the same issue which was fixed in Xen with commit
97a6d1bb2b658ac85ed88205ccd1ab809899884d (xen-netfront: Fix handling
packets on
compound
Introduce VSS_OP_REGISTER1 to support kernel replying to the negotiation
message with its own version.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_snapshot.c| 49 ++---
include/uapi/linux/hyperv.h | 5 +
tools/hv
host side. Racy daemon startup is also a problem.
- When the userspace daemon restarts/dies kernel part doesn't receive a
notification.
- Netlink communication is not stable under heavy load.
- ...
Vitaly Kuznetsov (21):
Drivers: hv: util: move kvp/vss function declarations to
hyperv_vmbus.h
... and move it to debug level as normally daemons write to syslog themselves
and these kernel messages are useless.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c| 3 +--
drivers/hv/hv_kvp.c | 3 ++-
drivers/hv/hv_snapshot.c | 2 +-
3 files changed, 4
'fcopy_work' (and fcopy_work_func) is a misnomer as it sounds like we expect
this useful work to happen and in reality it is just an emergency escape when
timeout happens.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 14 +++---
1 file changed, 7
'kvp_work' (and kvp_work_func) is a misnomer as it sounds like we expect
this useful work to happen and in reality it is just an emergency escape when
timeout happens.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 16
1 file changed, 8 insertions
drivers.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hyperv_vmbus.h | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 2f30456..138d663 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
support only the former. Add support for the later, use
hv_poll_channel() to do the job.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_snapshot.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv
being in the middle of a
transaction (HVUTIL_USERSPACE_REQ or HVUTIL_USERSPACE_RECV state).
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_snapshot.c | 87
1 file changed, 58 insertions(+), 29 deletions(-)
diff --git a/drivers/hv
..., make it inline and rename it to hv_poll_channel() so it can be reused
in other hv_util modules.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 17 +++--
drivers/hv/hyperv_vmbus.h | 12
2 files changed, 15 insertions(+), 14
... otherwise a crash is observed when hv_utils module is being unloaded while
fcopy daemon is still running. .owner gives us an additional reference when
someone holds a descriptor for the device.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 6 ++
1 file
the userspace daemon is disconnected, otherwise we can make the host think
we don't support FCOPY and disable the service completely.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 70 ++-
1 file changed, 30 insertions
the switch from netlink to chardev operational mode is supported.
Every hv_util daemon is supposed to register 2 callbacks:
1) on_msg() to get notified when the userspace daemon sent a message;
2) on_reset() to get notified when the userspace daemon drops the connection.
Signed-off-by: Vitaly Kuznetsov
These declarations are internal to hv_util module and hv_fcopy_* declarations
already reside there.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 1 +
drivers/hv/hv_snapshot.c | 2 ++
drivers/hv/hyperv_vmbus.h | 8
include/linux/hyperv.h| 7
Introduce FCOPY_VERSION_1 to support kernel replying to the negotiation
message with its own version.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 16 +++-
include/uapi/linux/hyperv.h | 3 ++-
tools/hv/hv_fcopy_daemon.c | 15
Use /dev/vmbus/hv_kvp instead of netlink.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
tools/hv/hv_kvp_daemon.c | 166 +--
1 file changed, 31 insertions(+), 135 deletions(-)
diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
Unify the code with the recently introduced hv_utils_transport. Netlink
communication is disabled for fcopy.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 194 --
1 file changed, 46 insertions(+), 148 deletions
Use /dev/vmbus/hv_vss instead of netlink.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
tools/hv/hv_vss_daemon.c | 139 +--
1 file changed, 25 insertions(+), 114 deletions(-)
diff --git a/tools/hv/hv_vss_daemon.c b/tools/hv/hv_vss_daemon.c
we skip the negotiation procedure (so the daemon is supposed to has
the same version). This behavior is unchanged from in_handshake approach.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 87 ++---
1 file changed, 49
issues as:
1) Host is supposed to serialize transactions as well
2) If no message is pending vmbus_recvpacket() will return 0 recvlen.
This is just a cleanup.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/hv
... to support both netlink and /dev/vmbus/hv_kvp communication methods.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_kvp.c | 91 +
1 file changed, 42 insertions(+), 49 deletions(-)
diff --git a/drivers/hv/hv_kvp.c b
... to support both netlink and /dev/vmbus/hv_vss communication methods.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_snapshot.c | 52 +---
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/drivers/hv
support only the former. Add support for the later, use
hv_poll_channel() to do the job.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_fcopy.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/hv/hv_fcopy.c b/drivers/hv/hv_fcopy.c
index
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
kernel/cpu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 94bbe46..dc005e7 100644
Peter Zijlstra pet...@infradead.org writes:
On Tue, May 19, 2015 at 02:15:41PM +0200, Vitaly Kuznetsov wrote:
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances.
What's wrong with get_online_cpus() ?
We need to disable cpu offlining permanently
Export cpu_hotplug_enable/cpu_hotplug_disable functions from cpu.c and use
them instead of altering the smp_ops.cpu_disable in Hyper-V vmbus module.
Vitaly Kuznetsov (2):
cpu-hotplug: export cpu_hotplug_enable/cpu_hotplug_disable
Drivers: hv: vmbus: use cpu_hotplug_enable/disable
drivers/hv
-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 38 --
1 file changed, 4 insertions(+), 34 deletions(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index c85235e..e916ba2 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv
: Cleanup the vmbus unload path
Vitaly Kuznetsov (3):
Drivers: hv: vmbus: remove hv_synic_free_cpu() call from
hv_synic_cleanup()
Drivers: hv: vmbus: add special kexec handler
Drivers: hv: don't do hypercalls when hypercall_page is NULL
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86
of the do_hypercall() function. Unfortunately we have to write the
!hypercall_page check twice to not mix declarations and code.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/hv/hv.c b/drivers/hv
consists of cleaning up clockevents, synic MSRs,
guest os id MSR, and hypercall MSR.
Kdump doesn't require all this stuff as it lives in a separate memory
space.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86/kernel/cpu/mshyperv.c | 30
We already have hv_synic_free() which frees all per-cpu pages for all
CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup()
so it will be possible to do separate cleanup (writing to MSRs) and final
freeing. This is going to be used to assist kexec.
Signed-off-by: Vitaly
We already have hv_synic_free() which frees all per-cpu pages for all
CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup()
so it will be possible to do separate cleanup (writing to MSRs) and final
freeing. This is going to be used to assist kexec.
Signed-off-by: Vitaly
of the do_hypercall() function. Unfortunately we have to write the
!hypercall_page check twice to not mix declarations and code.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/hv/hv.c b/drivers/hv
with balloned out memory is not possible as the
newly loaded kernel doesn't know about this memory and there is no way to
ask the host to bring all the memory back on cleanup (or at least I'm not
aware of such a way). Kexec with hotplugged memory leads to reboot (not
exactly sure why).
Vitaly Kuznetsov
consists of cleaning up clockevents, synic MSRs,
guest os id MSR, and hypercall MSR.
Kdump doesn't require all this stuff as it lives in a separate memory
space.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86/kernel/cpu/mshyperv.c | 30
Olaf Hering o...@aepfle.de writes:
On Thu, Jun 04, K. Y. Srinivasan wrote:
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -18,6 +18,9 @@
#include linux/efi.h
#include linux/interrupt.h
#include linux/irq.h
+#ifdef CONFIG_KEXEC
+#include linux/kexec.h
+#endif
Is this #ifdef required?
No,
K. Y. Srinivasan k...@microsoft.com writes:
From: Vitaly Kuznetsov vkuzn...@redhat.com
current_pt_regs() returns regs of the userspace process and in case of
kernel crash this is not what we need to report. E.g. when we trigger
crash with sysrq we see the following:
...
RIP: 0010
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances. Convert cpu_hotplug_disabled to a counter
(protected by cpu_add_remove_lock) to support e.g. disable - disable -
enable call sequences.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
-by: Vitaly Kuznetsov vkuzn...@redhat.com
Signed-off-by: K. Y. Srinivasan k...@microsoft.com
---
drivers/hv/vmbus_drv.c | 38 --
1 file changed, 4 insertions(+), 34 deletions(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index cf20400..6de65fb 100644
get 'die' notification so keep the 'panic'
notification reporter as well but guard against double reporting.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
The patch was previously named Drivers: hv: vmbus: use 'die' notification
chain instead of 'panic'. In v2 I keep 'panic' notifier
char-misc-next tree [K. Y. Srinivasan]
Changes since v1:
- Make cpu_hotplug_disabled a counter [Radim Krčmář]
Export cpu_hotplug_enable/cpu_hotplug_disable functions from cpu.c and use
them instead of altering smp_ops.cpu_disable in Hyper-V vmbus module.
Vitaly Kuznetsov (2):
cpu-hotplug
We already have hv_synic_free() which frees all per-cpu pages for all
CPUs, let's remove the hv_synic_free_cpu() call from hv_synic_cleanup()
so it will be possible to do separate cleanup (writing to MSRs) and final
freeing. This is going to be used to assist kexec.
Signed-off-by: Vitaly
of the do_hypercall() function. Unfortunately we have to write the
!hypercall_page check twice to not mix declarations and code.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/hv/hv.c b/drivers/hv
to perform some mandatory minimalistic
cleanup before we start new kernel.
Reported-by: K. Y. Srinivasan k...@microsoft.com
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86/kernel/cpu/mshyperv.c | 22 ++
drivers/hv
kernel doesn't know about this memory and there is no way to
ask the host to bring all the memory back on cleanup (or at least I'm not
aware of such a way). Kexec with hotplugged memory leads to reboot (not
exactly sure why).
Vitaly Kuznetsov (5):
Drivers: hv: vmbus: remove hv_synic_free_cpu() call
consists of cleaning up clockevents, synic MSRs,
guest os id MSR, and hypercall MSR.
Kdump doesn't require all this stuff as it lives in a separate memory
space.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
arch/x86/include/asm/mshyperv.h | 2 ++
arch/x86/kernel/cpu/mshyperv.c | 24
If some piece of code wants to check kexec_in_progress it has to be put
in #ifdef CONFIG_KEXEC block to not break the build in !CONFIG_KEXEC
case. Overcome this limitation by defining kexec_in_progress to false.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
include/linux/kexec.h | 1
Vitaly Kuznetsov vkuzn...@redhat.com writes:
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances. Convert cpu_hotplug_disabled to a counter
(protected by cpu_add_remove_lock) to support e.g. disable - disable -
enable call sequences.
Signed-off
Commit 5a75d733 (Drivers: hv: hv_balloon: don't lose memory when
onlining order is not natural) made hv_hotadd_state description a bit
ambiguous. Fix this and a typo.
Reported-by: Jason Wang jasow...@redhat.com
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/hv_balloon.c
an overkill.
Reported-by: Radim Krčmář rkrc...@redhat.com
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/scsi/storvsc_drv.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 3c6584f..61f4855
Peter Zijlstra pet...@infradead.org writes:
On Wed, Jun 24, 2015 at 11:43:33AM +0200, Vitaly Kuznetsov wrote:
Peter Zijlstra pet...@infradead.org writes:
On Tue, Jun 23, 2015 at 04:57:05PM +, KY Srinivasan wrote:
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 94bbe46..8f35ee6
Thomas Gleixner t...@linutronix.de writes:
On Wed, 24 Jun 2015, Vitaly Kuznetsov wrote:
Peter Zijlstra pet...@infradead.org writes:
On Tue, Jun 23, 2015 at 04:57:05PM +, KY Srinivasan wrote:
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 94bbe46..8f35ee6 100644
--- a/kernel
Peter Zijlstra pet...@infradead.org writes:
On Tue, Jun 23, 2015 at 04:57:05PM +, KY Srinivasan wrote:
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 94bbe46..8f35ee6 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -190,17 +190,19 @@ void cpu_hotplug_done(void)
void
-by: Vitaly Kuznetsov vkuzn...@redhat.com
Signed-off-by: K. Y. Srinivasan k...@microsoft.com
---
drivers/hv/vmbus_drv.c | 38 --
1 file changed, 4 insertions(+), 34 deletions(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index cf20400..6de65fb 100644
functions from cpu.c and use
them instead of altering smp_ops.cpu_disable in Hyper-V vmbus module.
Vitaly Kuznetsov (2):
cpu-hotplug: export cpu_hotplug_enable/cpu_hotplug_disable
Drivers: hv: vmbus: use cpu_hotplug_enable/disable
Documentation/power/suspend-and-cpuhotplug.txt | 6
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances. Convert cpu_hotplug_disabled to a counter
(protected by cpu_add_remove_lock) to support e.g. disable - disable -
enable call sequences.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
() functions handle
disable_nonboot_cpus() faults correctly, hibernation_platform_enter()
is the only one which is doing it wrong.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
kernel/power/hibernate.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/power
ja...@microsoft.com writes:
From: Jake Oshins ja...@microsoft.com
Before this patch, hv_vmbus would search the ACPI namespace above its
device looking for a _CRS (current resources) object, and hunt through
the list of resources in there looking for one that described memory-
mapped I/O
KY Srinivasan k...@microsoft.com writes:
-Original Message-
From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com]
Sent: Thursday, May 21, 2015 9:22 AM
To: de...@linuxdriverproject.org
Cc: KY Srinivasan; Haiyang Zhang; linux-kernel@vger.kernel.org; Dexuan Cui;
Ingo Molnar; Paul E
implication: when panic() is called manually from
some other part of kernel we won't be reporting crash to the hypervisor
(but we have no valuable information to report anyway).
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 23 ++-
1 file changed, 10
-by: Vitaly Kuznetsov vkuzn...@redhat.com
---
drivers/hv/vmbus_drv.c | 38 --
1 file changed, 4 insertions(+), 34 deletions(-)
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index cf20400..6de65fb 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv
Loaded Hyper-V module will use these functions to disable CPU hotplug
under certain circumstances. Convert cpu_hotplug_disabled to a counter
(protected by cpu_add_remove_lock) to support e.g. disable - disable -
enable call sequences.
Signed-off-by: Vitaly Kuznetsov vkuzn...@redhat.com
vmbus module.
Vitaly Kuznetsov (2):
cpu-hotplug: export cpu_hotplug_enable/cpu_hotplug_disable
Drivers: hv: vmbus: use cpu_hotplug_enable/disable
Documentation/power/suspend-and-cpuhotplug.txt | 6 ++--
drivers/hv/vmbus_drv.c | 38 +++---
kernel/cpu.c
201 - 300 of 4372 matches
Mail list logo