RE: [PATCH] SN2 user-MMIO CPU migration

From: Brent Casavant <>
Date: 2006-01-25 10:54:51
On Tue, 24 Jan 2006, Chen, Kenneth W wrote:

> Brent Casavant wrote on Friday, January 20, 2006 12:01 PM
> > Regarding the direction Ingo sent me down, and considering what Jack
> > said about needing a hook for a future platform, I'm thinking of grabbing
> > a bit in task->thread.flags that IA64_HAS_EXTRA_STATE() could detect and
> > let ia64_{save,load}_extra() call new machvecs to perform this
> > chipset-specific context management.  It's a bit overengineered for
> > my particular case, but would allow Jack to plug in his work very
> > cleanly.
> I wonder why you did not continue on this path.

Two main reasons:

1. Requires an arch hook in the main scheduler to set the flag in most
   places set_task_cpu() is called.  Ingo didn't seem fond of that
   (see my original patch and his response).
2. The initialization code gets kind of ugly.

I suppose I could solve the second problem with a machvec that is only
called once, during the contruction of the init task.  So really, the
first reason is the bulk of it.

> You can go even one step further that only set the bit for process that
> has the MMIO address mapped.  So on sn2, you won't pay the extra cost if
> it is not required for most of the processes.  Something workable?

Workable, but requires additions to the mm struct and modifications to
several device drivers.  Since migration is relatively infrequent to
begin with, I can't imagine this is worth doing in the abscence of an
observed problem.  But I'll keep it in mind for future optimization.


Brent Casavant                          All music is folk music.  I ain't                        never heard a horse sing a song.
Silicon Graphics, Inc.                    -- Louis Armstrong
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Wed Jan 25 10:55:56 2006

This archive was generated by hypermail 2.1.8 : 2006-01-25 10:56:03 EST