From owner-svn-src-all@FreeBSD.ORG  Sat May 28 19:18:30 2011
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C4FC0106564A;
	Sat, 28 May 2011 19:18:30 +0000 (UTC)
	(envelope-from pieter@degoeje.nl)
Received: from mx.utwente.nl (mx2.utsp.utwente.nl [130.89.2.13])
	by mx1.freebsd.org (Postfix) with ESMTP id 34FB68FC12;
	Sat, 28 May 2011 19:18:29 +0000 (UTC)
Received: from nox.student.utwente.nl (nox.student.utwente.nl [130.89.165.91])
	by mx.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id
	p4SJ3hP4003548; Sat, 28 May 2011 21:03:43 +0200
From: Pieter de Goeje <pieter@degoeje.nl>
To: svn-src-all@freebsd.org
Date: Sat, 28 May 2011 21:03:42 +0200
User-Agent: KMail/1.9.10
References: <201105131848.p4DIm1j7079495@svn.freebsd.org>
In-Reply-To: <201105131848.p4DIm1j7079495@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <201105282103.43370.pieter@degoeje.nl>
X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact
	icts.servicedesk@utwente.nl for more information.
X-UTwente-MailScanner: Found to be clean
X-UTwente-MailScanner-From: pieter@degoeje.nl
X-Spam-Status: No
Cc: svn-src-head@freebsd.org, Matthew D Fleming <mdf@freebsd.org>,
	src-committers@freebsd.org
Subject: Re: svn commit: r221853 - in head/sys: dev/md dev/null sys vm
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
	user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 28 May 2011 19:18:30 -0000

On Friday 13 May 2011 20:48:01 Matthew D Fleming wrote:
> Author: mdf
> Date: Fri May 13 18:48:00 2011
> New Revision: 221853
> URL: http://svn.freebsd.org/changeset/base/221853
>
> Log:
>   Usa a globally visible region of zeros for both /dev/zero and the md
>   device.  There are likely other kernel uses of "blob of zeros" than can
>   be converted.
>
>   Reviewed by:	alc
>   MFC after:	1 week
>

This change seems to reduce /dev/zero performance by 68% as measured by this 
command: dd if=/dev/zero of=/dev/null bs=64k count=100000.

x dd-8-stable
+ dd-9-current
+-------------------------------------------------------------------------+
|+                                                                        |
|+                                                                        |
|+                                                                        |
|+                                                                    x  x|
|+                                                                  x x  x|
|A                                                                   |MA_||
+-------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   5 1.2573578e+10 1.3156063e+10 1.2827355e+10  1.290079e+10 2.4951207e+08
+   5 4.1271391e+09 4.1453925e+09 4.1295157e+09 4.1328097e+09     7487363.6
Difference at 95.0% confidence
        -8.76798e+09 +/- 2.57431e+08
        -67.9647% +/- 1.99547%
        (Student's t, pooled s = 1.76511e+08)

This particular measurement was against 8-stable but the results are the same 
for -current just before this commit. Basically througput drops from 
~13GB/sec to 4GB/sec.

Hardware is a Phenom II X4 945 with 8GB of 800Mhz DDR2 memory. FreeBSD/amd64 
is installed. This processor has 6MB of L3 cache.

To me it looks like it's not able to cache the zeroes anymore. Is this 
intentional? I tried to change ZERO_REGION_SIZE back to 64K but that didn't 
help.

Regards,

Pieter de Goeje