<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hv/hv.c, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-10-30T16:43:09Z</updated>
<entry>
<title>Drivers: hv: vmbus: Cleanup hv_post_message()</title>
<updated>2014-10-30T16:43:09Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2014-08-29T01:29:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ab92d294a5e9b527d25a45fb0de9b10ca4df940'/>
<id>urn:sha1:0ab92d294a5e9b527d25a45fb0de9b10ca4df940</id>
<content type='text'>
commit b29ef3546aecb253a5552b198cef23750d56e1e4 upstream.

Minimize failures in this function by pre-allocating the buffer
for posting messages. The hypercall for posting the message can fail
for a number of reasons:

        1. Transient resource related issues
        2. Buffer alignment
        3. Buffer cannot span a page boundry

We address issues 2 and 3 by preallocating a per-cpu page for the buffer.
Transient resource related failures are handled by retrying by the callers
of this function.

This patch is based on the investigation
done by Dexuan Cui &lt;decui@microsoft.com&gt;.

I would like to thank Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
for reporting the issue and helping in debuggging.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reported-by: Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
Tested-by: Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Implement per-CPU mapping of relid to channel</title>
<updated>2014-05-03T23:24:26Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2014-04-09T01:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3a28fa35d6658703cd26f9c16aaea0eae06afd40'/>
<id>urn:sha1:3a28fa35d6658703cd26f9c16aaea0eae06afd40</id>
<content type='text'>
Currently the mapping of the relID to channel is done under the protection of a
single spin lock. Starting with ws2012, each channel is bound to a specific VCPU
in the guest. Use this binding to eliminate the spin lock by setting up
per-cpu state for mapping relId to the channel.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drivers: hv: Mark the function hv_synic_free_cpu() as static in hv.c</title>
<updated>2013-12-19T00:41:52Z</updated>
<author>
<name>Rashika Kheria</name>
</author>
<published>2013-12-14T13:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8712954d15f194f9639f60e6347797d784c03abb'/>
<id>urn:sha1:8712954d15f194f9639f60e6347797d784c03abb</id>
<content type='text'>
This patch marks the function hv_synic_free_cpu() as static in hv.c
because it is not used outside this file.

Thus, it also eliminates the following warning in hv.c:
drivers/hv/hv.c:304:6: warning: no previous prototype for ‘hv_synic_free_cpu’ [-Wmissing-prototypes]

Signed-off-by: Rashika Kheria &lt;rashika.kheria@gmail.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&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: Fix wrong check for synic_event_page</title>
<updated>2013-10-16T21:00:09Z</updated>
<author>
<name>Felipe Pena</name>
</author>
<published>2013-10-15T23:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdf91dae6f024c6dfee425fe754df6b1957f6c53'/>
<id>urn:sha1:fdf91dae6f024c6dfee425fe754df6b1957f6c53</id>
<content type='text'>
The check for calling free_page() on hv_context.synic_event_page[cpu] is the
same for hv_context.synic_message_page[cpu], like a copy-paste error.

Signed-off-by: Felipe Pena &lt;felipensp@gmail.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: allocate synic structures before hv_synic_init()</title>
<updated>2013-06-24T23:24:17Z</updated>
<author>
<name>Jason Wang</name>
</author>
<published>2013-06-19T03:28:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2608fb653103419ac163206ff6d51b7b6528e2d9'/>
<id>urn:sha1:2608fb653103419ac163206ff6d51b7b6528e2d9</id>
<content type='text'>
We currently allocate synic structures in hv_sync_init(), but there's no way for
the driver to know about the allocation failure and it may continue to use the
uninitialized pointers. Solve this by introducing helpers for allocating and
freeing and doing the allocation before the on_each_cpu() call in
vmbus_bus_init().

Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.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>driver: hv: remove cast for kmalloc return value</title>
<updated>2013-03-15T18:22:24Z</updated>
<author>
<name>Zhang Yanfei</name>
</author>
<published>2013-03-12T05:10:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3334948428c6370d664099cdcdfd4b487191293d'/>
<id>urn:sha1:3334948428c6370d664099cdcdfd4b487191293d</id>
<content type='text'>
remove cast for kmalloc return value.

Signed-off-by: Zhang Yanfei &lt;zhangyanfei@cn.fujitsu.com&gt;
Cc: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Use the new infrastructure for delivering VMBUS interrupts</title>
<updated>2013-02-27T18:15:53Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2013-02-17T19:30:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=302a3c0f2757ae1a3e7df3f9fa1f20e2214ab945'/>
<id>urn:sha1:302a3c0f2757ae1a3e7df3f9fa1f20e2214ab945</id>
<content type='text'>
Use the infrastructure for delivering VMBUS interrupts using a
special vector. With this patch, we can now properly handle
the VMBUS interrupts that can be delivered on any CPU. Also,
turn on interrupt load balancing as well.

This patch requires the infrastructure that was implemented in the patch:
X86: Handle Hyper-V vmbus interrupts as special hypervisor interrupts

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: Cleanup and consolidate reporting of build/version info</title>
<updated>2013-01-17T19:41:50Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2012-12-01T14:46:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bacaf0ce106d9caca75f64a58f3b938b070df29'/>
<id>urn:sha1:3bacaf0ce106d9caca75f64a58f3b938b070df29</id>
<content type='text'>
Now, cleanup and consolidate reporting of host and vmbus version numbers.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: Capture the host build information</title>
<updated>2013-01-17T19:41:49Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2012-12-01T14:46:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fbebb2d2095e5c7d289d5f4ffecc2f2661c584a'/>
<id>urn:sha1:5fbebb2d2095e5c7d289d5f4ffecc2f2661c584a</id>
<content type='text'>
Capture the host build information so it can be presented along with the
negotiated vmbus version information.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: Handle vmbus interrupts concurrently on all cpus</title>
<updated>2013-01-17T19:39:15Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2012-12-01T14:46:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0209501dc7586cbfbf6d023f2dd3ce4621aff2c'/>
<id>urn:sha1:b0209501dc7586cbfbf6d023f2dd3ce4621aff2c</id>
<content type='text'>
Vmbus interrupts are unique in that while the interrupt is delivered on a
given vector, these can be handled concurrently on different CPUs. Handle the
vmbus interrupts concurrently on all the CPUs.

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