[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] nmi cache weirdness???



This on a 4 CPU AMD box with 64G RAM.

cpu 0 receives ext NMI, calls kdb_nmi() from do_nmi().

asmlinkage void do_nmi(struct cpu_user_regs *regs)
{
    unsigned int cpu = smp_processor_id();
    unsigned char reason;

    ++nmi_count(cpu);

    if ( nmi_callback(regs, cpu) )
        return;

    if ( nmi_watchdog )
        nmi_watchdog_tick(regs);

#ifdef XEN_KDB_CONFIG
       kdb_nmi(TRAP_nmi, regs);
#endif
....
}


kdb_nmi(..):
{
    watchdog_disable();
    set_nmi_callback(kdb_nmi_receive);
    smp_send_nmi_allbutself();
......
}

However, in do_nmi(), nmi_callback still points to dummy (receiving cpus).
What'sinteresting is, if I put two print lines back to back with nothing
in between right at the beginning, then the first prints dummy but the
second prints kdb_nmi_receive. I'm at a complete loss. Does NMI change
cache protocol? I've been looking thru Intel/AMD manuals, but nothing....

Thanks,
Mukesh


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.