bdonlan wrote:
Recent kernels actually support paravirtualization ops, so if the distro kernel supports them too, it might be theoretically possible to run them without emulation overhead.
Beware that older kernels (not including 2.6.1x) have pv_ops but break on SMP; this was one of the showstoppers for xen rollout...
This is fine with me. Partly because I don't care about SMP, but also partly because I doubt anything older than Ubuntu 8.04 will be applicable to my Linode Xen usage.
After further consideration, while I would still ultimately prefer to be able to run arbitrary distros, I think there's a lot of gradations between here and there that would provide most of the functionality I'm currently after, while being significantly easier on the Linode staff.
Specifically:
-I want arbitrary native kernels so I can run stock distro kernels, but Ubuntu's Xen support looks pretty reasonable in 8.04, it's sync'd with their native kernel and I don't imagine most modules care, and on AMD64 the userspace changes required are minimal. I could run that rather than a native kernel.
-If it's stock, I don't need it to be an arbitrary kernel image that I provide. If Linode provides the stock distro kernels in their kernel options, the functionality I'm looking for is provided just as effectively. The initrd is a little trickier because that's generated dynamically, but that should be okay as long as there's a provided initrd that's sufficiently inclusive.
Under this setup, the deployment wizard would default the kernel to "latest Ubuntu 8.04" (or CentOS, or whatever), and then you'd simply run with that distro's stock Xen kernel (or paravirt_ops) kernel. The Linode staff would be able to keep their kernels up to date by keeping a VM of that distro around and patched, and then uploading updated kernels/initrd's as necessary.