Revert "xen PVonHVM: move shared_info to MMIO before kexec"
This reverts commit 00e37bdb01
.
During shutdown of PVHVM guests with more than 2VCPUs on certain
machines we can hit the race where the replaced shared_info is not
replaced fast enough and the PV time clock retries reading the same
area over and over without any any success and is stuck in an
infinite loop.
Acked-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
5bc6f9888d
commit
ca08649eb5
5 changed files with 13 additions and 126 deletions
|
@ -101,19 +101,6 @@ static int platform_pci_resume(struct pci_dev *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __devinit prepare_shared_info(void)
|
||||
{
|
||||
#ifdef CONFIG_KEXEC
|
||||
unsigned long addr;
|
||||
struct shared_info *hvm_shared_info;
|
||||
|
||||
addr = alloc_xen_mmio(PAGE_SIZE);
|
||||
hvm_shared_info = ioremap(addr, PAGE_SIZE);
|
||||
memset(hvm_shared_info, 0, PAGE_SIZE);
|
||||
xen_hvm_prepare_kexec(hvm_shared_info, addr >> PAGE_SHIFT);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int __devinit platform_pci_init(struct pci_dev *pdev,
|
||||
const struct pci_device_id *ent)
|
||||
{
|
||||
|
@ -151,8 +138,6 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
|
|||
platform_mmio = mmio_addr;
|
||||
platform_mmiolen = mmio_len;
|
||||
|
||||
prepare_shared_info();
|
||||
|
||||
if (!xen_have_vector_callback) {
|
||||
ret = xen_allocate_irq(pdev);
|
||||
if (ret) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue