]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
geli: use unmapped I/O
authorAlan Somers <asomers@FreeBSD.org>
Wed, 26 Aug 2020 02:44:35 +0000 (02:44 +0000)
committerAlan Somers <asomers@FreeBSD.org>
Wed, 26 Aug 2020 02:44:35 +0000 (02:44 +0000)
commit7d874f0f36aaa894b5bb85336b7e7f955b208d30
tree60d91d592a6904df049b342337dfeb34f93f8669
parente6f6d0c9bcbf7942c390f65062054ec4784ce5b8
geli: use unmapped I/O

Use unmapped I/O for geli. Unlike most geom providers, geli needs to
manipulate data on every read or write. Previously it would always map bios.

On my 16-core, dual socket server using geli atop md(4) devices, with 512B
sectors, this change increases geli IOPs by about 3x.

Note that geli still can't use unmapped I/O when data integrity verification
is enabled (but it could, with a little more work).  And it can't use
unmapped I/O in combination with ZFS, because ZFS uses mapped bios.

Reviewed by: markj, kib, jhb, mjg, mat, bcr (manpages)
MFC after: 1 week
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D25671
sys/geom/eli/g_eli.c
sys/geom/eli/g_eli_privacy.c