bitkeeper revision 1.1159.12.2 (4117f3b8rwM8OBu0SxwoWkvUXsjLTQ)

add migration support to ngio frontend blk driver.
This commit is contained in:
iap10@labyrinth.cl.cam.ac.uk committed 2004-08-09 21:59:20 +00:00
1 parent 3d05d635fc
commit 3e468e8ded
4 files changed
+28 -3

No files matched your search

+2 -1
View File
@@ -16,9 +16,11 @@ docs/*.aux
docs/*.log
docs/*.pdf
docs/*.ps
docs/*.dvi
docs/*.toc
docs/interface/*
docs/user/*
docs/xend/*
extras/mini-os/h/hypervisor-ifs
install
install/*
@@ -51,4 +53,3 @@ xen/tools/figlet/figlet
xen/xen
xen/xen-syms
xen/xen.*
xen/common/sched_atropos.c.smh
@@ -303,6 +303,26 @@ static void kick_pending_request_queues(void)
}
/* Upon block read completion, issue a dummy machphys update for the
pages in the buffer, just in case we're being migrated. */
static void blkif_read_completion(struct request *req)
{
struct bio *bio;
struct bio_vec *bvec;
int idx;
unsigned long mfn, pfn
rq_for_each_bio(bio, req) {
bio_for_each_segment(bvec, bio, idx) {
mfn = page_to_phys(bvec->bv_page)>>PAGE_SHIFT;
pfn = machine_to_phys_mapping[mfn];
queue_machphys_update(mfn, pfn);
}
}
}
static irqreturn_t blkif_int(int irq, void *dev_id, struct pt_regs *ptregs)
{
struct request *req;
@@ -334,6 +354,9 @@ static irqreturn_t blkif_int(int irq, void *dev_id, struct pt_regs *ptregs)
BUG();
end_that_request_last(req);
if( bret->operation == BLKIF_OP_READ )
blkif_read_completion( req );
break;
case BLKIF_OP_PROBE:
memcpy(&blkif_control_rsp, bret, sizeof(*bret));
+2 -1
View File
@@ -214,7 +214,8 @@ int xc_linux_restore(int xc_handle, XcIOContext *ioctxt)
if ( xc_domain_setinitialmem(xc_handle, dom,
nr_pfns * (PAGE_SIZE / 1024)) )
{
xcio_error(ioctxt, "Could not set domain initial memory");
xcio_error(ioctxt, "Could not set domain %d initial memory. pfns=%d, %dKB",
dom, nr_pfns,nr_pfns * (PAGE_SIZE / 1024));
goto out;
}
+1 -1
View File
@@ -632,7 +632,7 @@ int xc_linux_save(int xc_handle, XcIOContext *ioctxt)
pfn_batch[batch] = n;
pfn_type[batch] = live_pfn_to_mfn_table[n];
if( pfn_type[batch] == 0x80000004 ){
if( pfn_type[batch] == 0x80000001 ){
/* not currently in pusedo-physical map -- set bit
in to_fix that we must send this page in last_iter
unless its sent sooner anyhow */
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.