<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hv/connection.c, branch linux-4.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-03-17T06:10:48Z</updated>
<entry>
<title>vmbus: only reschedule tasklet if time limit exceeded</title>
<updated>2017-03-17T06:10:48Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2017-03-05T01:27:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ada6eb11137be0baf846e00fca40fc096ba85a28'/>
<id>urn:sha1:ada6eb11137be0baf846e00fca40fc096ba85a28</id>
<content type='text'>
The change to reschedule tasklet if more data arrives in ring buffer
can cause performance regression if host timing is such that the
next response happens in small window.

Go back to a modified version of the original looping behavior.
If the race occurs in a small time, then loop. But if the tasklet
has been running for a long interval due to flood, then reschedule
the tasklet to allow migration to ksoftirqd.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vmbus: add direct isr callback mode</title>
<updated>2017-02-14T18:20:35Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2017-02-12T06:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b71e328297a3a578c482fb4814e737a0ec185839'/>
<id>urn:sha1:b71e328297a3a578c482fb4814e737a0ec185839</id>
<content type='text'>
Change the simple boolean batched_reading into a tri-value.
For future NAPI support in netvsc driver, the callback needs to
occur directly in interrupt handler.

Batched mode is also changed to disable host interrupts immediately
in interrupt routine (to avoid unnecessary host signals), and the
tasklet is rescheduled if more data is detected.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vmbus: change to per channel tasklet</title>
<updated>2017-02-14T18:20:35Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2017-02-12T06:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=631e63a9f346cb657761ae22138f294718696501'/>
<id>urn:sha1:631e63a9f346cb657761ae22138f294718696501</id>
<content type='text'>
Make the event handling tasklet per channel rather than per-cpu.
This allows for better fairness when getting lots of data on the same
cpu.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vmbus: put related per-cpu variable together</title>
<updated>2017-02-14T18:20:35Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2017-02-12T06:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37cdd991fac810a727cd285629d1640fcf53cd19'/>
<id>urn:sha1:37cdd991fac810a727cd285629d1640fcf53cd19</id>
<content type='text'>
The hv_context structure had several arrays which were per-cpu
and was allocating small structures (tasklet_struct). Instead use
a single per-cpu array.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vmbus: use kernel bitops for traversing interrupt mask</title>
<updated>2017-02-10T14:43:30Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2017-02-06T00:20:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c1bec61fdfcd056df909a712e2a86bbaeb0f942'/>
<id>urn:sha1:5c1bec61fdfcd056df909a712e2a86bbaeb0f942</id>
<content type='text'>
Use standard kernel operations for find first set bit to traverse
the channel bit array. This has added benefit of speeding up
lookup on 64 bit and because it uses find first set instruction.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Move the extracting of Hypervisor version information</title>
<updated>2017-01-20T13:48:03Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2017-01-19T18:51:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8de8af7e0873c4fdac2205327dff922819e16657'/>
<id>urn:sha1:8de8af7e0873c4fdac2205327dff922819e16657</id>
<content type='text'>
As part of the effort to separate out architecture specific code,
extract hypervisor version information in an architecture specific
file.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()</title>
<updated>2017-01-10T20:46:40Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
</author>
<published>2016-12-07T09:16:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0bb03924f1a80e7f65900e36c8e6b3dc167c5f8'/>
<id>urn:sha1:c0bb03924f1a80e7f65900e36c8e6b3dc167c5f8</id>
<content type='text'>
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 device or crash.

While host's DoS protection conditions are unknown to me my tests show that
it can take up to 10 seconds before the message is sent so doing udelay()
is not an option, we really need to sleep. Almost all vmbus_post_msg()
callers are ready to sleep but there is one special case:
vmbus_initiate_unload() which can be called from interrupt/NMI context and
we can't sleep there. I'm also not sure about the lonely
vmbus_send_tl_connect_request() which has no in-tree users but its external
users are most likely waiting for the host to reply so sleeping there is
also appropriate.

Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>uio-hv-generic: new userspace i/o driver for VMBus</title>
<updated>2016-12-06T10:52:49Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2016-12-03T20:34:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95096f2fbd10186d3e78a328b327afc71428f65f'/>
<id>urn:sha1:95096f2fbd10186d3e78a328b327afc71428f65f</id>
<content type='text'>
This is a new driver to enable userspace networking on VMBus.
It is based largely on the similar driver that already exists
for PCI, and earlier work done by Brocade to support DPDK.

Signed-off-by: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg()</title>
<updated>2016-08-31T11:05:41Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2016-07-01T23:26:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8de0d7e951826d7592e0ba1da655b175c4aa0923'/>
<id>urn:sha1:8de0d7e951826d7592e0ba1da655b175c4aa0923</id>
<content type='text'>
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 &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Export the vmbus_set_event() API</title>
<updated>2016-04-30T21:00:19Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2016-04-03T00:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5cc472477f928fb8584eb8e08245c9cf9002d74a'/>
<id>urn:sha1:5cc472477f928fb8584eb8e08245c9cf9002d74a</id>
<content type='text'>
In preparation for moving some ring buffer functionality out of the
vmbus driver, export the API for signaling the host.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
