<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hv/hyperv_vmbus.h, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-13T18:23:36Z</updated>
<entry>
<title>Merge tag 'char-misc-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc</title>
<updated>2016-01-13T18:23:36Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-01-13T18:23:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c257ec37bc365614933c7f0a7fe9b0688dfd1e7'/>
<id>urn:sha1:4c257ec37bc365614933c7f0a7fe9b0688dfd1e7</id>
<content type='text'>
Pull char/misc updates from Greg KH:
 "Here's the big set of char/misc patches for 4.5-rc1.

  Nothing major, lots of different driver subsystem updates, full
  details in the shortlog.  All of these have been in linux-next for a
  while"

* tag 'char-misc-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (71 commits)
  mei: fix fasync return value on error
  parport: avoid assignment in if
  parport: remove unneeded space
  parport: change style of NULL comparison
  parport: remove unnecessary out of memory message
  parport: remove braces
  parport: quoted strings should not be split
  parport: code indent should use tabs
  parport: fix coding style
  parport: EXPORT_SYMBOL should follow function
  parport: remove trailing white space
  parport: fix a trivial typo
  coresight: Fix a typo in Kconfig
  coresight: checking for NULL string in coresight_name_match()
  Drivers: hv: vmbus: Treat Fibre Channel devices as performance critical
  Drivers: hv: utils: fix hvt_op_poll() return value on transport destroy
  Drivers: hv: vmbus: fix the building warning with hyperv-keyboard
  extcon: add Maxim MAX3355 driver
  Drivers: hv: ring_buffer: eliminate hv_ringbuffer_peek()
  Drivers: hv: remove code duplication between vmbus_recvpacket()/vmbus_recvpacket_raw()
  ...
</content>
</entry>
<entry>
<title>drivers/hv: Move struct hv_timer_message_payload into UAPI Hyper-V x86 header</title>
<updated>2015-12-16T17:49:41Z</updated>
<author>
<name>Andrey Smetanin</name>
</author>
<published>2015-11-30T16:22:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c71acc4c74dddebbbbeede69fdd4f0b1a124f9df'/>
<id>urn:sha1:c71acc4c74dddebbbbeede69fdd4f0b1a124f9df</id>
<content type='text'>
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.

Signed-off-by: Andrey Smetanin &lt;asmetanin@virtuozzo.com&gt;
CC: Gleb Natapov &lt;gleb@kernel.org&gt;
CC: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
CC: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
CC: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
CC: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
CC: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Denis V. Lunev &lt;den@openvz.org&gt;
CC: qemu-devel@nongnu.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>drivers/hv: Move struct hv_message into UAPI Hyper-V x86 header</title>
<updated>2015-12-16T17:49:40Z</updated>
<author>
<name>Andrey Smetanin</name>
</author>
<published>2015-11-30T16:22:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b423efe11e822e092e8c911a6bad17eadf718eb'/>
<id>urn:sha1:5b423efe11e822e092e8c911a6bad17eadf718eb</id>
<content type='text'>
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.

Signed-off-by: Andrey Smetanin &lt;asmetanin@virtuozzo.com&gt;
Acked-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Gleb Natapov &lt;gleb@kernel.org&gt;
CC: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
CC: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
CC: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
CC: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
CC: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Denis V. Lunev &lt;den@openvz.org&gt;
CC: qemu-devel@nongnu.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header</title>
<updated>2015-12-16T17:49:40Z</updated>
<author>
<name>Andrey Smetanin</name>
</author>
<published>2015-11-30T16:22:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f39bcfd1c132522380138a323f9af7902766301'/>
<id>urn:sha1:4f39bcfd1c132522380138a323f9af7902766301</id>
<content type='text'>
This constant is required for Hyper-V SynIC timers MSR's
support by userspace(QEMU).

Signed-off-by: Andrey Smetanin &lt;asmetanin@virtuozzo.com&gt;
Acked-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Reviewed-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Gleb Natapov &lt;gleb@kernel.org&gt;
CC: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
CC: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
CC: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
CC: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
CC: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Denis V. Lunev &lt;den@openvz.org&gt;
CC: qemu-devel@nongnu.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>drivers/hv: replace enum hv_message_type by u32</title>
<updated>2015-12-16T17:49:39Z</updated>
<author>
<name>Andrey Smetanin</name>
</author>
<published>2015-11-30T16:22:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7797dcf63f11b6e1d34822daf2317223d0f4ad46'/>
<id>urn:sha1:7797dcf63f11b6e1d34822daf2317223d0f4ad46</id>
<content type='text'>
enum hv_message_type inside struct hv_message, hv_post_message
is not size portable. Replace enum by u32.

Signed-off-by: Andrey Smetanin &lt;asmetanin@virtuozzo.com&gt;
CC: Gleb Natapov &lt;gleb@kernel.org&gt;
CC: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
CC: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
CC: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
CC: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
CC: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
CC: Denis V. Lunev &lt;den@openvz.org&gt;
CC: qemu-devel@nongnu.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: ring_buffer: eliminate hv_ringbuffer_peek()</title>
<updated>2015-12-15T03:27:30Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
</author>
<published>2015-12-15T03:02:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=940b68e2c3e4ebf032885203c3970e9649f814af'/>
<id>urn:sha1:940b68e2c3e4ebf032885203c3970e9649f814af</id>
<content type='text'>
Currently, there is only one user for hv_ringbuffer_read()/
hv_ringbuffer_peak() functions and the usage of these functions is:
- insecure as we drop ring_lock between them, someone else (in theory
  only) can acquire it in between;
- non-optimal as we do a number of things (acquire/release the above
  mentioned lock, calculate available space on the ring, ...) twice and
  this path is performance-critical.

Remove hv_ringbuffer_peek() moving the logic from __vmbus_recvpacket() to
hv_ringbuffer_read().

Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@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>Drivers: hv: vmbus: channge vmbus_connection.channel_lock to mutex</title>
<updated>2015-12-15T03:15:05Z</updated>
<author>
<name>Dexuan Cui</name>
</author>
<published>2015-12-15T00:01:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6f591e339d23f434efda11917da511870891472'/>
<id>urn:sha1:d6f591e339d23f434efda11917da511870891472</id>
<content type='text'>
spinlock is unnecessary here.
mutex is enough.

Signed-off-by: Dexuan Cui &lt;decui@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: Export the API to invoke a hypercall on Hyper-V</title>
<updated>2015-12-15T03:12:21Z</updated>
<author>
<name>Jake Oshins</name>
</author>
<published>2015-12-15T00:01:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a108393dbf764efb2405f21ca759806c65b8bc16'/>
<id>urn:sha1:a108393dbf764efb2405f21ca759806c65b8bc16</id>
<content type='text'>
This patch exposes the function that hv_vmbus.ko uses to make hypercalls.  This
is necessary for retargeting an interrupt when it is given a new affinity.

Since we are exporting this API, rename the API as it will be visible outside
the hv.c file.

Signed-off-by: Jake Oshins &lt;jakeo@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: utils: run polling callback always in interrupt context</title>
<updated>2015-12-15T03:12:21Z</updated>
<author>
<name>Olaf Hering</name>
</author>
<published>2015-12-15T00:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3cace4a616108539e2730f8dc21a636474395e0f'/>
<id>urn:sha1:3cace4a616108539e2730f8dc21a636474395e0f</id>
<content type='text'>
All channel interrupts are bound to specific VCPUs in the guest
at the point channel is created. While currently, we invoke the
polling function on the correct CPU (the CPU to which the channel
is bound to) in some cases we may run the polling function in
a non-interrupt context. This  potentially can cause an issue as the
polling function can be interrupted by the channel callback function.
Fix the issue by running the polling function on the appropriate CPU
at interrupt level. Additional details of the issue being addressed by
this patch are given below:

Currently hv_fcopy_onchannelcallback is called from interrupts and also
via the -&gt;write function of hv_utils. Since the used global variables to
maintain state are not thread safe the state can get out of sync.
This affects the variable state as well as the channel inbound buffer.

As suggested by KY adjust hv_poll_channel to always run the given
callback on the cpu which the channel is bound to. This avoids the need
for locking because all the util services are single threaded and only
one transaction is active at any given point in time.

Additionally, remove the context variable, they will always be the same as
recv_channel.

Signed-off-by: Olaf Hering &lt;olaf@aepfle.de&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: util: Increase the timeout for util services</title>
<updated>2015-12-15T03:12:21Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2015-12-15T00:01:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0b200cfb0403740171c7527b3ac71d03f82947a'/>
<id>urn:sha1:c0b200cfb0403740171c7527b3ac71d03f82947a</id>
<content type='text'>
Util services such as KVP and FCOPY need assistance from daemon's running
in user space. Increase the timeout so we don't prematurely terminate
the transaction in the kernel. Host sets up a 60 second timeout for
all util driver transactions. The host will retry the transaction if it
times out. Set the guest timeout at 30 seconds.

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>
