direct-io.hg

view Config.mk @ 7172:9c6b39746b78

Fix localhost live migration. We were overvigorously wiping out the store
entries when a domain closed and on save, which meant that the /vm entries
disappeared when a localhost migration occurred. XendCheckpoint has had extra
exception handling and logging added. It also now calls back through
XendDomain.restore_,which has the correct locking semantics to prevent race
conditions during migration.

Added assertions to XendCheckpoint to ensure that the channels are set after
XendDomainInfo.restore. I don't see why they would not be, and the old code
meant that in the case that they were not, IntroduceDomain would not be called
on the new domain, breaking Xend restart.

relocate calls through XendDomain.domain_restore_fd rather than directly to
XendCheckpoint to isolate XendCheckpoint from the rest of the world, and to
allow XendDomain to pass itself into XendCheckpoint for a callback.

Simplify the XendCheckpoint / XendDomainInfo interlock, giving only two
states, OK and TERMINATED. If XendCheckpoint asks for a suspend, but sees a
shutdown, it is valid for it to proceed -- either way the domain has stopped.
Higher level tools may wish to disallow this, but at the very least, there is
no sense in waiting for a suspend that will never come.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author emellor@ewan
date Tue Oct 04 11:14:50 2005 +0100 (2005-10-04)
parents 06d84bf87159
children aad1d3e231ff
line source
1 # -*- mode: Makefile; -*-
3 # Currently supported architectures: x86_32, x86_64
4 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/)
5 XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
6 XEN_TARGET_X86_PAE ?= n
8 # Tools to run on system hosting the build
9 HOSTCC = gcc
10 HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
12 AS = $(CROSS_COMPILE)as
13 LD = $(CROSS_COMPILE)ld
14 CC = $(CROSS_COMPILE)gcc
15 CPP = $(CROSS_COMPILE)gcc -E
16 AR = $(CROSS_COMPILE)ar
17 RANLIB = $(CROSS_COMPILE)ranlib
18 NM = $(CROSS_COMPILE)nm
19 STRIP = $(CROSS_COMPILE)strip
20 OBJCOPY = $(CROSS_COMPILE)objcopy
21 OBJDUMP = $(CROSS_COMPILE)objdump
23 ifeq ($(XEN_TARGET_ARCH),x86_64)
24 LIBDIR = lib64
25 else
26 LIBDIR = lib
27 endif
29 ifneq ($(EXTRA_PREFIX),)
30 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
31 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
32 endif
34 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
35 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
37 # Choose the best mirror to download linux kernel
38 KERNEL_REPO = http://www.kernel.org
40 # ACM_USE_SECURITY_POLICY is set to security policy of Xen
41 # Supported models are:
42 # ACM_NULL_POLICY (ACM will not be built with this policy)
43 # ACM_CHINESE_WALL_POLICY
44 # ACM_SIMPLE_TYPE_ENFORCEMENT_POLICY
45 # ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
46 ACM_USE_SECURITY_POLICY ?= ACM_NULL_POLICY
48 # Optional components
49 XENSTAT_XENTOP ?= y
51 VTPM_TOOLS ?= n