Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'v2.6.36-rc6-urgent-fixes' of git://xenbits.xen.org/people/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

+9 -5
+3 -2
arch/x86/xen/time.c
··· 489 489 __init void xen_hvm_init_time_ops(void) 490 490 { 491 491 /* vector callback is needed otherwise we cannot receive interrupts 492 - * on cpu > 0 */ 493 - if (!xen_have_vector_callback && num_present_cpus() > 1) 492 + * on cpu > 0 and at this point we don't know how many cpus are 493 + * available */ 494 + if (!xen_have_vector_callback) 494 495 return; 495 496 if (!xen_feature(XENFEAT_hvm_safe_pvclock)) { 496 497 printk(KERN_INFO "Xen doesn't support pvclock on HVM,"
+6 -3
drivers/xen/xenbus/xenbus_probe.c
··· 755 755 { 756 756 int ret = 0; 757 757 758 - blocking_notifier_chain_register(&xenstore_chain, nb); 758 + if (xenstored_ready > 0) 759 + ret = nb->notifier_call(nb, 0, NULL); 760 + else 761 + blocking_notifier_chain_register(&xenstore_chain, nb); 759 762 760 763 return ret; 761 764 } ··· 772 769 773 770 void xenbus_probe(struct work_struct *unused) 774 771 { 775 - BUG_ON((xenstored_ready <= 0)); 772 + xenstored_ready = 1; 776 773 777 774 /* Enumerate devices in xenstore and watch for changes. */ 778 775 xenbus_probe_devices(&xenbus_frontend); ··· 838 835 xen_store_evtchn = xen_start_info->store_evtchn; 839 836 xen_store_mfn = xen_start_info->store_mfn; 840 837 xen_store_interface = mfn_to_virt(xen_store_mfn); 838 + xenstored_ready = 1; 841 839 } 842 - xenstored_ready = 1; 843 840 } 844 841 845 842 /* Initialize the interface to xenstore. */