[PATCH 0/4] Drivers: hv: vmbus: Miscellaneous fixes

2018-03-27 Thread kys
From: "K. Y. Srinivasan" Some miscellaneous fixes and adjustments. Dexuan Cui (2): Drivers: hv: vmbus: respect what we get from hv_get_synint_state() Drivers: hv: vmbus: do not mark HV_PCIE as perf_device Stephen Hemminger (2): hv: add SPDX license to trace hv: add SPDX license id to Kc

[PATCH 2/4] Drivers: hv: vmbus: do not mark HV_PCIE as perf_device

2018-03-27 Thread kys
From: Dexuan Cui The pci-hyperv driver's channel callback hv_pci_onchannelcallback() is not really a hot path, so we don't need to mark it as a perf_device, meaning with this patch all HV_PCIE channels' target_cpu will be CPU0. Signed-off-by: Dexuan Cui Cc: sta...@vger.kernel.org Cc: Stephen He

[PATCH 1/4] Drivers: hv: vmbus: respect what we get from hv_get_synint_state()

2018-03-27 Thread kys
From: Dexuan Cui I didn't really hit a bug, but just happened to notice the redundant line. Signed-off-by: Dexuan Cui Cc: Stephen Hemminger Cc: K. Y. Srinivasan Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/hv/hv.c b/drivers/h

[PATCH 4/4] hv: add SPDX license id to Kconfig

2018-03-27 Thread kys
From: Stephen Hemminger Missing license on Kconfig file. Signed-off-by: Stephen Hemminger Signed-off-by: K. Y. Srinivasan --- drivers/hv/Kconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 50b89ea0e60f..97954f575c3f 100644 --- a/drivers/

[PATCH 3/4] hv: add SPDX license to trace

2018-03-27 Thread kys
From: Stephen Hemminger Missing license on Hyper-V VMBUS tracing files. Signed-off-by: Stephen Hemminger Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_trace.c | 2 ++ drivers/hv/hv_trace.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/hv/hv_trace.c b/drivers/hv/hv_trace.c

[PATCH 0/8] Drivers: hv: Miscellaneous fixes/improvements

2018-06-05 Thread kys
From: "K. Y. Srinivasan" Some miscellaneous fixes/improvements. Arjan van de Ven (1): use the new async probing feature for the hyperv drivers Dexuan Cui (1): Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() Michael Kelley (4): x86/hyperv: Add interrupt handler ann

[PATCH 3/8] Drivers: hv: vmbus: Add comments on ring buffer signaling

2018-06-05 Thread kys
From: Michael Kelley Add comments describing intricacies of Hyper-V ring buffer signaling code. This information is not in Hyper-V public documents, so include here to capture the knowledge for future coders. There are no code changes in this commit. Signed-off-by: Michael Kelley Signed-off-b

[PATCH 4/8] Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer()

2018-06-05 Thread kys
From: Dexuan Cui I didn't really hit a real bug, but just happened to spot the bug: we have decreased the counter at the beginning of vmbus_process_offer(), so we mustn't decrease it again. Fixes: 6f3d791f3006 ("Drivers: hv: vmbus: Fix rescind handling issues") Signed-off-by: Dexuan Cui Cc: sta

[PATCH 7/8] tools: hv: update lsvmbus to be compatible with python3

2018-06-05 Thread kys
From: Olaf Hering Python3 changed the way how 'print' works. Adjust the code to a syntax that is understood by python2 and python3. Signed-off-by: Olaf Hering Acked-by: Dexuan Cui Signed-off-by: K. Y. Srinivasan --- tools/hv/lsvmbus | 12 ++-- 1 file changed, 6 insertions(+), 6 delet

[PATCH 8/8] Tools: hv: vss: fix loop device detection

2018-06-05 Thread kys
From: Vitaly Kuznetsov Commit ea81fdf0981d ("Tools: hv: vss: Skip freezing filesystems backed by loop") added skip for filesystems backed by loop device. However, it seems the detection of such cases is incomplete. It was found that with 'devicemapper' storage driver docker creates the following

[PATCH 2/8] x86/hyperv: Add interrupt handler annotations

2018-06-05 Thread kys
From: Michael Kelley Add standard interrupt handler annotations to hyperv_vector_handler(). This does not fix any observed bug, but avoids potential removal of the code by link time optimization and makes it consistent with hv_stimer0_vector_handler in the same source file. Suggested-by: Thomas

[PATCH 6/8] Drivers: hv: vmbus: Make TLFS #define names architecture neutral

2018-06-05 Thread kys
From: Michael Kelley The Hyper-V feature and hint flags in hyperv-tlfs.h are all defined with the string "X64" in the name. Some of these flags are indeed x86/x64 specific, but others are not. For the ones that are used in architecture independent Hyper-V driver code, or will be used in the upc

[PATCH 1/8] use the new async probing feature for the hyperv drivers

2018-06-05 Thread kys
From: Arjan van de Ven Recent kernels support asynchronous probing; most hyperv drivers can be probed async easily so set the required flag for this. Signed-off-by: Arjan van de Ven Signed-off-by: Stephen Hemminger Signed-off-by: K. Y. Srinivasan --- drivers/hid/hid-hyperv.c | 3

[PATCH 5/8] Drivers: hv: vmbus: Remove x86 MSR refs in arch independent code

2018-06-05 Thread kys
From: Michael Kelley In architecture independent code for manipulating Hyper-V synthetic timers and synthetic interrupts, pass in an ordinal number identifying the timer or interrupt, rather than an actual MSR register address. Then in x86/x64 specific code, map the ordinal number to the appropr

[PATCH V3 0/5] X86: Hyper-V: APIC enlightenments

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Implement APIC related enlightenments. V2: Addressed comments from Thomas Gleixner and Michael Kelley (EOSG) . V3: Address build issues reported by kbuild test robot K. Y. Srinivasan (5): X86: Hyper-V: Enlighten APIC access X86: Hyper-V: Enable IPI enlightenments

[PATCH V3 4/5] X86: Hyper-V: Consolidate code for converting cpumask to vpset

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Consolidate code for converting cpumask to vpset. Signed-off-by: K. Y. Srinivasan Reviewed-by: Michael Kelley --- arch/x86/hyperv/mmu.c | 43 ++- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/arch/x86/hyperv/mmu

[PATCH V3 3/5] X86: Hyper-V: Enhanced IPI enlightenment

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Support enhanced IPI enlightenments (to target more than 64 CPUs). Signed-off-by: K. Y. Srinivasan Reviewed-by: Michael Kelley --- arch/x86/hyperv/hv_apic.c | 42 +- arch/x86/hyperv/mmu.c | 2 +- arch/x86/include/asm/

[PATCH V3 2/5] X86: Hyper-V: Enable IPI enlightenments

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports hypercalls to implement IPI; use them. Signed-off-by: K. Y. Srinivasan Reviewed-by: Michael Kelley --- arch/x86/hyperv/hv_apic.c | 117 + arch/x86/hyperv/hv_init.c | 27 +++ arch/x86/include/asm/hyper

[PATCH V3 5/5] X86: Hyper-V: Consolidate the allocation of the hypercall input page

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Consolidate the allocation of the hypercall input page. Signed-off-by: K. Y. Srinivasan Reviewed-by: Michael Kelley --- arch/x86/hyperv/hv_init.c | 2 -- arch/x86/hyperv/mmu.c | 30 ++ arch/x86/include/asm/mshyperv.h | 1 -

[PATCH V3 1/5] X86: Hyper-V: Enlighten APIC access

2018-05-16 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports MSR based APIC access; implement the enlightenment. Signed-off-by: K. Y. Srinivasan Reviewed-by: Michael Kelley --- arch/x86/hyperv/Makefile| 2 +- arch/x86/hyperv/hv_apic.c | 104 arch/x86/hyperv/hv_in

[PATCH 0/5] X86: Hyper-V: APIC enlightenments

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Implement APIC related enlightenments. K. Y. Srinivasan (5): X86: Hyper-V: Enlighten APIC access X86: Hyper-V: Enable IPI enlightenments X86: Hyper-V: Enhanced IPI enlightenment X86: Hyper-V: Consolidate code for converting cpumask to vpset X86: Hyper-V: Consol

[PATCH 3/5] X86: Hyper-V: Enhanced IPI enlightenment

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Support enhanced IPI enlightenments (to target more than 64 CPUs). Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_apic.c | 49 -- arch/x86/include/asm/hyperv-tlfs.h | 1 + arch/x86/include/asm/mshyperv.h| 39 +++

[PATCH 5/5] X86: Hyper-V: Consolidate the allocation of the hypercall input page

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Consolidate the allocation of the hypercall input page. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_init.c | 2 -- arch/x86/hyperv/mmu.c | 33 + arch/x86/include/asm/mshyperv.h | 1 - 3 files changed, 9 inser

[PATCH 1/5] X86: Hyper-V: Enlighten APIC access

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports MSR based APIC access; implement the enlightenment. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/Makefile| 2 +- arch/x86/hyperv/hv_apic.c | 98 + arch/x86/hyperv/hv_init.c | 5 ++- a

[PATCH 4/5] X86: Hyper-V: Consolidate code for converting cpumask to vpset

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Consolidate code for converting cpumask to vpset. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_apic.c | 2 +- arch/x86/hyperv/mmu.c | 45 +++--- arch/x86/include/asm/hyperv-tlfs.h | 2 +- 3 files changed

[PATCH 2/5] X86: Hyper-V: Enable IPI enlightenments

2018-04-25 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports hypercalls to implement IPI; use them. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_apic.c | 125 + arch/x86/hyperv/hv_init.c | 17 + arch/x86/include/asm/hyperv-tlfs.h | 9 +++ arc

[PATCH 0/4] Drivers: hv: Miscellaneous fixes

2018-09-23 Thread kys
From: "K. Y. Srinivasan" Miscellaneous fixes. Dexuan Cui (4): Drivers: hv: vmbus: Fix the descriptions of some function parameters Drivers: hv: kvp: Fix the indentation of some "break" statements Drivers: hv: kvp: Fix two "this statement may fall through" warnings Drivers: hv: vmbus: Use

[PATCH 2/4] Drivers: hv: kvp: Fix the indentation of some "break" statements

2018-09-23 Thread kys
From: Dexuan Cui No functional change. Signed-off-by: Dexuan Cui Cc: K. Y. Srinivasan Cc: Haiyang Zhang Cc: Stephen Hemminger Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_kvp.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hv/hv_kvp.c b/drivers/hv

[PATCH 4/4] Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask

2018-09-23 Thread kys
From: Dexuan Cui A cpumask structure on the stack can cause a warning with CONFIG_NR_CPUS=8192 (e.g. Ubuntu 16.04 and 18.04 use this): drivers/hv//channel_mgmt.c: In function ‘init_vp_index’: drivers/hv//channel_mgmt.c:702:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wf

[PATCH 1/4] Drivers: hv: vmbus: Fix the descriptions of some function parameters

2018-09-23 Thread kys
From: Dexuan Cui No functional change. Added descriptions for some parameters. Fixed some typos. Removed some out-of-date comments. Signed-off-by: Dexuan Cui Cc: Jonathan Corbet Cc: linux-...@vger.kernel.org Cc: K. Y. Srinivasan Cc: Haiyang Zhang Cc: Stephen Hemminger Signed-off-by: K. Y.

[PATCH 3/4] Drivers: hv: kvp: Fix two "this statement may fall through" warnings

2018-09-23 Thread kys
From: Dexuan Cui We don't need to call process_ib_ipinfo() if message->kvp_hdr.operation is KVP_OP_GET_IP_INFO in kvp_send_key(), because here we just need to pass on the op code from the host to the userspace; when the userspace returns the info requested by the host, we pass the info on to the

[PATCH V2 00/12] Drivers: hv: Miscellaneous fixes

2018-03-04 Thread kys
From: "K. Y. Srinivasan" Miscellaneous fixes. V2: Only the patch "Drivers: hv: vmbus: Implement Direct Mode for stimer0" has been modified to address review comments from Dan Carpenter. Dexuan Cui (1): tools: hv: fix compiler warnings about major/target_fname Haiyang Zhang (2

[PATCH V2 07/12] hv_vmbus: Correct the stale comments regarding cpu affinity

2018-03-04 Thread kys
From: Haiyang Zhang The comments doesn't match what the current code does, also have a typo. This patch corrects them. Signed-off-by: Haiyang Zhang Signed-off-by: K. Y. Srinivasan --- drivers/hv/channel_mgmt.c | 6 ++ include/linux/hyperv.h| 2 +- 2 files changed, 3 insertions(+), 5 d

[PATCH V2 01/12] tools/hv: Fix IP reporting by KVP daemon with SRIOV

2018-03-04 Thread kys
From: Haiyang Zhang On Hyper-V the VF NIC has the same MAC as the related synthetic NIC. VF NIC can work under the synthetic NIC transparently, without its own IP address. The existing KVP daemon only gets IP from the first NIC matching a MAC address, and may not be able to find the IP in this ca

[PATCH V2 09/12] hv_balloon: fix printk loglevel

2018-03-04 Thread kys
From: Vitaly Kuznetsov We have a mix of different ideas of which loglevel should be used. Unify on the following: - pr_info() for normal operation - pr_warn() for 'strange' host behavior - pr_err() for all errors. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan --- drivers/hv/

[PATCH V2 03/12] hv: Synthetic typo correction

2018-03-04 Thread kys
From: Joe Perches Just a trivial tyop fix. Signed-off-by: Joe Perches Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index b6cacc4cccf2..31142b72f1b9 100644 --- a/drivers/hv/hv.c +++ b/d

[PATCH V2 06/12] vmbus/ring_buffer: remove some redundant helper function.

2018-03-04 Thread kys
From: "lantianyu1...@gmail.com" Some hv_get/set** helper functions in ring_buffer code are only called once or not used. This patch is to clear up these codes. Signed-off-by: Tianyu Lan Signed-off-by: K. Y. Srinivasan --- drivers/hv/ring_buffer.c | 49 -

[PATCH V2 10/12] hv_balloon: simplify hv_online_page()/hv_page_online_one()

2018-03-04 Thread kys
From: Vitaly Kuznetsov Instead of doing pfn_to_page() and continuosly casting page to unsigned long just cache the pfn of the page with page_to_pfn(). Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_balloon.c | 27 +-- 1 file changed,

[PATCH V2 08/12] Drivers: hv: vmbus: Implement Direct Mode for stimer0

2018-03-04 Thread kys
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 processing overhead in both the hypervisor and the guest,

[PATCH V2 02/12] hyper-v: use GFP_KERNEL for hv_context.hv_numa_map

2018-03-04 Thread kys
From: Jia-Ju Bai The kzalloc function is called with GFP_ATOMIC. But according to driver call graph, it is not in atomic context, namely no spinlock is held nor in an interrupt handler. This GFP_ATOMIC is unnecessary, and replace with GFP_KERNEL. Signed-off-by: Jia-Ju Bai Reviewed-by: Vitaly K

[PATCH V2 12/12] hv_balloon: trace post_status

2018-03-04 Thread kys
From: Vitaly Kuznetsov Hyper-V balloon driver makes non-trivial calculations to convert Linux's representation of free/used memory to what Hyper-V host expects to see. Add a tracepoint to see what's being sent and where the data comes from. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. S

[PATCH V2 11/12] hv_balloon: fix bugs in num_pages_onlined accounting

2018-03-04 Thread kys
From: Vitaly Kuznetsov Our num_pages_onlined accounting is buggy: 1) In case we're offlining a memory block which was present at boot (e.g. when there was no hotplug at all) we subtract 32k from 0 and as num_pages_onlined is unsigned get a very big positive number. 2) Commit 6df8d9aaf3af (

[PATCH V2 04/12] tools: hv: fix compiler warnings about major/target_fname

2018-03-04 Thread kys
From: Dexuan Cui This patch fixes the below warnings with new glibc and gcc: hv_vss_daemon.c:100:13: warning: In the GNU C Library, "major" is defined by . For historical compatibility, it is currently defined by as well, but we plan to remove this soon. To use "major", include directly. h

[PATCH V2 05/12] tools: hv: include string.h in hv_fcopy_daemon

2018-03-04 Thread kys
From: Olaf Hering The usage of strchr requires inclusion of string.h. Fixes: 0c38cda64aec ("tools: hv: remove unnecessary header files and netlink related code") Signed-off-by: Olaf Hering Signed-off-by: K. Y. Srinivasan --- tools/hv/hv_fcopy_daemon.c | 1 + 1 file changed, 1 insertion(+) d

[PATCH 1/1] Drivers: hv: vmbus: Fix ring buffer signaling

2018-03-04 Thread kys
From: Michael Kelley Fix bugs in signaling the Hyper-V host when freeing space in the host->guest ring buffer: 1. The interrupt_mask must not be used to determine whether to signal on the host->guest ring buffer 2. The ring buffer write_index must be read (via hv_get_bytes_to_write) *after

[PATCH V2 0/5] X86: Hyper-V: APIC enlightenments

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Implement APIC related enlightenments. V2: Addressed comments from Thomas Gleixner and Michael Kelley (EOSG) . K. Y. Srinivasan (5): X86: Hyper-V: Enlighten APIC access X86: Hyper-V: Enable IPI enlightenments X86: Hyper-V: Enhanced IPI enlightenment X86: Hyper-

[PATCH V2 2/5] X86: Hyper-V: Enable IPI enlightenments

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports hypercalls to implement IPI; use them. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_apic.c | 118 + arch/x86/hyperv/hv_init.c | 27 + arch/x86/include/asm/hyperv-tlfs.h | 15

[PATCH V2 1/5] X86: Hyper-V: Enlighten APIC access

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Hyper-V supports MSR based APIC access; implement the enlightenment. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/Makefile| 2 +- arch/x86/hyperv/hv_apic.c | 101 arch/x86/hyperv/hv_init.c | 5 +-

[PATCH V2 5/5] X86: Hyper-V: Consolidate the allocation of the hypercall input page

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Consolidate the allocation of the hypercall input page. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_init.c | 2 -- arch/x86/hyperv/mmu.c | 30 ++ arch/x86/include/asm/mshyperv.h | 1 - 3 files changed, 6 insertio

[PATCH V2 3/5] X86: Hyper-V: Enhanced IPI enlightenment

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Support enhanced IPI enlightenments (to target more than 64 CPUs). Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/hv_apic.c | 42 +- arch/x86/hyperv/mmu.c | 2 +- arch/x86/include/asm/hyperv-tlfs.h | 15 ++

[PATCH V2 4/5] X86: Hyper-V: Consolidate code for converting cpumask to vpset

2018-05-03 Thread kys
From: "K. Y. Srinivasan" Consolidate code for converting cpumask to vpset. Signed-off-by: K. Y. Srinivasan --- arch/x86/hyperv/mmu.c | 43 ++- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c in

[PATCH 0/5] Drivers: hv: vmbus: Some miscellaneous fixes

2016-12-06 Thread kys
From: K. Y. Srinivasan Some miscellaneous fixes. K. Y. Srinivasan (1): Drivers: hv: vmbus: Prevent sending data on a rescinded channel Vitaly Kuznetsov (4): Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg() hv: allocate synic pages for all present CPUs hv: init percpu_list

[PATCH 1/5] Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()

2016-12-06 Thread kys
From: Vitaly Kuznetsov DoS protection conditions were altered in WS2016 and now it's easy to get -EAGAIN returned from vmbus_post_msg() (e.g. when we try changing MTU on a netvsc device in a loop). All vmbus_post_msg() callers don't retry the operation and we usually end up with a non-functional

[PATCH 4/5] hv: don't reset hv_context.tsc_page on crash

2016-12-06 Thread kys
From: Vitaly Kuznetsov It may happen that secondary CPUs are still alive and resetting hv_context.tsc_page will cause a consequent crash in read_hv_clock_tsc() as we don't check for it being not NULL there. It is safe as we're not freeing this page anyways. Signed-off-by: Vitaly Kuznetsov Signe

[PATCH 5/5] Drivers: hv: vmbus: Prevent sending data on a rescinded channel

2016-12-06 Thread kys
From: K. Y. Srinivasan After the channel is rescinded, the host does not read from the rescinded channel. Fail writes to a channel that has already been rescinded. If we permit writes on a rescinded channel, since the host will not respond we will have situations where we will be unable to unlo

[PATCH 3/5] hv: init percpu_list in hv_synic_alloc()

2016-12-06 Thread kys
From: Vitaly Kuznetsov Initializing hv_context.percpu_list in hv_synic_alloc() helps to prevent a crash in percpu_channel_enq() when not all CPUs were online during initialization and it naturally belongs there. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan Cc: --- drivers/

[PATCH 2/5] hv: allocate synic pages for all present CPUs

2016-12-06 Thread kys
From: Vitaly Kuznetsov It may happen that not all CPUs are online when we do hv_synic_alloc() and in case more CPUs come online later we may try accessing these allocated structures. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan Cc: --- drivers/hv/hv.c |4 ++-- 1 files

[PATCH 2/2] hv: make CPU offlining prevention fine-grained

2016-12-07 Thread kys
From: Vitaly Kuznetsov Since commit e513229b4c38 ("Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors") cpu offlining was disabled. It is still true that we can't offline CPUs which have VMBus channels bound to them but we may have 'free' CPUs (e.v. we booted with maxcpus= parameter a

[PATCH 1/2] hv: switch to cpuhp state machine for synic init/cleanup

2016-12-07 Thread kys
From: Vitaly Kuznetsov To make it possible to online/offline CPUs switch to cpuhp infrastructure for doing hv_synic_init()/hv_synic_cleanup(). Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv.c | 15 +++ drivers/hv/hyperv_vmbus.h |4

[PATCH 0/2] Drivers: hv: vmbus: Make CPU offlining more fine grained

2016-12-07 Thread kys
From: K. Y. Srinivasan Enhance CPU online/offline management. Vitaly Kuznetsov (2): hv: switch to cpuhp state machine for synic init/cleanup hv: make CPU offlining prevention fine-grained drivers/hv/hv.c | 46 +--- drivers/hv/hyperv_vmbus

[PATCH 0/3] Drivers: hv: Implement VF association based on serial number

2016-12-07 Thread kys
From: K. Y. Srinivasan Implement VF association based on serial number published by the host. Greg, as promised here is the patchset that would use the API for detecting if the device is a vmbus device. If you can take the first two patches, we can submit the netvsc patch to the net-next tree.

[PATCH 1/3] hyperv: Move hv_pci_dev and related structs to hyperv.h

2016-12-07 Thread kys
From: Haiyang Zhang Move some vPCI data structures to hyperv.h, because we share them with other module. Signed-off-by: Haiyang Zhang Signed-off-by: K. Y. Srinivasan --- drivers/pci/host/pci-hyperv.c | 91 -- include/linux/hyperv.h| 98 +

[PATCH 2/3] hyperv: Add a function to detect if the device is a vmbus dev

2016-12-07 Thread kys
From: Haiyang Zhang On Hyper-V, every VF interface has a corresponding synthetic interface managed by netvsc that share the same MAC address. netvsc registers for netdev events to manage this association. Currently we use the MAC address to manage this association but going forward, we want to us

[PATCH 3/3] hv_netvsc: Implement VF matching based on serial numbers

2016-12-07 Thread kys
From: Haiyang Zhang We currently use MAC address to match VF and synthetic NICs. Hyper-V provides a serial number to both devices for this purpose. This patch implements the matching based on VF serial numbers. This is the way specified by the protocol and more reliable. Signed-off-by: Haiyang Z

[PATCH RESEND net-next] netvsc: Use the new in-place consumption APIs in the rx path

2016-07-05 Thread kys
From: K. Y. Srinivasan Use the new APIs for eliminating a copy on the receive path. These new APIs also help in minimizing the number of memory barriers we end up issuing (in the ringbuffer code) since we can better control when we want to expose the ring state to the host. The patch is being re

[PATCH 0/4] Drivers: hv: vmbus: Make in-place consumption always possible

2016-07-06 Thread kys
From: K. Y. Srinivasan Make in-place consumption of VMBus packets always possible. Currently we forbid it when a packet 'wraps around' the ring so we can't provide a single pointer to it. The idea if this series is dead simple: let's make a single virtual mapping for two copies (actually, two se

[PATCH 3/4] Drivers: hv: ring_buffer: use wrap around mappings in hv_copy{from,to}_ringbuffer()

2016-07-06 Thread kys
From: Vitaly Kuznetsov With wrap around mappings for ring buffers we can always use a single memcpy() to do the job. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan Tested-by: Dexuan Cui --- drivers/hv/ring_buffer.c | 24 +++- 1 files changed, 3 insertio

[PATCH 2/4] Drivers: hv: ring_buffer: wrap around mappings for ring buffers

2016-07-06 Thread kys
From: Vitaly Kuznetsov Make it possible to always use a single memcpy() or to provide a direct link to a packet on the ring buffer by creating virtual mapping for two copies of the ring buffer with vmap(). Utilize currently empty hv_ringbuffer_cleanup() to do the unmap. While on it, replace size

[PATCH 4/4] Drivers: hv: ring_buffer: count on wrap around mappings in get_next_pkt_raw()

2016-07-06 Thread kys
From: Vitaly Kuznetsov With wrap around mappings in place we can always provide drivers with direct links to packets on the ring buffer, even when they wrap around. Do the required updates to get_next_pkt_raw()/put_pkt_raw() Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan Teste

[PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings

2016-07-06 Thread kys
From: Vitaly Kuznetsov In preparation for doing wrap around mappings for ring buffers cleanup vmbus_open() function: - check that ring sizes are PAGE_SIZE aligned (they are for all in-kernel drivers now); - kfree(open_info) on error only after we kzalloc() it (not an issue as it is valid to c

[PATCH 1/1] Drivers: hv: Introduce a policy for controlling channel affinity

2016-07-06 Thread kys
From: K. Y. Srinivasan Introduce a mechanism to control how channels will be affinitized. We will support two policies: 1. HV_BALANCED: All performance critical channels will be dstributed evenly amongst all the available NUMA nodes. Once the Node is assigned, we will assign the CPU based on a s

[PATCH 1/1] Tools: hv: kvp: ensure kvp device fd is closed on exec

2016-07-06 Thread kys
From: Vitaly Kuznetsov KVP daemon does fork()/exec() (with popen()) so we need to close our fds to avoid sharing them with child processes. The immediate implication of not doing so I see is SELinux complaining about 'ip' trying to access '/dev/vmbus/hv_kvp'. Signed-off-by: Vitaly Kuznetsov Sig

[PATCH 0/3] Drivers: hv: vmbus: Miscellaneous adjustments

2016-07-01 Thread kys
From: K. Y. Srinivasan Some miscellaneous adjustments to the vmbus driver. K. Y. Srinivasan (3): Drivers: hv: vmbus: Enable explicit signaling policy for NIC channels Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg() Drivers: hv: vmbus: Implement a mechanism to t

[PATCH 3/3] Drivers: hv: vmbus: Implement a mechanism to tag the channel for low latency

2016-07-01 Thread kys
From: K. Y. Srinivasan On Hyper-V, performance critical channels use the monitor mechanism to signal the host when the guest posts mesages for the host. This mechanism minimizes the hypervisor intercepts and also makes the host more efficient in that each time the host is woken up, it processes a

[PATCH 2/3] Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg()

2016-07-01 Thread kys
From: K. Y. Srinivasan The current delay between retries is unnecessarily high and is negatively affecting the time it takes to boot the system. Signed-off-by: K. Y. Srinivasan --- drivers/hv/connection.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/h

[PATCH 1/3] Drivers: hv: vmbus: Enable explicit signaling policy for NIC channels

2016-07-01 Thread kys
From: K. Y. Srinivasan For synthetic NIC channels, enable explicit signaling policy as netvsc wants to explicitly control when the host is to be signaled. Signed-off-by: K. Y. Srinivasan --- drivers/hv/channel.c | 18 -- drivers/hv/channel_mgmt.c |2 ++ drivers/hv/hy

[PATCH 1/1] hv: do not lose pending heartbeat vmbus packets

2016-10-05 Thread kys
From: Long Li The host keeps sending heartbeat packets independent of the guest responding to them. Even though we respond to the heartbeat messages at interrupt level, we can have situations where there maybe multiple heartbeat messages pending that have not been responded to. For instance this

[PATCH V2 1/1] hv: do not lose pending heartbeat vmbus packets

2016-10-05 Thread kys
From: Long Li The host keeps sending heartbeat packets independent of the guest responding to them. Even though we respond to the heartbeat messages at interrupt level, we can have situations where there maybe multiple heartbeat messages pending that have not been responded to. For instance this

[PATCH 09/15] tools: hv: remove unnecessary link flag

2016-10-30 Thread kys
From: Weibing Zhang The link flag pthread is not needed. Signed-off-by: Weibing Zhang Signed-off-by: K. Y. Srinivasan --- tools/hv/Makefile |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/tools/hv/Makefile b/tools/hv/Makefile index a8c4644..0d1e61b 100644 --- a/tool

[PATCH 07/15] Drivers: hv: vss: Operation timeouts should match host expectation

2016-10-30 Thread kys
From: Alex Ng Increase the timeout of backup operations. When system is under I/O load, it needs more time to freeze. These timeout values should also match the host timeout values more closely. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_snapshot.c |8 ++-

[PATCH 02/15] Drivers: hv: utils: reduce HV_UTIL_NEGO_TIMEOUT timeout

2016-10-30 Thread kys
From: Vitaly Kuznetsov I discovered that at least WS2016TP5 host has 60 seconds timeout for the ICMSGTYPE_NEGOTIATE message so we need to lower guest's timeout a little bit to make sure we always respond in time. Let's make it 55 seconds. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Sri

[PATCH 01/15] Drivers: hv: ring_buffer: count on wrap around mappings in get_next_pkt_raw() (v2)

2016-10-30 Thread kys
From: Vitaly Kuznetsov With wrap around mappings in place we can always provide drivers with direct links to packets on the ring buffer, even when they wrap around. Do the required updates to get_next_pkt_raw()/put_pkt_raw() The first version of this commit was reverted (65a532f3d50a) to deal wi

[PATCH 12/15] vmbus: make sysfs names consistent with PCI

2016-10-30 Thread kys
From: Stephen Hemminger In commit 9a56e5d6a0ba ("Drivers: hv: make VMBus bus ids persistent") the name of vmbus devices in sysfs changed to be (in 4.9-rc1): /sys/bus/vmbus/vmbus-6aebe374-9ba0-11e6-933c-00259086b36b The prefix ("vmbus-") is redundant and differs from how PCI is represented in s

[PATCH 10/15] tools: hv: fix a compile warning in snprintf

2016-10-30 Thread kys
From: Weibing Zhang hv_kvp_daemon.c: In function .kvp_mac_to_if_name.: hv_kvp_daemon.c:705:2: warning: format not a string literal and no format arguments [-Wformat-security] snprintf(dev_id, sizeof(dev_id), kvp_net_dir); ^ hv_kvp_daemon.c:705:2: warning: format not a string literal and no f

[PATCH 04/15] Drivers: hv: balloon: Disable hot add when CONFIG_MEMORY_HOTPLUG is not set

2016-10-30 Thread kys
From: Alex Ng If the guest does not support memory hotplugging, it should respond to the host with zero pages added and successful result code. This signals to the host that hotplugging is not supported and the host will avoid sending future hot-add requests. Signed-off-by: Alex Ng Signed-off-b

[PATCH 06/15] Drivers: hv: vss: Improve log messages.

2016-10-30 Thread kys
From: Alex Ng Adding log messages to help troubleshoot error cases and transaction handling. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_snapshot.c | 25 +++-- 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/hv/hv_snap

[PATCH 15/15] Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host

2016-10-30 Thread kys
From: K. Y. Srinivasan Signal the host when we determine the host is to be signaled - on th read path. The currrent code determines the need to signal in the ringbuffer code and actually issues the signal elsewhere. This can result in the host viewing this interrupt as spurious since the host may

[PATCH 03/15] Drivers: hv: utils: Fix the mapping between host version and protocol to use

2016-10-30 Thread kys
From: Alex Ng We should intentionally declare the protocols to use for every known host and default to using the latest protocol if the host is unknown or new. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_util.c |9 ++--- 1 files changed, 6 insertions(+), 3

[PATCH 11/15] tools: hv: remove unnecessary header files and netlink related code

2016-10-30 Thread kys
From: Weibing Zhang Remove unnecessary header files and netlink related code as the daemons do not use netlink to communicate with the kernel now. Signed-off-by: Weibing Zhang Signed-off-by: K. Y. Srinivasan --- tools/hv/hv_fcopy_daemon.c |7 --- tools/hv/hv_kvp_daemon.c |7

[PATCH 00/15] Drivers: hv: Some miscellaneous fixes and enhancements

2016-10-30 Thread kys
From: K. Y. Srinivasan Some miscellaneous fixes and enhancements. Alex Ng (6): Drivers: hv: utils: Fix the mapping between host version and protocol to use Drivers: hv: balloon: Disable hot add when CONFIG_MEMORY_HOTPLUG is not set Drivers: hv: balloon: Add logging for dynamic memo

[PATCH 14/15] Drivers: hv: vmbus: On write cleanup the logic to interrupt the host

2016-10-30 Thread kys
ritten anything. This is a rare -* enough condition that it should not matter. -* NOTE: in this case, the hvsock channel is an exception, because -* it looks the host side's hvsock implementation has a throttling -* mechanism which can hurt the performance otherwise. -

[PATCH 05/15] Drivers: hv: balloon: Add logging for dynamic memory operations

2016-10-30 Thread kys
From: Alex Ng Added logging to help troubleshoot common ballooning, hot add, and versioning issues. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_balloon.c | 31 --- 1 files changed, 28 insertions(+), 3 deletions(-) diff --git a/driver

[PATCH 08/15] Drivers: hv: balloon: Fix info request to show max page count

2016-10-30 Thread kys
From: Alex Ng Balloon driver was only printing the size of the info blob and not the actual content. This fixes it so that the info blob (max page count as configured in Hyper-V) is printed out. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_balloon.c |9 +++-

[PATCH 13/15] Drivers: hv: vmbus: Base host signaling strictly on the ring state

2016-10-30 Thread kys
the performance otherwise. +* +* KYS: Oct. 30, 2016: +* It looks like Windows hosts have logic to deal with DOS attacks that +* can be triggered if it receives interrupts when it is not expecting +* the interrupt. The host expects interrupts only when the ring +

[PATCH 1/1] vmbus: make sysfs names consistent with PCI

2016-10-31 Thread kys
From: Stephen Hemminger In commit 9a56e5d6a0ba ("Drivers: hv: make VMBus bus ids persistent") the name of vmbus devices in sysfs changed to be (in 4.9-rc1): /sys/bus/vmbus/vmbus-6aebe374-9ba0-11e6-933c-00259086b36b The prefix ("vmbus-") is redundant and differs from how PCI is represented in s

[PATCH V2 00/14] Drivers: hv: Some miscellaneous fixes and enhancements

2016-11-01 Thread kys
From: K. Y. Srinivasan Some miscellaneous fixes and enhancements. V2: Fixed a build issue reported by Greg. Only Patch # 13 is affected. Alex Ng (6): Drivers: hv: utils: Fix the mapping between host version and protocol to use Drivers: hv: balloon: Disable hot add when CONFIG_MEMORY_HOT

[PATCH V2 04/14] Drivers: hv: balloon: Disable hot add when CONFIG_MEMORY_HOTPLUG is not set

2016-11-01 Thread kys
From: Alex Ng If the guest does not support memory hotplugging, it should respond to the host with zero pages added and successful result code. This signals to the host that hotplugging is not supported and the host will avoid sending future hot-add requests. Signed-off-by: Alex Ng Signed-off-b

[PATCH V2 06/14] Drivers: hv: vss: Improve log messages.

2016-11-01 Thread kys
From: Alex Ng Adding log messages to help troubleshoot error cases and transaction handling. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_snapshot.c | 25 +++-- 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/hv/hv_snap

[PATCH V2 07/14] Drivers: hv: vss: Operation timeouts should match host expectation

2016-11-01 Thread kys
From: Alex Ng Increase the timeout of backup operations. When system is under I/O load, it needs more time to freeze. These timeout values should also match the host timeout values more closely. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_snapshot.c |8 ++-

[PATCH V2 08/14] Drivers: hv: balloon: Fix info request to show max page count

2016-11-01 Thread kys
From: Alex Ng Balloon driver was only printing the size of the info blob and not the actual content. This fixes it so that the info blob (max page count as configured in Hyper-V) is printed out. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_balloon.c |9 +++-

<    1   2   3   4   5   >