vak: (Default)
[personal profile] vak
На днях переписал драйвер асинхронных портов для QNX. Стандартный devc-ser8250 был написан для классического UART 8250 и совершенно не умеет обращаться с современными чипами, типа TL16C654. Казалось бы, какая разница? Читая даташит, совсем не очевидно, что обработка прерываний для новых чипов делается _совсем_ не так. То есть совершенно по-другому. В Linux и FreeBSD это место давно переписано как надо (сам участвовал), а QNX отстал от прогресса.

Ниже приводятся результаты испытаний на процессоре Элвис MC-24. Это процент от максимально возможного темпа передачи и приёма данных при одном работающем канале и при четырёх. На больших скоростях сказывается ограниченная производительность процессора.

Скорость Один канал Четыре канала
57600 99 % 97 %
115200 99 % 67 %
230400 97 % 37 %
460800 92 % 19 %

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org