summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/geom_zero.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/geom_zero.4 3.html')
-rw-r--r--static/freebsd/man4/geom_zero.4 3.html144
1 files changed, 144 insertions, 0 deletions
diff --git a/static/freebsd/man4/geom_zero.4 3.html b/static/freebsd/man4/geom_zero.4 3.html
new file mode 100644
index 00000000..bcb10b27
--- /dev/null
+++ b/static/freebsd/man4/geom_zero.4 3.html
@@ -0,0 +1,144 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">GEOM_ZERO(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">GEOM_ZERO(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">gzero</code>, <code class="Nm">geom_zero</code>
+ &#x2014; <span class="Nd">GEOM-based zero disk/block device</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp"><code class="Cd">options GEOM_ZERO</code></p>
+<p class="Pp">In <a class="Xr">loader.conf(5)</a> or
+ <a class="Xr">sysctl.conf(5)</a>:
+ <br/>
+ <code class="Cd">kern.geom.zero.byte</code>
+ <br/>
+ <code class="Cd">kern.geom.zero.clear</code></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp"><code class="Nm">gzero</code> is a <a class="Xr">GEOM(4)</a>
+ device simulating a one-exabyte disk. It throws away any data written to it,
+ and returns the value of <var class="Va">kern.geom.zero.byte</var> for every
+ byte read from it.</p>
+<p class="Pp"><code class="Nm">gzero</code> differs from
+ <a class="Xr">zero(4)</a>, which is a regular character device and has an
+ infinite length, while <span class="Pa">/dev/gzero</span> is a
+ <a class="Xr">GEOM(4)</a> provider of large, but limited, size.</p>
+<p class="Pp">Consult <a class="Xr">geom(8)</a> for instructions on how to use
+ the supported commands of the <a class="Xr">GEOM(4)</a>
+ <code class="Nm">ZERO</code> class.</p>
+<p class="Pp"><code class="Nm">gzero</code> is useful for benchmarking
+ performance of GEOM and GEOM classes where compression of the data does not
+ affect the results (blocks from <span class="Pa">/dev/gzero</span> compress
+ exceptionally well). Examples of such benchmarks include comparing the speed
+ of two disk encryption algorithms and comparing a hardware versus software
+ implementation of a single encryption algorithm.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="MIB_VARIABLES"><a class="permalink" href="#MIB_VARIABLES">MIB
+ VARIABLES</a></h1>
+<p class="Pp">The following variables are available as both
+ <a class="Xr">sysctl(8)</a> variables and <a class="Xr">loader(8)</a>
+ tunables:</p>
+<dl class="Bl-tag">
+ <dt id="kern.geom.zero.byte"><var class="Va">kern.geom.zero.byte</var></dt>
+ <dd>This variable sets the fill byte of the <code class="Nm">gzero</code>
+ device. Default: &#x2018;<code class="Li">0</code>&#x2019;.</dd>
+ <dt id="kern.geom.zero.clear"><var class="Va">kern.geom.zero.clear</var></dt>
+ <dd>This variable controls the clearing of the read data buffer. If set to
+ &#x2018;<code class="Li">0</code>&#x2019;, <code class="Nm">gzero</code>
+ will not copy any data into the read data buffers and just return the read
+ data buffers as they are without modifying them. In particular, it will
+ not fill the read buffer with the value of
+ <var class="Va">kern.geom.zero.byte</var>. This is useful for read
+ benchmarking to reduce the measurement noise caused by extra memory
+ initialization. Default: &#x2018;<code class="Li">1</code>&#x2019;.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag">
+ <dt><span class="Pa">/dev/gzero</span></dt>
+ <dd>The <code class="Nm">gzero</code> device.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
+<p class="Pp">Create the <span class="Pa">/dev/gzero</span> device by loading
+ the <code class="Nm">geom_zero</code> kernel module:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre># geom zero load</pre>
+</div>
+<p class="Pp">Show information about the <code class="Nm">gzero</code>
+ device:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre># geom zero list
+Geom name: gzero
+Providers:
+1. Name: gzero
+ Mediasize: 1152921504606846976 (1.0E)
+ Sectorsize: 512
+ Mode: r0w0egzero0</pre>
+</div>
+<p class="Pp">Set the fill byte of the <code class="Nm">gzero</code> device to
+ 70 (decimal for letter &#x201C;F&#x201D; in <a class="Xr">ascii(7)</a>):</p>
+<div class="Bd Pp Bd-indent Li">
+<pre># sysctl kern.geom.zero.byte=70
+kern.geom.zero.byte: 0 -&gt; 70
+# head -c 1 /dev/gzero
+F</pre>
+</div>
+<p class="Pp">Benchmark read and write throughput of <a class="Xr">geli(8)</a>'s
+ default encryption algorithm with a 4-KiB sector size:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre># geom zero load
+# geli onetime -s 4096 gzero
+# sysctl kern.geom.zero.clear=0
+# dd if=/dev/gzero.eli of=/dev/zero bs=4k count=$((1024 * 256))
+262144+0 records in
+262144+0 records out
+1073741824 bytes transferred in 1.258195 secs (853398307 bytes/sec)
+# dd if=/dev/zero of=/dev/gzero.eli bs=4k count=$((1024 * 256))
+262144+0 records in
+262144+0 records out
+1073741824 bytes transferred in 1.663118 secs (645619658 bytes/sec)</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">GEOM(4)</a>, <a class="Xr">zero(4)</a>,
+ <a class="Xr">geom(8)</a>, <a class="Xr">sysctl(8)</a>,
+ <a class="Xr">bio(9)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">A <code class="Nm">gzero</code> device first appeared in
+ <span class="Ux">FreeBSD 6</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">The <code class="Nm">gzero</code> device was written by
+ <span class="An">Pawe&#x0142; Jakub Dawidek</span>
+ &lt;<a class="Mt" href="mailto:pjd@FreeBSD.org">pjd@FreeBSD.org</a>&gt;.</p>
+<p class="Pp">The <code class="Nm">gzero</code> manual page was originally
+ written by <span class="An">Greg White</span>
+ &lt;<a class="Mt" href="mailto:gkwhite@gmail.com">gkwhite@gmail.com</a>&gt;
+ and rewritten by <span class="An">Mateusz Piotrowski</span>
+ &lt;<a class="Mt" href="mailto:0mp@FreeBSD.org">0mp@FreeBSD.org</a>&gt;
+ before landing in <span class="Ux">FreeBSD</span>.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">November 9, 2025</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>