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