[PATCH 0/7] Drivers: hv: Some miscellaneous fixes

2016-09-02 Thread kys
From: K. Y. Srinivasan Some miscellaneous fixes and enhancements. These patches were all sent earlier but failed to apply clean on Greg's tree. These have now been rebased. Alex Ng (2): Drivers: hv: utils: Continue to poll VSS channel after handling requests.

[PATCH 0/7] Drivers: hv: Some miscellaneous fixes

2016-09-02 Thread kys
From: K. Y. Srinivasan Some miscellaneous fixes and enhancements. These patches were all sent earlier but failed to apply clean on Greg's tree. These have now been rebased. Alex Ng (2): Drivers: hv: utils: Continue to poll VSS channel after handling requests. Drivers: hv: utils: Check

[PATCH 5/5] Drivers: hv: balloon: Use available memory value in pressure report

2016-08-24 Thread kys
From: Alex Ng Reports for available memory should use the si_mem_available() value. The previous freeram value does not include available page cache memory. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan

[PATCH 2/5] Drivers: hv: balloon: account for gaps in hot add regions

2016-08-24 Thread kys
From: Vitaly Kuznetsov I'm observing the following hot add requests from the WS2012 host: hot_add_req: start_pfn = 0x108200 count = 330752 hot_add_req: start_pfn = 0x158e00 count = 193536 hot_add_req: start_pfn = 0x188400 count = 239616 As the host doesn't specify hot add

[PATCH 4/5] Drivers: hv: balloon: replace ha_region_mutex with spinlock

2016-08-24 Thread kys
From: Vitaly Kuznetsov lockdep reports possible circular locking dependency when udev is used for memory onlining: systemd-udevd/3996 is trying to acquire lock: ((memory_chain).rwsem){.+}, at: [] __blocking_notifier_call_chain+0x4e/0xc0 but task is already holding

[PATCH 5/5] Drivers: hv: balloon: Use available memory value in pressure report

2016-08-24 Thread kys
From: Alex Ng Reports for available memory should use the si_mem_available() value. The previous freeram value does not include available page cache memory. Signed-off-by: Alex Ng Signed-off-by: K. Y. Srinivasan --- drivers/hv/hv_balloon.c | 13 + 1 files changed, 5

[PATCH 2/5] Drivers: hv: balloon: account for gaps in hot add regions

2016-08-24 Thread kys
From: Vitaly Kuznetsov I'm observing the following hot add requests from the WS2012 host: hot_add_req: start_pfn = 0x108200 count = 330752 hot_add_req: start_pfn = 0x158e00 count = 193536 hot_add_req: start_pfn = 0x188400 count = 239616 As the host doesn't specify hot add regions we're trying

[PATCH 4/5] Drivers: hv: balloon: replace ha_region_mutex with spinlock

2016-08-24 Thread kys
From: Vitaly Kuznetsov lockdep reports possible circular locking dependency when udev is used for memory onlining: systemd-udevd/3996 is trying to acquire lock: ((memory_chain).rwsem){.+}, at: [] __blocking_notifier_call_chain+0x4e/0xc0 but task is already holding lock:

[PATCH 3/5] Drivers: hv: balloon: don't wait for ol_waitevent when memhp_auto_online is enabled

2016-08-24 Thread kys
From: Vitaly Kuznetsov With the recently introduced in-kernel memory onlining (MEMORY_HOTPLUG_DEFAULT_ONLINE) these is no point in waiting for pages to come online in the driver and we can get rid of the waiting. Signed-off-by: Vitaly Kuznetsov

[PATCH 1/5] Drivers: hv: balloon: keep track of where ha_region starts

2016-08-24 Thread kys
From: Vitaly Kuznetsov Windows 2012 (non-R2) does not specify hot add region in hot add requests and the logic in hot_add_req() is trying to find a 128Mb-aligned region covering the request. It may also happen that host's requests are not 128Mb aligned and the created

[PATCH 3/5] Drivers: hv: balloon: don't wait for ol_waitevent when memhp_auto_online is enabled

2016-08-24 Thread kys
From: Vitaly Kuznetsov With the recently introduced in-kernel memory onlining (MEMORY_HOTPLUG_DEFAULT_ONLINE) these is no point in waiting for pages to come online in the driver and we can get rid of the waiting. Signed-off-by: Vitaly Kuznetsov Signed-off-by: K. Y. Srinivasan ---

[PATCH 1/5] Drivers: hv: balloon: keep track of where ha_region starts

2016-08-24 Thread kys
From: Vitaly Kuznetsov Windows 2012 (non-R2) does not specify hot add region in hot add requests and the logic in hot_add_req() is trying to find a 128Mb-aligned region covering the request. It may also happen that host's requests are not 128Mb aligned and the created ha_region will start before

[PATCH 0/5] Drivers: hv: balloon: Miscellaneous fixes.

2016-08-24 Thread kys
From: K. Y. Srinivasan Miscellaneous fixes to the balloon driver. Alex Ng (1): Drivers: hv: balloon: Use available memory value in pressure report Vitaly Kuznetsov (4): Drivers: hv: balloon: keep track of where ha_region starts Drivers: hv: balloon: account for gaps

[PATCH 0/5] Drivers: hv: balloon: Miscellaneous fixes.

2016-08-24 Thread kys
From: K. Y. Srinivasan Miscellaneous fixes to the balloon driver. Alex Ng (1): Drivers: hv: balloon: Use available memory value in pressure report Vitaly Kuznetsov (4): Drivers: hv: balloon: keep track of where ha_region starts Drivers: hv: balloon: account for gaps in hot add regions

[PATCH 2/2] Drivers: hv: utils: Check VSS daemon is listening before a hot backup

2016-08-18 Thread kys
From: Alex Ng Hyper-V host will send a VSS_OP_HOT_BACKUP request to check if guest is ready for a live backup/snapshot. The driver should respond to the check only if the daemon is running and listening to requests. This allows the host to fallback to standard

[PATCH 2/2] Drivers: hv: utils: Check VSS daemon is listening before a hot backup

2016-08-18 Thread kys
From: Alex Ng Hyper-V host will send a VSS_OP_HOT_BACKUP request to check if guest is ready for a live backup/snapshot. The driver should respond to the check only if the daemon is running and listening to requests. This allows the host to fallback to standard snapshots in case the VSS daemon is

[PATCH 1/2] Drivers: hv: utils: Continue to poll VSS channel after handling requests.

2016-08-18 Thread kys
From: Alex Ng Multiple VSS_OP_HOT_BACKUP requests may arrive in quick succession, even though the host only signals once. The driver wass handling the first request while ignoring the others in the ring buffer. We should poll the VSS channel after handling a request to

[PATCH 1/2] Drivers: hv: utils: Continue to poll VSS channel after handling requests.

2016-08-18 Thread kys
From: Alex Ng Multiple VSS_OP_HOT_BACKUP requests may arrive in quick succession, even though the host only signals once. The driver wass handling the first request while ignoring the others in the ring buffer. We should poll the VSS channel after handling a request to continue processing other

[PATCH 0/2] Drivers: hv: util: Some fixes to the backup driver

2016-08-18 Thread kys
From: K. Y. Srinivasan Some fixes to the backup driver. Alex Ng (2): Drivers: hv: utils: Continue to poll VSS channel after handling requests. Drivers: hv: utils: Check VSS daemon is listening before a hot backup drivers/hv/hv_snapshot.c | 92

[PATCH 0/2] Drivers: hv: util: Some fixes to the backup driver

2016-08-18 Thread kys
From: K. Y. Srinivasan Some fixes to the backup driver. Alex Ng (2): Drivers: hv: utils: Continue to poll VSS channel after handling requests. Drivers: hv: utils: Check VSS daemon is listening before a hot backup drivers/hv/hv_snapshot.c | 92

[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:

[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

[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

[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

[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

[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

[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.

[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

[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

[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

[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 ---

[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

[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

[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

[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.

[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

[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

[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 --

[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

[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 ++

[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

[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

[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:

[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

<    4   5   6   7   8   9