[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 2/2] tests/mem-sharing: Add bulk option to memshrtool
Add the bulk option to the test tool to perform complete deduplication between domains. Signed-off-by: Tamas K Lengyel <tamas@xxxxxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> --- tools/tests/mem-sharing/memshrtool.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tools/tests/mem-sharing/memshrtool.c b/tools/tests/mem-sharing/memshrtool.c index 437c7c9..3e8f467 100644 --- a/tools/tests/mem-sharing/memshrtool.c +++ b/tools/tests/mem-sharing/memshrtool.c @@ -24,6 +24,8 @@ static int usage(const char* prog) printf(" nominate <domid> <gfn> - Nominate a page for sharing.\n"); printf(" share <domid> <gfn> <handle> <source> <source-gfn> <source-handle>\n"); printf(" - Share two pages.\n"); + printf(" bulk <source-domid> <destination-domid>\n"); + printf(" - Share all pages between domains.\n"); printf(" unshare <domid> <gfn> - Unshare a page by grabbing a writable map.\n"); printf(" add-to-physmap <domid> <gfn> <source> <source-gfn> <source-handle>\n"); printf(" - Populate a page in a domain with a shared page.\n"); @@ -180,6 +182,26 @@ int main(int argc, const char** argv) } printf("Audit returned %d errors.\n", rc); } + else if( !strcasecmp(cmd, "bulk") ) + { + domid_t sdomid, cdomid; + int rc; + unsigned long shared; + + if( argc != 4 ) + return usage(argv[0]); + + sdomid = strtol(argv[2], NULL, 0); + cdomid = strtol(argv[3], NULL, 0); + rc = xc_memshr_bulk_share(xch, sdomid, cdomid, &shared); + if ( rc < 0 ) + { + printf("error executing xc_memshr_bulk_dedup: %s\n", strerror(errno)); + return rc; + } + + printf("Successfully shared %lu pages between the domains\n", shared); + } return 0; } -- 2.8.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |