Revision 0469f2f7ab4c6a6cae4b74c4f981c4da6d909411 authored by Vitaly Kuznetsov on 16 March 2021, 14:37:36 UTC, committed by Paolo Bonzini on 18 March 2021, 12:02:46 UTC
When guest opts for re-enlightenment notifications upon migration, it is
in its right to assume that TSC page values never change (as they're only
supposed to change upon migration and the host has to keep things as they
are before it receives confirmation from the guest). This is mostly true
until the guest is migrated somewhere. KVM userspace (e.g. QEMU) will
trigger masterclock update by writing to HV_X64_MSR_REFERENCE_TSC, by
calling KVM_SET_CLOCK,... and as TSC value and kvmclock reading drift
apart (even slightly), the update causes TSC page values to change.

The issue at hand is that when Hyper-V is migrated, it uses stale (cached)
TSC page values to compute the difference between its own clocksource
(provided by KVM) and its guests' TSC pages to program synthetic timers
and in some cases, when TSC page is updated, this puts all stimer
expirations in the past. This, in its turn, causes an interrupt storm
and L2 guests not making much forward progress.

Note, KVM doesn't fully implement re-enlightenment notification. Basically,
the support for reenlightenment MSRs is just a stub and userspace is only
expected to expose the feature when TSC scaling on the expected destination
hosts is available. With TSC scaling, no real re-enlightenment is needed
as TSC frequency doesn't change. With TSC scaling becoming ubiquitous, it
likely makes little sense to fully implement re-enlightenment in KVM.

Prevent TSC page from being updated after migration. In case it's not the
guest who's initiating the change and when TSC page is already enabled,
just keep it as it is: TSC value is supposed to be preserved across
migration and TSC frequency can't change with re-enlightenment enabled.
The guest is doomed anyway if any of this is not true.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210316143736.964151-5-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent cc9cfdd
Raw File
bfa.rst
.. SPDX-License-Identifier: GPL-2.0

=========================================
Linux driver for Brocade FC/FCOE adapters
=========================================

Supported Hardware
------------------

bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of
adapter models with corresponding PCIIDs.

	===================	===========================================
	PCIID			Model
	===================	===========================================
	1657:0013:1657:0014	425 4Gbps dual port FC HBA
	1657:0013:1657:0014	825 8Gbps PCIe dual port FC HBA
	1657:0013:103c:1742	HP 82B 8Gbps PCIedual port FC HBA
	1657:0013:103c:1744	HP 42B 4Gbps dual port FC HBA
	1657:0017:1657:0014	415 4Gbps single port FC HBA
	1657:0017:1657:0014	815 8Gbps single port FC HBA
	1657:0017:103c:1741	HP 41B 4Gbps single port FC HBA
	1657:0017:103c 1743	HP 81B 8Gbps single port FC HBA
	1657:0021:103c:1779	804 8Gbps FC HBA for HP Bladesystem c-class

	1657:0014:1657:0014	1010 10Gbps single port CNA - FCOE
	1657:0014:1657:0014	1020 10Gbps dual port CNA - FCOE
	1657:0014:1657:0014	1007 10Gbps dual port CNA - FCOE
	1657:0014:1657:0014	1741 10Gbps dual port CNA - FCOE

	1657:0022:1657:0024	1860 16Gbps FC HBA
	1657:0022:1657:0022	1860 10Gbps CNA - FCOE
	===================	===========================================


Firmware download
-----------------

The latest Firmware package for 3.0.2.2 bfa driver can be found at:

http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page

and then click following respective util package link:

	=========	=======================================================
	Version		Link
	=========	=======================================================
	v3.0.0.0	Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2
	=========	=======================================================


Configuration & Management utility download
-------------------------------------------

The latest driver configuration & management utility for 3.0.2.2 bfa driver can
be found at:

http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page

and then click following respective util package link

	=========	=======================================================
	Version		Link
	=========	=======================================================
	v3.0.2.0	Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2
	=========	=======================================================


Documentation
-------------

The latest Administration's Guide, Installation and Reference Manual,
Troubleshooting Guide, and Release Notes for the corresponding out-of-box
driver can be found at:

http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page

and use the following inbox and out-of-box driver version mapping to find
the corresponding documentation:

	=============		==================
	Inbox Version		Out-of-box Version
	=============		==================
	v3.0.2.2		v3.0.0.0
	=============		==================

Support
-------

For general product and support info, go to the Brocade website at:

http://www.brocade.com/services-support/index.page
back to top