[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-users] Help Identifying Point Of Failure: setup_local_APIC(void)
I am trying to isolate the point of failure during the loading of the Xen kernel on my Supermicro Atom board using Gentoo. I've recently posted details in other postings to [xen-users]. I created a patch of apic.c and smpboot.c to help with this effort. The patch is at: https://pastebin.com/sX2AYhM0 A log of a session where the kernel hangs after masking the 5th CPU (there should be 7 masked) is at: https://pastebin.com/Zud6S73C See lines 192-163. (The pastebins are live for 30 days.)My debugging shows that the function setup_local_APIC(void) completes its task. So the failure is occurring at a higher level. setup_local_APIC(void) starts at line 524 and ends at line 691. (Note, my patched version is from Gentoo's 4.11.1-rc1 and has slightly different numbering since I added some lines.) Here is a link to the function in apic.c: https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/x86/apic.c;h=2a2432619e3edce2cdbc275abbd4e80ffcdcd9f0;hb=HEAD#l524 I tried to isolate the steps up to calling function setup_local_APIC, but my lack of knowledge of programming in C and using macros is preventing me from completely identifying the point of failure. I tried to determine where setup_local_APIC is called from and inserted print statements in smpboot.czeta /mnt/extra/portagetemp/portage/app-emulation/xen-4.11.1-r1/work/xen-4.11.1 # find . -type f |xargs grep -n setup_local_APIC ./xen/arch/x86/apic.c:523:void setup_local_APIC(void) ./xen/arch/x86/apic.c:1402: setup_local_APIC();./xen/arch/x86/smpboot.c:192: Dprintk("CALLIN, before setup_local_APIC().\n"); ./xen/arch/x86/smpboot.c:194: setup_local_APIC(); ./xen/arch/x86/smpboot.c:1157: setup_local_APIC(); ./xen/include/asm-x86/apic.h:177:extern void setup_local_APIC (void);zeta /mnt/extra/portagetemp/portage/app-emulation/xen-4.11.1-r1/work/xen-4.11.1 # However, there looks to be some sort of hook in apic.h https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/asm-x86/mach-default/smpboot_hooks.h;h=14e1ee52a37d3bd779f9933047724124bfe6fd2d;hb=HEAD#l39 I am assuming that "setup_local_APIC()" is the same call to the same function as "setup_local_APIC(void)" and that these are two different way of calling the same function. Can someone help me by pointing me to the code that operates after the completion of setup_local_APIC(void). It appears setup_local_APIC(void) is called in an iterative fashion to loop through all the remaining CPUs, and I do not seem to be able to find that loop point if there is one. Or is there some sort of callback that loops automatically? Thank you. -- Email Rider John Laurence Poole _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |