RE: [PATCH] SN2 user-MMIO CPU migration

Brent Casavant
2006-01-25T22:49:05Z

On Wed, 25 Jan 2006, Chen, Kenneth W wrote:

> Brent Casavant wrote on Wednesday, January 25, 2006 9:04 AM
>
> > Also, yesterday when I moved the platform_migrate() call after
> > __switch_task() (actually, after ia64_switch_to()) I would receive
> > kernel panics during boot (the migration threads would die from an
> > invalid access, swapper shortly thereafter, and finally a "soft
> lockup"
> > on swapper). Was I perhaps missing something?
>
> I can't immediately see why it won't work on sn2. It works for me
> on a Intel tiger ia64 machine.

Hmm. I have only scant evidence to go on from the panic output,
but it looks like "current" (r13) is not equal to the value of "next"
by the time we get into sn_migrate(). One example run apparently
has currentà000030079d8000, nextà00003015990000.

While this shouldn't cause a problem as long as "next" is valid,
it is unexpected and makes me wonder if my understanding of the
code is correct. Unfortunately using SGI's simulator sheds no
light on the situation, as the code doesn't fail there.

Also loading cpu and last_cpu from next->thread_info for the migration/1
thread, I see ASCII data in the lower 32 bits. So either the data in
next->thread_info is invalid, or "next" itself is invalid. This gets
us into trouble when pdacpu() is called (or maybe when we dereference
the result).

Still staring at it...

Brent

--
Brent Casavant All music is folk music. I ain't
bcasavan@sgi.com never heard a horse sing a song.
Silicon Graphics, Inc. -- Louis Armstrong