<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/geom/raid/md_nvidia.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-09-01T22:14:09Z</updated>
<entry>
<title>geom: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T22:14:09Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T22:14:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d40bc607528a613afeb59bdaabd09ad4d33c67be'/>
<id>urn:sha1:d40bc607528a613afeb59bdaabd09ad4d33c67be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>sys/geom: consistently use _PATH_DEV instead of hardcoding "/dev/".</title>
<updated>2020-07-09T02:52:39Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2020-07-09T02:52:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=8510f61acdf83ef524e694b9b0eebeb7ad834162'/>
<id>urn:sha1:8510f61acdf83ef524e694b9b0eebeb7ad834162</id>
<content type='text'>
Reviewed by:	cem
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D25565
</content>
</entry>
<entry>
<title>GEOM: Reduce unnecessary log interleaving with sbufs</title>
<updated>2019-08-07T19:28:35Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2019-08-07T19:28:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=ac03832ef3afa26cc8e23bf5cfeaa32501b21c3e'/>
<id>urn:sha1:ac03832ef3afa26cc8e23bf5cfeaa32501b21c3e</id>
<content type='text'>
Similar to what was done for device_printfs in r347229.

Convert g_print_bio() to a thin shim around g_format_bio(), which acts on an
sbuf; documented in g_bio.9.

Reviewed by:	markj
Discussed with:	rlibby
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D21165
</content>
</entry>
<entry>
<title>sys/geom: adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:17:37Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:17:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3728855a0f66545c4aa90dc0d478dc403bdfa667'/>
<id>urn:sha1:3728855a0f66545c4aa90dc0d478dc403bdfa667</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>Fix improper use of "its".</title>
<updated>2016-11-08T23:59:41Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2016-11-08T23:59:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=28323add0916d61a7bcea74f30e9b40b837809ce'/>
<id>urn:sha1:28323add0916d61a7bcea74f30e9b40b837809ce</id>
<content type='text'>
Sponsored by:	Dell EMC Isilon
</content>
</entry>
<entry>
<title>Clean out some externally visible "more then" grammar</title>
<updated>2015-08-11T03:12:09Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2015-08-11T03:12:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6bc3fe5f4e08f2f2962daad2b9f307d87ff984df'/>
<id>urn:sha1:6bc3fe5f4e08f2f2962daad2b9f307d87ff984df</id>
<content type='text'>
MFC after:	3 days
</content>
</entry>
<entry>
<title>Replace constant with proper sizeof().</title>
<updated>2015-02-25T10:18:11Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-02-25T10:18:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0b1b7c2cecedeae66e2c15471f0f060782e08fa7'/>
<id>urn:sha1:0b1b7c2cecedeae66e2c15471f0f060782e08fa7</id>
<content type='text'>
Submitted by:	Dmitry Luhtionov &lt;dmitryluhtionov@gmail.com&gt;
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Avoid unneeded malloc/memcpy/free if there is no metadata on disk.</title>
<updated>2014-12-05T10:23:18Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2014-12-05T10:23:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1e68fe9c33c0f5752b74a20f6a81327f26aa6087'/>
<id>urn:sha1:1e68fe9c33c0f5752b74a20f6a81327f26aa6087</id>
<content type='text'>
Submitted by:	Dmitry Luhtionov &lt;dmitryluhtionov@gmail.com&gt;
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Reduce number of opens by REOM RAID during provider taste.</title>
<updated>2014-04-28T15:03:52Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2014-04-28T15:03:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=dea1e22600e921296fe000d7e07baa00f9875dd7'/>
<id>urn:sha1:dea1e22600e921296fe000d7e07baa00f9875dd7</id>
<content type='text'>
Instead opening/closing provider by each of metadata classes, do it only
once in core code.  Since for SCSI disks open/close means sending some
SCSI commands to the device, this change reduces taste time.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
</content>
</entry>
<entry>
<title>Merge GEOM direct dispatch changes from the projects/camlock branch.</title>
<updated>2013-10-22T08:22:19Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-10-22T08:22:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=40ea77a036cd80d17111bd00f470fac57c77f07c'/>
<id>urn:sha1:40ea77a036cd80d17111bd00f470fac57c77f07c</id>
<content type='text'>
When safety requirements are met, it allows to avoid passing I/O requests
to GEOM g_up/g_down thread, executing them directly in the caller context.
That allows to avoid CPU bottlenecks in g_up/g_down threads, plus avoid
several context switches per I/O.

The defined now safety requirements are:
 - caller should not hold any locks and should be reenterable;
 - callee should not depend on GEOM dual-threaded concurency semantics;
 - on the way down, if request is unmapped while callee doesn't support it,
   the context should be sleepable;
 - kernel thread stack usage should be below 50%.

To keep compatibility with GEOM classes not meeting above requirements
new provider and consumer flags added:
 - G_CF_DIRECT_SEND -- consumer code meets caller requirements (request);
 - G_CF_DIRECT_RECEIVE -- consumer code meets callee requirements (done);
 - G_PF_DIRECT_SEND -- provider code meets caller requirements (done);
 - G_PF_DIRECT_RECEIVE -- provider code meets callee requirements (request).
Capable GEOM class can set them, allowing direct dispatch in cases where
it is safe.  If any of requirements are not met, request is queued to
g_up or g_down thread same as before.

Such GEOM classes were reviewed and updated to support direct dispatch:
CONCAT, DEV, DISK, GATE, MD, MIRROR, MULTIPATH, NOP, PART, RAID, STRIPE,
VFS, ZERO, ZFS::VDEV, ZFS::ZVOL, all classes based on g_slice KPI (LABEL,
MAP, FLASHMAP, etc).

To declare direct completion capability disk(9) KPI got new flag equivalent
to G_PF_DIRECT_SEND -- DISKFLAG_DIRECT_COMPLETION.  da(4) and ada(4) disk
drivers got it set now thanks to earlier CAM locking work.

This change more then twice increases peak block storage performance on
systems with manu CPUs, together with earlier CAM locking changes reaching
more then 1 million IOPS (512 byte raw reads from 16 SATA SSDs on 4 HBAs to
256 user-level threads).

Sponsored by:	iXsystems, Inc.
MFC after:	2 months
</content>
</entry>
</feed>
