On Thu, Apr 11, 2013 at 04:15:54PM +0200, Paolo Bonzini wrote: > Il 11/04/2013 15:24, Michael R. Hines ha scritto: > > That's very accurate. Zero page scanning *after* the bulk phase > > is not very helpful in general. > > > > Are we proposing to skip is_dup_page() after the bulk phase > > has finished? > > No, I'm saying that is_dup_page() should not be a problem. I'm saying > it should only loop a lot during the bulk phase. The only effect I can > imagine after the bulk phase is one cache miss. > > Perhaps the stress-test you're using does not reproduce realistic > conditions with respect to zero pages. Peter Lieven benchmarked real > guests, both Linux and Windows, and confirmed the theory that I > mentioned upthread. Almost all non-zero pages are detected within the > first few words, and almost all zero pages come from the bulk phase. > > Considering that one cache miss, RDMA is indeed different here. TCP > would have this cache miss later anyway, RDMA does not. Let's say 300 > cycles/miss; at 2.5 GHz that is 300/2500 microseconds, i.e 0.12 > microseconds per page. This would say that we can run is_dup_page on 30 > GB worth of nonzero pages every second or more. Ok, the estimate is > quite generous in many ways, but is_dup_page() is only a bottleneck if > it can do less than 5 GB/s. > > Paolo
Further, if we read the pagemap to detect duplicates, we won't need to read the page for RDMA either. This might or might not prove to be a win, but one thing for sure, management will not be able to know if it's a win. -- MST