On Tue, 2006-09-19 at 01:14 -0700, Jeremy Fitzhardinge wrote: > Rusty Russell wrote: > > The first patch simply changes the GDTs to be a straight per-cpu > > variable. I notice that you did a similar thing with your patches, but > > this is simpler and avoids wasting space in the UP case. It's a bit > > tricky since we've never referred to per-cpu vars from asm before, but > > since we're only referring to the pre-setup versions, it's ok. > > > > The current mechanism was specifically introduced by James Bottomley a > while back; I guess to deal with Voyager strangeness. (James CC'd). I dislike the gratuitous copy: we have three gdts, the boot GDT, the master GDT (cpu_gdt_table), then the per-cpu GDT. Using the per-cpu mechanisms already in place makes it simple, avoids manual allocation, and the extra master GDT. The extra GDT is particularly embarrassing on UP, which doesn't want a per-cpu GDT anyway... Seems that we can't assume boot CPU == 0. I think I've removed the two places where I assumed that, but will need testing. > Hm, now is not really a good time. I'm still trying to get Xen > basically working, and the percpu PDA stuff isn't really necessary for > that. The PDA stuff was enough of a problem in itself... > > Also, the PDA patches are in -mm, so that's probably a better base for > your patches. Yes, it turned out to be easier to go straight to -mm anyway. I'll redo them as Andi requested.... Rusty. -- Help! Save Australia from the worst of the DMCA: http://linux.org.au/law