Corey Minyard wrote:
>
> I'm trying to get KDB working properly on an SMP machine, and it seems
> to have some problems. There's KDB_VECTOR, which doesn't seem to be
> tied to anything but seems to be used to stop the other CPUs,
> KDBENTRY_VECTOR, which is for initial entry. In general, the SMP code
> seems half-done in the patches on the FTP site.
>
> kdb enters ok and I can debug on the CPU that entered KDB, but I am
> unable to switch to the other CPU and it seems to still be running.
>
> I read some discussion on the mailing list about this, but there doesn't
> seem to be any resolution. Is there any?
>
> Thanks,
>
> -Corey
Hi Corey,
It sounds like you have a bad merge. Kdb generally works pretty well
straight out of the bo if you use it with the matching kernel.org
kernel. The problem you describe sounds like what I saw mixing
kdb with kgdb stubs.
At least on the x86 the KDB_VECTOR is mostly smoke and mirrors. The
lowest level of send_IPI functions just sends a broadcast NMI, and the
do_nmi() handler has to guess what caused the interrupt.
There are probably still smp timing issues, but they are more subtle.
Jim Houston - Concurrent Computer Corp.
|