Skip to content

Commit

Permalink
Merge branch 'v2.6.36-rc6-urgent-fixes' of git://xenbits.xen.org/peop…
Browse files Browse the repository at this point in the history
…le/sstabellini/linux-pvhvm

* 'v2.6.36-rc6-urgent-fixes' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
  xen: do not initialize PV timers on HVM if !xen_have_vector_callback
  xen: do not set xenstored_ready before xenbus_probe on hvm
  • Loading branch information
torvalds committed Oct 6, 2010
2 parents 8fe9793 + 31e7e93 commit 34984f5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
5 changes: 3 additions & 2 deletions arch/x86/xen/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -489,8 +489,9 @@ static void xen_hvm_setup_cpu_clockevents(void)
__init void xen_hvm_init_time_ops(void)
{
/* vector callback is needed otherwise we cannot receive interrupts
* on cpu > 0 */
if (!xen_have_vector_callback && num_present_cpus() > 1)
* on cpu > 0 and at this point we don't know how many cpus are
* available */
if (!xen_have_vector_callback)
return;
if (!xen_feature(XENFEAT_hvm_safe_pvclock)) {
printk(KERN_INFO "Xen doesn't support pvclock on HVM,"
Expand Down
9 changes: 6 additions & 3 deletions drivers/xen/xenbus/xenbus_probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,10 @@ int register_xenstore_notifier(struct notifier_block *nb)
{
int ret = 0;

blocking_notifier_chain_register(&xenstore_chain, nb);
if (xenstored_ready > 0)
ret = nb->notifier_call(nb, 0, NULL);
else
blocking_notifier_chain_register(&xenstore_chain, nb);

return ret;
}
Expand All @@ -769,7 +772,7 @@ EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);

void xenbus_probe(struct work_struct *unused)
{
BUG_ON((xenstored_ready <= 0));
xenstored_ready = 1;

/* Enumerate devices in xenstore and watch for changes. */
xenbus_probe_devices(&xenbus_frontend);
Expand Down Expand Up @@ -835,8 +838,8 @@ static int __init xenbus_init(void)
xen_store_evtchn = xen_start_info->store_evtchn;
xen_store_mfn = xen_start_info->store_mfn;
xen_store_interface = mfn_to_virt(xen_store_mfn);
xenstored_ready = 1;
}
xenstored_ready = 1;
}

/* Initialize the interface to xenstore. */
Expand Down

0 comments on commit 34984f5

Please sign in to comment.