Monday, February 12, 2007

xen sucks

According to Debian bug #399113 and linked discussion it is impossible to run a stable system on Xen without enabling PAE. It seems that no-one is considering the fact that a hypervisor that runs on both 32bit and 64bit architectures should be able to support 32bit systems with <4G of RAM (IE not using the PAE feature).

But instead to work around this bug the Debian developers have decided to just enable PAE. This is annoying for me as I have to either buy a new laptop or reduce my use of Xen.

I wonder what will happen if a Xen bug is discovered that only happens on PAE systems? Would that make Xen only an AMD64 thing?

8 comments:

Anonymous said...

Doesn't PAE work with less than 4GB of RAM, only adding an overhead ?

Jason Martens said...

This is not a poor reflection on Xen, rather it is a limitation imposed by the decision to ship only one Xen kernel. Without PAE, Xen is just a toy (it is limited to 4GB of memory, which is not enough for many installations). It is unfortunate that PAE kernels will not run on some platforms that have disabled it.

Brian Sniffen said...

Some machines don't have PAE and won't support kernels using it.

Xen is certainly more than a toy on those machines. It's useful for more than just server consolidation.

etbe said...

Anon: PAE kernels work with less than 4G of RAM - if the CPU supports it, Pentium-M CPUs and some other 686 class CPUs don't.

Jason: Please read the link from my post, non-PAE Xen kernels were crashing. This is a bug in Xen, the fact that they don't fix the bug but instead work around it is a very poor reflection on Xen.

Most 32bit machines that are in production do not have 4G of RAM, even 1G of RAM is uncommon in a 32bit machine. 512M of RAM makes a very usable Xen machine - if Xen is supported. Also note that the phrase "platforms that have disabled it" is misleading in this context, CPUs such as the Pentium-M didn't support PAE for reasons only known to Intel - it's not as if there is any option to enable it on such machines.

bam said...

I run Xen on a gateway machine with only 2 gigabytes of memory - that is fine for my needs. The computer in question only supports 3 gigabytes maximum. I guess this means I shouldn't upgrade to the latest xen kernels in Debian...

etbe said...

PAE shouldn't do any harm if you have a machine that supports it. So if you have a P4 with 2G of RAM having PAE enabled in the compile options should be OK.

But if you have a Pentium-M that doesn't support it (as I do) then you have to compile your own kernel or buy a new computer.

Anonymous said...

Or use VMware in the first place!

Anonymous said...

To the last "anonymous" person ...

Xen != VMWare. Xen = paravirtualization, VMWare = virtualization. Yes, Xen *can* do some full virtualization, but that's not its primary design intent. If you're doing paravirtualization, there's usually a reason for it, so no, VMWare won't do.

Troll elsewhere.