From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39933) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJL8B-0002Dr-8A for qemu-devel@nongnu.org; Fri, 28 Feb 2014 05:57:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WJL86-0007C4-Ft for qemu-devel@nongnu.org; Fri, 28 Feb 2014 05:57:27 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:29935) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJL85-000787-Ji for qemu-devel@nongnu.org; Fri, 28 Feb 2014 05:57:22 -0500 Message-ID: <53106B6E.6050301@huawei.com> Date: Fri, 28 Feb 2014 18:56:46 +0800 From: Gonglei MIME-Version: 1.0 References: <33183CC9F5247A488A2544077AF19020815D225E@SZXEMA503-MBS.china.huawei.com> <20140228091952.GA2695@work-vm> In-Reply-To: <20140228091952.GA2695@work-vm> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/7] migration: Optimization the xbzrle and fix two corruption issues List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Peter Maydell , Juan Quintela , luonengjun@huawei.com, "pl@kamp.de" , "qemu-devel@nongnu.org" , "owasserm@redhat.com" , "aliguori@amazon.com" , "chenliang (T)" , "pbonzini@redhat.com" On 2014/2/28 17:19, Dr. David Alan Gilbert wrote: > * Gonglei (Arei) (arei.gonglei@huawei.com) wrote: > > Hi, > >> a. Optimization the xbzrle remarkable decrease the cache misses. >> The efficiency of compress increases more than fifty times. >> Before the patch set, the cache almost totally miss when the >> number of cache item less than the dirty page number. Now the >> hot pages in the cache will not be replaced by other pages. > > Nice, what do you use as your performance test case for xbzrle? The VM we used with 25G memory and 1Gbit nic. We run a test procedure in the vm, which as this: #include #include #define PAGE_SIZE 4096 void main(void) { char *p,*p1; long i,j,z; p = (char*)calloc(8*1024,1024*1024); if( p == NULL ){ printf("fail to calloc \n"); exit(1); } for(;;){ p1 = p; for( i = 0 ; i < 8*1024 ; i++ ){ for( j = 0 ; j < 1024*1024 ; j+=PAGE_SIZE ){ *p1 = 0x55; p1+=PAGE_SIZE; } } } } finally, the results of without enable xbzrle: 115MB/sec using xbzrle without optimization (the size of cache 2G): 116MB/sec using xbzrle with our optimization (the size of cache 2G): 150MB/sec > > Dave > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK Best regards, -Gonglei