Search found 1244 matches

by Pathoswithin
Sun May 24, 2015 10:49 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Тогда возникает ещё два вопроса. Совместим ли доисторический хлам с ATA драйвером? Будет ли использоваться PIO48?

Нет, похоже максимальный размер блока для READ MULTIPLE - 16 секторов. Мой драйвер работал параллельно с виндовым, но всё равно не понимаю как.
by Pathoswithin
Sat May 23, 2015 9:17 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Почитал разного, в том числе какую-то суровую документацию. Стала вырисовываться целостная картина. Sector count касается передачи данных между диском и внутренним буфером. Передача между буфером и оперативной памятью осуществляется по одному сектору с последующим ожиданием, поэтому команды READ SEC...
by Pathoswithin
Thu May 21, 2015 7:48 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Да, interrupt storm, но судя по "Preempting/Preventing IRQs from firing", может не получится их уверенно отключить - сейчас вроде используется Regular Status port. Но их можно и обрабатывать. Что лучше?
by Pathoswithin
Wed May 20, 2015 11:39 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Serge, может всё-таки по-подробней? Я когда свой драйвер писал, прерываниями не пользовался. И сейчас ничего не удалял, выходит они и раньше не обрабатывались.
by Pathoswithin
Wed May 20, 2015 10:58 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Проблема в обратном: при обращении к младшим секторам всегда будет использоваться LBA28, что означает падение скорости в несколько раз по текущей причине.
Под Bochs не зависает
Мой hd_drv.inc? Совсем весело... Я же не использую DMA, откуда прерывания?
А если да, то что тогда делать?
by Pathoswithin
Wed May 20, 2015 6:19 pm
Forum: Kernel
Topic: Дока по подсистеме событий ядра.
Replies: 8
Views: 10301

Re: Дока по подсистеме событий ядра.

icetux, да, мы тоже часто задаёмся этим вопросом...
by Pathoswithin
Wed May 20, 2015 5:36 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

А там и не было проверки, LBA48 использовалось если адрес не влазил в 28 бит. А в LBA28 только один байт под количество, сильно замедлит младшие сектора. Сейчас зависает почти сразу же. Мне кажется, что в теме "KolibriOS freezes while accessing hdd" та же проблема - наверно никто не провер...
by Pathoswithin
Wed May 20, 2015 4:42 am
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: Скорость работы с IDE дисками

Ладно, начнём с PIO, раз уж он есть. Отключил DMA, старые вызовы fs работали нормально, новые вешали систему сразу после успешного копирования, то-есть несколько чтений, несколько записей, disk_synk, зависание. После перехода на FFFF секторов стало только хуже. Но возможно проблема не в драйвере, а ...
by Pathoswithin
Sun May 17, 2015 6:12 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

Serge, выбора нет, сейчас летает как кирпич. Линейно по 4 кб смотреть наверно долго... А если бинарная проверка? Может такое быть, что буфер кажется непрерывным по началу и концу, но в середине кусок из другого места?
by Pathoswithin
Sun May 17, 2015 5:13 am
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

В идеале нужно убирать вообще всё кэширование. До сих пор не понял, почему было лень сделать нормально, но не лень делать такой жуткий костыль. Буфер запросто может быть фрагментирован, если файл большой, а главное, при редактировании карты раздела. Все страницы по 4 кб? По 2 Мб нет? Нужно проверять...
by Pathoswithin
Sat May 16, 2015 6:01 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

Serge , извиняюсь, забыл что при копировании происходит сначала чтение, а потом запись. Тогда у меня получается целых 2 Мб/с ! Почитал wasm, разобрался. Благодаря хитрожопому оформлению, посредине драйвера находится структура IDE_descriptor_table. read_dma/write_dma почему-то начинаются с конца - к...
by Pathoswithin
Sat May 16, 2015 2:35 am
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

Ну с PIO всё ясно, а вот в DMA не разбираюсь... Буфер просто лежит в стеке. Мне нужен инструктаж.
by Pathoswithin
Fri May 15, 2015 11:04 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

DMA :) по 16 секторов :D А тонкие у вас, однако, тролли :wink: Смешнее чем компресс для трупа :lol: PIO 4 даёт 16 мб/сек :) PIO 0 даёт 3 мб/сек :) А тут DMA на 1 мб/сек :lol: Это был бы позор ещё тогда, когда кто-то додумался сделать чтение по 1 сектору. Получается, что ntfs нужно откладывать до луч...
by Pathoswithin
Fri May 15, 2015 7:04 pm
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Re: NTFS

; Worker procedures take max 16 sectors per time
:shock: Почему? Там же 2 байта под количество
by Pathoswithin
Fri May 15, 2015 12:02 am
Forum: Drive subsystem
Topic: Скорость работы с IDE дисками
Replies: 146
Views: 81582

Скорость работы с IDE дисками

А теперь про жуть. Общение с диском производится блоками по 16 секторов. Чтобы продолжить чтение/запись, диск должен сделать полный оборот. Диск делает 120 оборотов в секунду. Таким нехитрым способом скорость ограничена до 960 кб/сек. Не знаю, на каком жёстком диске был выбран такой оптимальный разм...