- Update to changeset 21087 Xen 4.0.0 RC9.
- Update to changeset 21075 Xen 4.0.0 RC8. - bnc#584210 - xm usb-hc-destroy does not remove entry from xend del_usb_xend_entry.patch - Update to changeset 21057 Xen 4.0.0 RC7. OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=37
This commit is contained in:
committed by
Git OBS Bridge
parent
6327676635
commit
8be17801c5
@@ -4,7 +4,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c
|
||||
===================================================================
|
||||
--- xen-4.0.0-testing.orig/xen/arch/x86/acpi/power.c
|
||||
+++ xen-4.0.0-testing/xen/arch/x86/acpi/power.c
|
||||
@@ -231,7 +231,7 @@ static int enter_state(u32 state)
|
||||
@@ -234,7 +234,7 @@ static int enter_state(u32 state)
|
||||
return error;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c
|
||||
{
|
||||
struct acpi_sleep_info *sinfo = (struct acpi_sleep_info *)data;
|
||||
return enter_state(sinfo->sleep_state);
|
||||
@@ -262,7 +262,7 @@ int acpi_enter_sleep(struct xenpf_enter_
|
||||
@@ -265,7 +265,7 @@ int acpi_enter_sleep(struct xenpf_enter_
|
||||
acpi_sinfo.pm1b_cnt_val = sleep->pm1b_cnt_val;
|
||||
acpi_sinfo.sleep_state = sleep->sleep_state;
|
||||
|
||||
@@ -271,7 +271,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
|
||||
{
|
||||
int cpu = (unsigned long)data;
|
||||
return cpu_down(cpu);
|
||||
@@ -310,7 +311,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
@@ -314,7 +315,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
if ( op->u.change_freq.flags || !cpu_online(op->u.change_freq.cpu) )
|
||||
break;
|
||||
per_cpu(freq, op->u.change_freq.cpu) = op->u.change_freq.freq;
|
||||
@@ -280,16 +280,16 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
|
||||
cpu_frequency_change_helper,
|
||||
NULL);
|
||||
break;
|
||||
@@ -398,7 +399,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
|
||||
@@ -403,7 +404,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
g_info = &op->u.pcpu_info;
|
||||
|
||||
- spin_lock(&cpu_add_remove_lock);
|
||||
+ spin_lock(&cpupool_lock);
|
||||
|
||||
if ( (g_info->xen_cpuid >= NR_CPUS) ||
|
||||
(g_info->xen_cpuid < 0) ||
|
||||
@@ -417,7 +418,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
/* spin_trylock() avoids deadlock with stop_machine_run(). */
|
||||
- if ( !spin_trylock(&cpu_add_remove_lock) )
|
||||
+ if ( !spin_trylock(&cpupool_lock) )
|
||||
{
|
||||
ret = -EBUSY;
|
||||
break;
|
||||
@@ -426,7 +427,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
|
||||
g_info->max_present = last_cpu(cpu_present_map);
|
||||
|
||||
@@ -298,7 +298,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
|
||||
|
||||
ret = copy_to_guest(u_xenpf_op, op, 1) ? -EFAULT : 0;
|
||||
}
|
||||
@@ -458,7 +459,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
@@ -467,7 +468,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
|
||||
break;
|
||||
}
|
||||
ret = continue_hypercall_on_cpu(
|
||||
@@ -372,47 +372,35 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
*/
|
||||
int alloc_cpu_id(void)
|
||||
{
|
||||
@@ -985,10 +985,10 @@ static int __devinit do_boot_cpu(int api
|
||||
cpucount--;
|
||||
|
||||
/* Mark the CPU as non-present */
|
||||
- spin_lock(&cpu_add_remove_lock);
|
||||
+ spin_lock(&cpupool_lock);
|
||||
x86_cpu_to_apicid[cpu] = BAD_APICID;
|
||||
cpu_clear(cpu, cpu_present_map);
|
||||
- spin_unlock(&cpu_add_remove_lock);
|
||||
+ spin_unlock(&cpupool_lock);
|
||||
} else {
|
||||
}
|
||||
|
||||
@@ -1304,12 +1304,14 @@ int __cpu_disable(void)
|
||||
|
||||
@@ -1303,10 +1303,11 @@ int __cpu_disable(void)
|
||||
remove_siblinginfo(cpu);
|
||||
|
||||
+ cpu_clear(cpu, cpupool0->cpu_valid);
|
||||
cpu_clear(cpu, cpu_online_map);
|
||||
fixup_irqs();
|
||||
/* It's now safe to remove this processor from the online map */
|
||||
+ cpu_clear(cpu, cpupool0->cpu_valid);
|
||||
cpu_clear(cpu, cpu_online_map);
|
||||
fixup_irqs();
|
||||
|
||||
- cpu_disable_scheduler();
|
||||
+ cpu_disable_scheduler(cpu, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1342,8 +1344,8 @@ int cpu_down(unsigned int cpu)
|
||||
{
|
||||
@@ -1340,12 +1341,12 @@ int cpu_down(unsigned int cpu)
|
||||
int err = 0;
|
||||
|
||||
- spin_lock(&cpu_add_remove_lock);
|
||||
/* spin_trylock() avoids deadlock with stop_machine_run(). */
|
||||
- if (!spin_trylock(&cpu_add_remove_lock)) {
|
||||
+ if (!spin_trylock(&cpupool_lock)) {
|
||||
err = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if (num_online_cpus() == 1) {
|
||||
+ spin_lock(&cpupool_lock);
|
||||
+ if ((!cpu_isset(cpu, cpupool0->cpu_valid)) || (cpus_weight(cpupool0->cpu_valid) == 1)) {
|
||||
err = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
@@ -1376,7 +1378,7 @@ int cpu_down(unsigned int cpu)
|
||||
@@ -1378,7 +1379,7 @@ int cpu_down(unsigned int cpu)
|
||||
out:
|
||||
if (!err)
|
||||
send_guest_global_virq(dom0, VIRQ_PCPU_STATE);
|
||||
@@ -421,16 +409,16 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -1384,7 +1386,7 @@ int cpu_up(unsigned int cpu)
|
||||
{
|
||||
@@ -1387,7 +1388,7 @@ int cpu_up(unsigned int cpu)
|
||||
int err = 0;
|
||||
|
||||
- spin_lock(&cpu_add_remove_lock);
|
||||
+ spin_lock(&cpupool_lock);
|
||||
/* spin_trylock() avoids deadlock with stop_machine_run(). */
|
||||
- if (!spin_trylock(&cpu_add_remove_lock))
|
||||
+ if (!spin_trylock(&cpupool_lock))
|
||||
return -EBUSY;
|
||||
|
||||
if (cpu_online(cpu)) {
|
||||
printk("Bring up a online cpu. Bogus!\n");
|
||||
err = -EBUSY;
|
||||
@@ -1400,7 +1402,7 @@ int cpu_up(unsigned int cpu)
|
||||
@@ -1405,7 +1406,7 @@ int cpu_up(unsigned int cpu)
|
||||
out:
|
||||
if (!err)
|
||||
send_guest_global_virq(dom0, VIRQ_PCPU_STATE);
|
||||
@@ -439,12 +427,13 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -1481,13 +1483,13 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
if ( physid_isset(apic_id, phys_cpu_present_map) )
|
||||
@@ -1491,14 +1492,14 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
return -EEXIST;
|
||||
|
||||
- spin_lock(&cpu_add_remove_lock);
|
||||
+ spin_lock(&cpupool_lock);
|
||||
/* spin_trylock() avoids deadlock with stop_machine_run(). */
|
||||
- if (!spin_trylock(&cpu_add_remove_lock))
|
||||
+ if (!spin_trylock(&cpupool_lock))
|
||||
return -EBUSY;
|
||||
|
||||
cpu = mp_register_lapic(apic_id, 1);
|
||||
|
||||
@@ -455,7 +444,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
return cpu;
|
||||
}
|
||||
|
||||
@@ -1504,7 +1506,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
@@ -1515,7 +1516,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
"Setup node failed for pxm %x\n", pxm);
|
||||
x86_acpiid_to_apicid[acpi_id] = 0xff;
|
||||
mp_unregister_lapic(apic_id, cpu);
|
||||
@@ -464,7 +453,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
return node;
|
||||
}
|
||||
apicid_to_node[apic_id] = node;
|
||||
@@ -1512,7 +1514,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
@@ -1523,7 +1524,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
|
||||
|
||||
srat_detect_node(cpu);
|
||||
numa_add_cpu(cpu);
|
||||
@@ -473,7 +462,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
|
||||
dprintk(XENLOG_INFO, "Add CPU %x with index %x\n", apic_id, cpu);
|
||||
return cpu;
|
||||
}
|
||||
@@ -1556,6 +1558,7 @@ int __devinit __cpu_up(unsigned int cpu)
|
||||
@@ -1567,6 +1568,7 @@ int __devinit __cpu_up(unsigned int cpu)
|
||||
process_pending_softirqs();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user