Хотелось бы услышать предложения как бы это получше сделать. Навскидку варианты: 1) использовать оригинальную страницу для ввода-вывода и в b_end_io расшифровывать поблочно(для readpage). Если во время b_end_io разрешены прерывания, то, как мне кажется, можно легко переполнить стек ядра (файловая система может жить на 16-64 дисках), если прерывания запрещены, то могут теряться прерывания, кроме того, поскольку шифрование тяжелое, то могут возникать неприятные задержки, даже если ядро поддерживает вытеснение кроме того, kmap_atomic(bh_kmap_irq) может в первом случае в какой-то момент не спроецировать страницу. 2) (для readpage) в b_end_io помещать буфера в очереди и вне контекста прерывания их обрабатывать (расшифровывать) По-моему, это будет слишком медленно (лишнее переключение контекста). 3) совершать операции над страницами синхронно (readpage, prepare-/commit- write), используя для ввода-вывода теневую страницу. Так я реализовал сейчас, но проблема в том, что readahead становится синхронным. Как бы получить разумный компромисс между безопасностью и производительностью?
Ответ на:
комментарий
от signal11
Ответ на:
комментарий
от Murr
Ответ на:
комментарий
от signal11
Ответ на:
комментарий
от signal11
Ответ на:
комментарий
от signal11
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Page cache (2013)
- Форум Скорость работы page cache (2014)
- Форум Page cache for scst_fileio (2017)
- Форум Прозрачное шифрование Docker контейнеров (2016)
- Форум Прозрачное шифрование только некоторых файлов (2014)
- Форум Символьное интегрирование: сравнение (2012)
- Форум Интегрирование по частям (2021)
- Форум Интегрированая среда разработки (2006)
- Форум Инструкция по интегрированию (2005)
- Форум численное интегрирование в maxima (2013)