On 4/29/2011 10:43 AM, Dan Magenheimer wrote:
That multiply is correct. In C, when you add an integer X to a
pointer to a struct of size N, the result is the same as if you were
accessing the Xth element of an array of those structs.
Oh yeah! I completely forgot about that. (Haven't done any
programming for about six years, so ... rusty)
1) Is your guest an HVM or PV? IIRC, earlier versions of the
balloon driver did not run properly in an HVM guest. Compare your
source with a latest upstream balloon_init.
This machine is too old to have the ability to run a guest as HVM
(it's pre-Pacifica/AMD-V), but the problem isn't with running a domU.
It won't boot into dom0 (privileged domain) due to this bug. Oddly
enough, the build in question *does* work as a PV domU when the hardware
is booted to the Debian stock linux-image-xen-amd64 kernel
2) Are you building xen/stable-2.6.32.x as the kernel in a guest?
Any chance you might be loading a balloon module that doesn't match
the kernel you built?
I'm building the kernel on a separate, faster machine than the one
I'm trying to boot it on. I wasn't aware that where it was being built
made much of a difference as long as the configured processor type was
correct. Both machines are x86_64, but one is Xeon and the other is
Opteron. If it does matter where it's built, how do distributions put
out pre-compiled dom0 kernels? Also, if it does matter, I can try
building it on the slower machine. (The faster one is a production
server, so I'm not testing all of these reboots on that)
3) I think developers generally use the xen/stable-2.6.32.x for dom0
and use distro kernels (or newer upstream kernels) for guest kernels.
So it is very possible that you are the only one having this problem
because you are the only one using a balloon driver on a
xen/stable-2.6.32.x kernel in a non-dom0 (HVM?) guest.
I *am* trying to use it in a dom0 guest. It's:
Hardware/BIOS -> Xen4.1 -> this xen/stable-2.6.32.x dom0 -> crash
4) The latest upstream balloon driver does some magic with the E820
memory map. Perhaps your machine has an odd or incorrect E820 map
from the BIOS? (This is outside of my area of expertise so apologies
if this doesn't make sense.)
I suppose it could be odd. The machine is about 8 years old. I'd
imagine that they were doing things a bit differently back then.
Xen-devel mailing list