<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hv/hv_util.c, branch linux-5.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-08-24T14:49:04Z</updated>
<entry>
<title>hv_utils: drain the timesync packets on onchannelcallback</title>
<updated>2020-08-24T14:49:04Z</updated>
<author>
<name>Vineeth Pillai</name>
</author>
<published>2020-08-21T15:28:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b46b4a8a57c377b72a98c7930a9f6969d2d4784e'/>
<id>urn:sha1:b46b4a8a57c377b72a98c7930a9f6969d2d4784e</id>
<content type='text'>
There could be instances where a system stall prevents the timesync
packets to be consumed. And this might lead to more than one packet
pending in the ring buffer. Current code empties one packet per callback
and it might be a stale one. So drain all the packets from ring buffer
on each callback.

Signed-off-by: Vineeth Pillai &lt;viremana@linux.microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20200821152849.99517-1-viremana@linux.microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
</content>
</entry>
<entry>
<title>hv_utils: return error if host timesysnc update is stale</title>
<updated>2020-08-24T14:48:37Z</updated>
<author>
<name>Vineeth Pillai</name>
</author>
<published>2020-08-21T15:25:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90b125f4cd2697f949f5877df723a0b710693dd0'/>
<id>urn:sha1:90b125f4cd2697f949f5877df723a0b710693dd0</id>
<content type='text'>
If for any reason, host timesync messages were not processed by
the guest, hv_ptp_gettime() returns a stale value and the
caller (clock_gettime, PTP ioctl etc) has no means to know this
now. Return an error so that the caller knows about this.

Signed-off-by: Vineeth Pillai &lt;viremana@linux.microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20200821152523.99364-1-viremana@linux.microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux</title>
<updated>2020-02-03T14:42:03Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2020-02-03T14:42:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d0fa9250317ff6e92a1397ebf7cf4d83014f38a6'/>
<id>urn:sha1:d0fa9250317ff6e92a1397ebf7cf4d83014f38a6</id>
<content type='text'>
Pull Hyper-V updates from Sasha Levin:

 - Most of the commits here are work to enable host-initiated
   hibernation support by Dexuan Cui.

 - Fix for a warning shown when host sends non-aligned balloon requests
   by Tianyu Lan.

* tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  hv_utils: Add the support of hibernation
  hv_utils: Support host-initiated hibernation request
  hv_utils: Support host-initiated restart request
  Tools: hv: Reopen the devices if read() or write() returns errors
  video: hyperv: hyperv_fb: Use physical memory for fb on HyperV Gen 1 VMs.
  Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
  video: hyperv_fb: Fix hibernation for the deferred IO feature
  Input: hyperv-keyboard: Add the support of hibernation
  hv_balloon: Balloon up according to request page number
</content>
</entry>
<entry>
<title>hv_utils: Add the support of hibernation</title>
<updated>2020-01-27T03:10:17Z</updated>
<author>
<name>Dexuan Cui</name>
</author>
<published>2020-01-26T05:49:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54e19d34011fea26d39aa74781131de0ce642a01'/>
<id>urn:sha1:54e19d34011fea26d39aa74781131de0ce642a01</id>
<content type='text'>
Add util_pre_suspend() and util_pre_resume() for some hv_utils devices
(e.g. kvp/vss/fcopy), because they need special handling before
util_suspend() calls vmbus_close().

For kvp, all the possible pending work items should be cancelled.

For vss and fcopy, some extra clean-up needs to be done, i.e. fake a
THAW message for hv_vss_daemon and fake a CANCEL_FCOPY message for
hv_fcopy_daemon, otherwise when the VM resums back, the daemons
can end up in an inconsistent state (i.e. the file systems are
frozen but will never be thawed; the file transmitted via fcopy
may not be complete). Note: there is an extra patch for the daemons:
"Tools: hv: Reopen the devices if read() or write() returns errors",
because the hv_utils driver can not guarantee the whole transaction
finishes completely once util_suspend() starts to run (at this time,
all the userspace processes are frozen).

util_probe() disables channel-&gt;callback_event to avoid the race with
the channel callback.

Signed-off-by: Dexuan Cui &lt;decui@microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hv_utils: Support host-initiated hibernation request</title>
<updated>2020-01-27T03:10:16Z</updated>
<author>
<name>Dexuan Cui</name>
</author>
<published>2020-01-26T05:49:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ffd1d4a49336b7f0078f45332fa4b93d25720f6c'/>
<id>urn:sha1:ffd1d4a49336b7f0078f45332fa4b93d25720f6c</id>
<content type='text'>
Update the Shutdown IC version to 3.2, which is required for the host to
send the hibernation request.

The user is expected to create the below udev rule file, which is applied
upon the host-initiated hibernation request:

root@localhost:~# cat /usr/lib/udev/rules.d/40-vm-hibernation.rules
SUBSYSTEM=="vmbus", ACTION=="change", DRIVER=="hv_utils", ENV{EVENT}=="hibernate", RUN+="/usr/bin/systemctl hibernate"

Signed-off-by: Dexuan Cui &lt;decui@microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hv_utils: Support host-initiated restart request</title>
<updated>2020-01-27T03:10:16Z</updated>
<author>
<name>Dexuan Cui</name>
</author>
<published>2020-01-26T05:49:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e9c72056ed5618bef253f602e79dd2312a0d8a5'/>
<id>urn:sha1:3e9c72056ed5618bef253f602e79dd2312a0d8a5</id>
<content type='text'>
The hv_utils driver currently supports a "shutdown" operation initiated
from the Hyper-V host. Newer versions of Hyper-V also support a "restart"
operation. So add support for the updated protocol version that has
"restart" support, and perform a clean reboot when such a message is
received from Hyper-V.

To test the restart functionality, run this PowerShell command on the
Hyper-V host:

Restart-VM  &lt;vmname&gt;  -Type Reboot

Signed-off-by: Dexuan Cui &lt;decui@microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources</title>
<updated>2020-01-16T18:09:02Z</updated>
<author>
<name>Andrea Parri</name>
</author>
<published>2020-01-09T16:06:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0af3e137c144377fbaf5025ba784ff5ba7ad40c9'/>
<id>urn:sha1:0af3e137c144377fbaf5025ba784ff5ba7ad40c9</id>
<content type='text'>
hyperv_timer.c exports hyperv_cs, which is used by stimers and the
timesync mechanism.  However, the clocksource dependency is not
needed: these mechanisms only depend on the partition reference
counter (which can be read via a MSR or via the TSC Reference Page).

Introduce the (function) pointer hv_read_reference_counter, as an
embodiment of the partition reference counter read, and export it
in place of the hyperv_cs pointer.  The latter can be removed.

This should clarify that there's no relationship between Hyper-V
stimers &amp; timesync and the Linux clocksource abstractions.  No
functional or semantic change.

Suggested-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Andrea Parri &lt;parri.andrea@gmail.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20200109160650.16150-2-parri.andrea@gmail.com
</content>
</entry>
<entry>
<title>Drivers: hv: util: Specify ring buffer size using Hyper-V page size</title>
<updated>2019-11-22T01:10:45Z</updated>
<author>
<name>Himadri Pandya</name>
</author>
<published>2019-07-25T05:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0541a225945d5e0d650353f51614812aa820c6be'/>
<id>urn:sha1:0541a225945d5e0d650353f51614812aa820c6be</id>
<content type='text'>
VMbus ring buffers are sized based on the 4K page size used by
Hyper-V. The Linux guest page size may not be 4K on all architectures
so use the Hyper-V page size to specify the ring buffer size.

Signed-off-by: Himadri Pandya &lt;himadri18.07@gmail.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: Specify receive buffer size using Hyper-V page size</title>
<updated>2019-11-22T01:10:45Z</updated>
<author>
<name>Himadri Pandya</name>
</author>
<published>2019-07-25T05:03:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b14d749ac5abdf311321172ae11e6ad1be4293e9'/>
<id>urn:sha1:b14d749ac5abdf311321172ae11e6ad1be4293e9</id>
<content type='text'>
The recv_buffer is used to retrieve data from the VMbus ring buffer.
VMbus ring buffers are sized based on the guest page size which
Hyper-V assumes to be 4KB. But it may be different on some
architectures. So use the Hyper-V page size to allocate the
recv_buffer and set the maximum size to receive.

Signed-off-by: Himadri Pandya &lt;himadri18.07@gmail.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers: Continue making Hyper-V clocksource ISA agnostic</title>
<updated>2019-07-03T09:00:59Z</updated>
<author>
<name>Michael Kelley</name>
</author>
<published>2019-07-01T04:26:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd2cb348613b44f9d948b068775e159aad298599'/>
<id>urn:sha1:dd2cb348613b44f9d948b068775e159aad298599</id>
<content type='text'>
Continue consolidating Hyper-V clock and timer code into an ISA
independent Hyper-V clocksource driver.

Move the existing clocksource code under drivers/hv and arch/x86 to the new
clocksource driver while separating out the ISA dependencies. Update
Hyper-V initialization to call initialization and cleanup routines since
the Hyper-V synthetic clock is not independently enumerated in ACPI.

Update Hyper-V clocksource users in KVM and VDSO to get definitions from
the new include file.

No behavior is changed and no new functionality is added.

Suggested-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Cc: "bp@alien8.de" &lt;bp@alien8.de&gt;
Cc: "will.deacon@arm.com" &lt;will.deacon@arm.com&gt;
Cc: "catalin.marinas@arm.com" &lt;catalin.marinas@arm.com&gt;
Cc: "mark.rutland@arm.com" &lt;mark.rutland@arm.com&gt;
Cc: "linux-arm-kernel@lists.infradead.org" &lt;linux-arm-kernel@lists.infradead.org&gt;
Cc: "gregkh@linuxfoundation.org" &lt;gregkh@linuxfoundation.org&gt;
Cc: "linux-hyperv@vger.kernel.org" &lt;linux-hyperv@vger.kernel.org&gt;
Cc: "olaf@aepfle.de" &lt;olaf@aepfle.de&gt;
Cc: "apw@canonical.com" &lt;apw@canonical.com&gt;
Cc: "jasowang@redhat.com" &lt;jasowang@redhat.com&gt;
Cc: "marcelo.cerri@canonical.com" &lt;marcelo.cerri@canonical.com&gt;
Cc: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Cc: KY Srinivasan &lt;kys@microsoft.com&gt;
Cc: "sashal@kernel.org" &lt;sashal@kernel.org&gt;
Cc: "vincenzo.frascino@arm.com" &lt;vincenzo.frascino@arm.com&gt;
Cc: "linux-arch@vger.kernel.org" &lt;linux-arch@vger.kernel.org&gt;
Cc: "linux-mips@vger.kernel.org" &lt;linux-mips@vger.kernel.org&gt;
Cc: "linux-kselftest@vger.kernel.org" &lt;linux-kselftest@vger.kernel.org&gt;
Cc: "arnd@arndb.de" &lt;arnd@arndb.de&gt;
Cc: "linux@armlinux.org.uk" &lt;linux@armlinux.org.uk&gt;
Cc: "ralf@linux-mips.org" &lt;ralf@linux-mips.org&gt;
Cc: "paul.burton@mips.com" &lt;paul.burton@mips.com&gt;
Cc: "daniel.lezcano@linaro.org" &lt;daniel.lezcano@linaro.org&gt;
Cc: "salyzyn@android.com" &lt;salyzyn@android.com&gt;
Cc: "pcc@google.com" &lt;pcc@google.com&gt;
Cc: "shuah@kernel.org" &lt;shuah@kernel.org&gt;
Cc: "0x7f454c46@gmail.com" &lt;0x7f454c46@gmail.com&gt;
Cc: "linux@rasmusvillemoes.dk" &lt;linux@rasmusvillemoes.dk&gt;
Cc: "huw@codeweavers.com" &lt;huw@codeweavers.com&gt;
Cc: "sfr@canb.auug.org.au" &lt;sfr@canb.auug.org.au&gt;
Cc: "pbonzini@redhat.com" &lt;pbonzini@redhat.com&gt;
Cc: "rkrcmar@redhat.com" &lt;rkrcmar@redhat.com&gt;
Cc: "kvm@vger.kernel.org" &lt;kvm@vger.kernel.org&gt;
Link: https://lkml.kernel.org/r/1561955054-1838-3-git-send-email-mikelley@microsoft.com

</content>
</entry>
</feed>
