Files
xen/docs
Sergey Dyasli 5ed12565aa microcode: rendezvous CPUs in NMI handler and load ucode
When one core is loading ucode, handling NMI on sibling threads or
on other cores in the system might be problematic. By rendezvousing
all CPUs in NMI handler, it prevents NMI acceptance during ucode
loading.

Basically, some work previously done in stop_machine context is
moved to NMI handler. Primary threads call in and load ucode in
NMI handler. Secondary threads wait for the completion of ucode
loading on all CPU cores. An option is introduced to disable this
behavior.

Control thread doesn't rendezvous in NMI handler by calling self_nmi()
(in case of unknown_nmi_error() being triggered). The side effect is
control thread might be handling an NMI while other threads are loading
ucode. If an ucode is to update something shared by a whole socket,
control thread may be accessing things that are being updating by the
ucode loading on other cores. It is not safe. Update ucode on the
control thread first to mitigate this issue.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
Signed-off-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2019-10-02 13:35:44 +02:00
..
2019-03-22 13:48:02 +00:00
2019-03-13 13:40:23 +00:00
2018-11-14 19:25:11 +00:00
2016-04-01 11:07:28 +08:00

Remus provides fault tolerance for virtual machines by sending continuous
checkpoints to a backup, which will activate if the target VM fails.

See the website at http://wiki.xen.org/wiki/Remus for details.

Using Remus with libxl on Xen 4.5 and higher:
 To enable network buffering, you need libnl 3.2.8
 or higher along with the development headers and command line utilities.
 If your distro does not have the appropriate libnl3 version, you can find
 the latest source tarball of libnl3 at http://www.carisma.slowglass.com/~tgr/libnl/

Disk replication:
 VMs protected by Remus need to use DRBD based disk backends. Specifically, you
 need a compile and install a custom version of DRBD, that is available publicly
 at https://github.com/rshriram/remus-drbd
 This code is based on DRBD 8.3.11 and uses a new replication protocol (named
 protocol D) for asynchronous disk checkpoint replication. A protected VM's DRBD
 disks on the primary and backup hosts need to be configured to use protocol D
 as the replication protocol. An example resource configuration file can be found
 in the aforementioned github repository.