Hello All, I am trying to find out the code segment for migration of domains happen. The following code in xfrd.c somehow does not lead me to the place where the actual memory transfer to the peer happens. ------------------------------------------------------ /** Migrate a vm to another node. * * @param xend connection * @return 0 on success, error code otherwise */ int xfr_send(Args *args, XfrState *state, Conn *xend, uint32_t addr, uint32_t port){ int err = 0; Conn _peer = {}, *peer = &_peer; int flags = 0; struct in_addr xfr_addr; uint16_t xfr_port; time_t t0 = time(NULL), t1; dprintf(">\n"); flags |= CONN_NOBUFFER; if(args->compress){ flags |= CONN_WRITE_COMPRESS; } xfr_addr.s_addr = addr; xfr_port = port; if(!xfr_port) xfr_port = htons(XFRD_PORT); dprintf("> Xfr vmid=%u\n", state->vmid); dprintf("> Xfr xfr_addr=%s:%d\n", inet_ntoa(xfr_addr), ntohs(xfr_port)); err = Conn_connect(peer, flags, xfr_addr, xfr_port); if(err) goto exit; XfrState_set_state(state, XFR_HELLO); // Send hello message. err = xfr_send_hello(peer); if(err) goto exit; printf("\n"); // Send vm state. err = xfr_send_state(state, xend, peer); if(err) goto exit; if(args->compress){ IOStream *zio = peer->out; int plain_bytes = lzi_stream_plain_bytes(zio); int comp_bytes = lzi_stream_comp_bytes(zio); float ratio = lzi_stream_ratio(zio); iprintf("> Compression: plain %d bytes, compressed %d bytes, ratio %3.2f\n", plain_bytes, comp_bytes, ratio); } ------------------------------------------------------ Looks like the memory transfer happens somewhere after the hello message to peer is sent, but am not able to figure out where. Would someone point me out ? Appreciate your help, best regards, -- Chanda ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel