Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт апр 28, 2017 7:34 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 259 сообщений ]  На страницу Пред. 113 14 15 16 17 18 След.
Автор Сообщение
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Вт янв 03, 2017 2:46 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Ну ты же понимаешь, что если операция в NT работает, а в KOS нет, то нужно что то фиксить.

Ошибка удаления то не "в редких случаях", а 100% повторяема


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Вт янв 03, 2017 1:33 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
Там много чего нужно, только где мне столько сил взять. Так чтоб всё было идеально, нужно вообще переделывать работу с папкой на рекурсивное чтение. Хотя снять ограничение на общее количество файлов не сложно, если кого-то это интересует.

Вообще-то, not supported это не ошибка, а факт. Не поддерживается в редких конкретных случаях.
Напомню, что я искал ошибки, которые возникали совершенно случайно, некоторые даже вызывали повреждения ФС viewtopic.php?f=31&t=659&start=135
Но после #6820 мне не удаётся поймать ни одной.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Вт янв 03, 2017 11:56 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Пока жестких багов не видно.
Распаковал 1Gb архив на NTFS, налицо ужасная деградация производительности (несколько часов), или просто медленно, а на мелких файлах не бросалось в глаза.

Еще 100% занятости CPU


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Ср янв 04, 2017 12:05 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Еще, забыл сказать - в целом - отличная работа!

Есть список - какие фичи НТФС реализованы полностью - какие частично, какие не поддерживаются пока и какие не планируются?


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Ср янв 04, 2017 7:16 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
1. Главная проблема: в папках используется самобалансирующееся дерево, которое должно всегда расти только из корня и оставаться симметричным. Но в узлах нет указателей на надузлы, из-за чего движение назад к корню возможно только при рекурсивном чтении. Я старался максимально использовать имеющийся код, потому везде используется ntfs_find_lfn, то есть циклическое чтение до нужного узла. Потому, если непосредственно в папке 500-1000 файлов, используется костыль - удлинение ветки. Драйверу из линукса пофиг несимметричность дерева, а вот у винды происходит детская неожиданность, при чём chkdsk не находит ошибок viewtopic.php?f=31&t=659&start=180#p67947

2. При удалении последнего индекса из листа, узел нужно удалить, а указатель на него переместить из надузла в соседний узел. Сейчас пустой узел удаляется только при удалении указателя, из-за чего после удаления из папки большого количества файлов в дереве могут присутствовать пустые узлы. Линуксу это тоже пофиг, а вот винда срёт кирпичами (папка повреждена). Но это chkdsk исправляет запросто.

3. При удалении индекса из ветки нужно переместить из листа предыдущий индекс на замену. В редких случаях, если узел-ветка заполнен под завязку, а замена больше удаляемого индекса, то места может не хватить. До изменения состояния дерева удаление такого файла не поддерживается.

4. Количество файлов на разделе ограничено одним кластером битовой карты MFT (при желании, решаемо).

5. В файловую запись влазит максимум 100-200 фрагментов файла. Если записывать большой файл дико мелкими кусочками (например, 256 КБ), а пустое место на разделе сильно фрагментировано, то максимальный размер файла может быть ограничен. Большее количество фрагментов реализуется такими диким костылём ($ATTRIBUTE_LIST), что проще сделать дефрагментацию на лету.

6. Не поддерживается: разреженные файлы, сжатие, шифрование, журналирование, индексирование, потоки, квоты, права доступа, точки монтирования и т.д. и т.п...


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Ср янв 04, 2017 8:15 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
Siemargl
Что значит деградация производительности? Жёсткий диск в DMA режиме в принципе не может грузить процессор на 100%.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 10:44 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Pathoswithin писал(а):
Siemargl
Что значит деградация производительности? Жёсткий диск в DMA режиме в принципе не может грузить процессор на 100%.

У меня же виртуалка VMWare.
Если верить HDD Informer, DMA поддерживается. Тем не менее при любых файловых операциях - копирование, удаление, CPU 100% пока оерация не закончится.
Может это проблема KFAR, потому что unzip не занимает 100%

Деградация - это сначала процесс работает быстро, потом медленнее и медленнее.
Например, в моем архиве куча фотографий по 3Мб каждая. Первый десяток распаковывается мгновенно, а потом скорость падает до 12с/файл, а потом 35с/файл...потом 43с/файл

Попозже сравню скорость распаковки на FAT и на NTFS.

На FAT деградация аналогичная, видимо что то с кэшем на большом архиве 1Гб.
Точно с кэшем, увеличение памяти с 64Мб до 640Мб дало эффект, но все равно пр-ть деградировала аналогично, только позже.

По скорости при распаковке cmake (4400 мелких файлов) FAT чуть быстрее 38c vs 48. Но это отладочное ядро, так что трассировка NTFS свое ест.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 2:18 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
Вообще-то, тестировать производительность файловых систем в виртуалке довольно бессмысленно. Особенно, на мелких файлах. А при чём здесь скорость распаковки, я вообще не понял.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 3:59 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Pathoswithin писал(а):
Вообще-то, тестировать производительность файловых систем в виртуалке довольно бессмысленно. Особенно, на мелких файлах. А при чём здесь скорость распаковки, я вообще не понял.
Ты зря так думаешь. Здесь главное повторяемость, она есть. Да и воспроизвести одинаковое состояние ВМ проще.

А почему распаковка - чтобы не читать много файлов, не создавать лишнюю конкуренцию за IO.
Думаю, что если копировать 1Гб файлов будет тот же эффект.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 5:57 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 910
Вот здесь было "File system fail"
Вложение:
BOARDLOG.TXT [2.09 КБ]
8 скачиваний
Но сам лог вроде не сильно отличается от предыдущих(не знаю уж, что этот лог может нового сказать).
Вот потом CHKDSK нашёл какие-то ошибки
Код:
Проверка файлов (этап 1 из 3)...
Проверка файлов завершена.
Проверка индексов (этап 2 из 3)...
Проверка индексов завершена.
Восстановление потерянных файлов.
Проверка дескрипторов безопасности (этап 3 из 3)...
Проверка дескрипторов безопасности завершена.
CHKDSK проверяет журнал USN..
Завершена проверка журнала USN
Исправление ошибок в атрибуте BITMAP основной таблицы файлов.
Windows найдены ошибки файловой системы.
Запустите CHKDSK с параметром /F (fix) для их исправления.
Pathoswithin писал(а):
процесс падает с pagefault, а мьютекс раздела остаётся заблокированным.
Это можно пофиксить, думаю. Точно так же, как освобождается выделенная прибитому процессу память, например.

Насчёт viewtopic.php?f=31&t=659&start=210#p67988
#6 — не так страшно
А вот остальное, похоже, что надолго :(

А для EXT сейчас дополнительный лог выводится? Или пока ещё не до этого?


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 6:13 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
Siemargl
На флешках до сих пор успешно используется FAT, но механической вертелке сначала нужно дождаться пока блин прокрутится до нужного места, и эта задержка может во много раз превышать длительность самой операции; современные файловые системы имеют преимущество именно в этом отношении.
100% загрузка процессора говорит о том, что либо диск работает в режиме PIO, либо почти всю нагрузку создаёт сама распаковка.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 6:47 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
0CodErr
Да, этот лог полезен, сделай то же самое с этим ядром.


Вложения:
kernel.mnt [186.59 КБ]
8 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 8:23 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 910
Вложение:
BOARDLOG.TXT [2.48 КБ]
8 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Чт янв 05, 2017 10:04 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 228
Pathoswithin писал(а):
100% загрузка процессора говорит о том, что либо диск работает в режиме PIO, либо почти всю нагрузку создаёт сама распаковка.
Наоборот, 100% при удалении и копировании ФАРом и Еолайтом.
А при распаковке нет существенной нагрузки на процессор.


Вернуться к началу
 Заголовок сообщения: Re: NTFS
СообщениеДобавлено: Пт янв 06, 2017 4:10 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1124
revision #6824

0CodErr
Говоришь, разделы примерно по 8Гб? А 512 КБ кластер ты специально выбираешь?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 259 сообщений ]  На страницу Пред. 113 14 15 16 17 18 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB