
Dmitry
09.03.2018
15:21:48
сделай "kldload aesni"
и смотри dmesg
ладно, если это слишьком сложно, кину сбда кусок кода из aesni.c
detect_cpu_features(&sc->has_aes, &sc->has_sha);
if (sc->has_aes) {
crypto_register(sc->cid, CRYPTO_AES_CBC, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_ICM, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_NIST_GCM_16, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_128_NIST_GMAC, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_192_NIST_GMAC, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_256_NIST_GMAC, 0, 0);
crypto_register(sc->cid, CRYPTO_AES_XTS, 0, 0);
}
if (sc->has_sha) {
crypto_register(sc->cid, CRYPTO_SHA1, 0, 0);
crypto_register(sc->cid, CRYPTO_SHA1_HMAC, 0, 0);
crypto_register(sc->cid, CRYPTO_SHA2_256_HMAC, 0, 0);
}

Google

Dmitry
09.03.2018
15:23:18
static int
aesni_probe(device_t dev)
{
bool has_aes, has_sha;
detect_cpu_features(&has_aes, &has_sha);
if (!has_aes && !has_sha) {
device_printf(dev, "No AES or SHA support.\n");
return (EINVAL);
} else if (has_aes && has_sha)
device_set_desc(dev,
"AES-CBC,AES-XTS,AES-GCM,AES-ICM,SHA1,SHA256");
else if (has_aes)
device_set_desc(dev, "AES-CBC,AES-XTS,AES-GCM,AES-ICM");
else
device_set_desc(dev, "SHA1,SHA256");
return (0);
}

Vespertilio
09.03.2018
15:24:09
можно через openssl speed sha256 aes побенчить

Dmitry
09.03.2018
15:24:20
нельзя

Roman
09.03.2018
15:24:26
static int
aesni_probe(device_t dev)
{
bool has_aes, has_sha;
detect_cpu_features(&has_aes, &has_sha);
if (!has_aes && !has_sha) {
device_printf(dev, "No AES or SHA support.\n");
return (EINVAL);
} else if (has_aes && has_sha)
device_set_desc(dev,
"AES-CBC,AES-XTS,AES-GCM,AES-ICM,SHA1,SHA256");
else if (has_aes)
device_set_desc(dev, "AES-CBC,AES-XTS,AES-GCM,AES-ICM");
else
device_set_desc(dev, "SHA1,SHA256");
return (0);
}
угу. но наличие aesni не гарантирует наличие аппаратной акселерации sha

Dmitry
09.03.2018
15:24:33
оно на syscall затыкается

Roman
09.03.2018
15:24:52

Dmitry
09.03.2018
15:25:05
через openssl не имеет смысла бенчить
openssl запускаешь в userlevel
даже если аппаратная реализация aes или sha быстрее в 10 раз, чем программная

Roman
09.03.2018
15:26:11

Dmitry
09.03.2018
15:26:28
ты потеряешь все преимущества при переключении контекста
уже 100 раз это обсуждали

Google

Roman
09.03.2018
15:26:49

Vespertilio
09.03.2018
15:26:50
весь софт в юзерлевел же работает, не мешает аппаратное ускорение юзать

Dmitry
09.03.2018
15:28:31
аппаратное ускорение - в кернеле

Roman
09.03.2018
15:28:50
openssl speed -evp sha256

Dmitry
09.03.2018
15:29:46
меряли уже
https://dadv.livejournal.com/191210.html
2013 год
иногда полезно смотреть "top -m io"

Roman
09.03.2018
15:36:53

Dmitry
09.03.2018
15:37:45
т.е. по IO уперлись в 100%

Roman
09.03.2018
15:39:51
т.е. по IO уперлись в 100%
там одинаковые цифры что с -elapsed, что без него. потому что на intel/amd вообще не нужен cryptodev для aes/sha

Dmitry
09.03.2018
15:40:24
оно реальный прирост производительности дает только внутри ядра
но его реально используют всего пару подсистем

Roman
09.03.2018
15:41:50
у dadv совершенно иной кейс: когда акселератор - это отдельное устройство в которое можно ходить только из модуля ядра

Dmitry
09.03.2018
15:45:50
э ?
наоборот
при постоянном перелючении userlevel/kernellevel проц по IO упирается в потолок

Roman
09.03.2018
15:47:36

Google

Dmitry
09.03.2018
15:48:43
цитирую
Повторяем тест после kldload cryptodev (появляется файл устройства /dev/crypto). Можно добавлять флаг -engine cryptodev, можно не добавлять - поддержка подхватывается автоматически:

Roman
09.03.2018
15:49:01

Dmitry
09.03.2018
15:49:23
openssl начинает "бегать" в ядро за результатми шифрования

Roman
09.03.2018
15:50:48

Dmitry
09.03.2018
15:51:12
у тебя неправильный openssl

Roman
09.03.2018
15:51:34

Dmitry
09.03.2018
15:51:41
и он даёт неправильный мёд
но вообще речь шла не об этом
а о том, что zfs использует только программную реализацию sha2_256

Andrey
09.03.2018
17:23:11
https://twitter.com/geowolf/status/971811346823221248

Roman
09.03.2018
19:40:07

Roman
09.03.2018
19:44:03

Andrey
09.03.2018
19:47:46
Вот нужели тебе про линуксы негде больше поговорить, как же печально видать быть линуксойдом :)
ZoL вполне себе недурная затея но не идеальная, в том числе и тем что самим же дистростроителям оно в общем не очень нужно и скорее всего будет багованым говном мамонта

Roman
09.03.2018
19:48:39
ну, шутить можно сколько угодно, но шифрование в zfs из опенсорс-вариантов сейчас есть только в ZoL.

Andrey
09.03.2018
19:54:38
мы за него рады

Roman
09.03.2018
20:01:33
мы за него рады
ну вот в это и проблема: говорить по существу не получается.
http://open-zfs.org/w/images/6/63/Lightning_Talk-Zacodi_Labs-Maxim_Martynov.pdf

Google

Andrey
09.03.2018
20:02:53
о чём говорить, о том что фря не линукс, ну поздравляю, многие вероятно догадывались

Roman
09.03.2018
20:05:50

Dmitry
09.03.2018
21:04:49
@pragus я дико извиняюсь, но где в zfs используется aes ?
или в линуксе какая-то другая zfs ?

Roman
09.03.2018
21:08:07

Dmitry
09.03.2018
21:08:25
zfs с шифрованием ?

Admin
ERROR: S client not available

Roman
09.03.2018
21:09:01
ну и там дальше страдания людей с не-интел, что aesni есть у них тоже и проверять только по cpu type нехорошо

Dmitry
09.03.2018
21:13:50
чего-то про zfsonlinux + encryption вижу только "собери себе сам"

Andrey
09.03.2018
21:14:45
она везде другая и та же самая одновременно, вот такой дуальзьм открытого проекта :)
ешё бы документировали получше, цены бы всем не было
О какие тут страсти говорят https://discourse.trueos.org/t/tron-delta-org-trueos-core-security-review-2018/2457

Dmitry
09.03.2018
21:17:22
ткни мена пальцем, где zfsonlinux поддерживает шифрование
сторонние патчи не предлагать

Roman
09.03.2018
21:17:34

Dmitry
09.03.2018
21:17:49
https://github.com/zfsonlinux/zfs/releases
читаем relase notes, и внимательно ищем там слово "encryption"
промотал 3 страницы, аж до 2015 года
не нешел

Google

Andrey
09.03.2018
21:20:14

Dmitry
09.03.2018
21:20:24
ааа
ну так тогда zfs во freebsd умеет бороздить космические просторы

Roman
09.03.2018
21:30:35

Dmitry
09.03.2018
21:32:04
ну начнем с того, что каждый коммитер freebsd ведеи свой репозиторий
в котором делает разные всякие вещи
в основной репозиторий попадают только полностью рабочие патчи
так что коммитер N вполне может реализовать в своей версии ZFS фичу X
ради интереса, просмотри, какие патчи предлагаются в reviews
https://reviews.freebsd.org/
не все патчи принимаются в основную ветку

Andrey
09.03.2018
21:35:59
уж послал так послал :)))

Dmitry
09.03.2018
21:39:15
ну, если человек не поленился откопать ветку какой-то переписки про zfsonlinux...
побегал по merge request'ам https://github.com/zfsonlinux
там проедлагаются более чем странные патчи
например, zfsonlinux сам смотрит cpuid на предмет aesni и т.п.
наркоманы, блин

Roman
09.03.2018
21:41:36