Hi Jeremy, all,

        Sorry this took so long, spent last week in Japan at OSDL conf then
netconf.  After several false starts, I ended up with a very simple
implementation, which clashes significantly with your work since then
8(.  I've pushed the patches anyway, but it's going to be significant
work for me to re-merge them, so I wanted your feedback first.

        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 second patch changes gs to be the per-cpu offset, and by
implication, avoids using it altogether on UP.  This avoids a special
"pda" structure, instead allowing all per-cpu variables to be accessed
this way.  It avoids __thread, which I gave up after creating a horribly
complicated patch which still didn't quite work, and was no more
efficient if we want the kernel to run under Xen anyway.

I really think this is the way to go, and I'll start work on merging
now.

Cheers!
Rusty.
-- 
Help! Save Australia from the worst of the DMCA: http://linux.org.au/law

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization

Reply via email to