[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 2] tools/libxc: Remus Checkpoint Compression
On Fri, Jun 17, 2011 at 5:35 AM, George Dunlap <George.Dunlap@xxxxxxxxxxxxx> wrote: shriram
The original xc_domain_restore code expects the list of pages immediately after the list of pfns for a batch. With compression, the compressed chunks are attached at the fag end of the pagebuf, [<pfn list>]+,[XC_SAVE_ID_* stuff like vcpu info, hvm_ident_pt, etc], [XC_SAVE_ID_COMPRESSED_DATA,compressed chunk]+ So that if block diverts the pagebuf_get_one()'s control flow to consume the rest of pagebuf in usual recursive manner. original flow: pagebuf_get_one() read integer if integer is positive, its a count of number of pfns in the pfn list, read count*sizeof(pfn) from io_fd 1.1 parse pfn list and determine number of valid pages (countpages) 1.2. read (countpages * PAGE_SIZE) from io_fd -- basically read batch of pfns + pages else if its negative check for one of XC_SAVE_ID_* elements and read appropriate size from io_fd return pagebuf_get_one() ********** The modified flow: pagebuf_get_one() read integer if integer is positive, its a count of number of pfns in the pfn list, read count*sizeof(pfn) from io_fd 1.1 parse pfn list and determine number of valid pages (countpages) >>1.2 if (compression) return pagebuf_get_one() --basically accumulate all the pfns and the (compressed) pages would come later else if its negative check for one of XC_SAVE_ID_* elements and read appropriate size from io_fd includes XC_SAVE_ID_COMPRESSED_DATA. return pagebuf_get_one()
oh shux. you are right. thanks. I could probably send this as XC_SAVE_ID_COMPRESSION
after the last iteration and enable pagebuf->compression once its received.
okay. :) -George Dunlap _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |