Dear all: I need your help. -------------------------------------------------------- __start_xen { iommu_setup(); /* setup iommu if available */ smp_prepare_cpus(max_cpus); } routing patch: smp_prepare_cpus -> smp_boot_cpus -> do_boot_cpu -> wakeup_secondary_cpu when BSP "Sending STARTUP #1(num_starts=2)", handling CPU#31, system was stuck, I don't know why. besides, there are 64 physical CPUs. wakeup_secondary_cpu { for (j = 1; j <= num_starts; j++) { Dprintk("Sending STARTUP #%d.\n",j); //this printing appeared apic_read_around(APIC_SPIV); apic_write(APIC_ESR, 0); apic_read(APIC_ESR); Dprintk("After apic_write.\n"); //but this print never come out, and system was stuck } } --------------------------------------------------- 1 apic_write/read() contains some lock there? how to check ? 2 BSP CPU 's rip jumped to another place owing to such as an interruption? the most suspected place I doubt is iommu_setup(), and in this function, I/O virtualisation enabled Dom0 mode: Relaxed but iommu_page_fault never entered after checking log. 3 Can someone teach me a method to analyze Xen's stuck stack, for example core dump?... this problem happened accidentally, hard to catch its printing. so if appear, I'd like to analyze it instantly. Thank you very much! tupeng212 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel