Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-iMX6Q
пропал SATA на ядре 4.1.0
sergey_vn
Добавлено 06.06.2014 08:57
0
Сообщение: 1
sergey_vn
0

Пункты: 1103
Регистрация: 04.03.2014
Здравствуйте!
На плате SK-iMX6Q после установки ядра rel_imx_3.0.35_4.1.0-sk перестал видеться диск SSD SATA. На ядре rel_imx_3.0.35_1.1.3-sk он есть. Ошибок при загрузке не пишет, только "SCSI subsystem initialized" и все. AHCI в конфиге ядра включал-выключал, не помогает. Все настройки по умолчанию.
Где копать?
Спуститься к концу Подняться к началу
Персональная информация
sergey_vn
Добавлено 06.06.2014 10:12 Сообщение: 2
sergey_vn
0

Пункты: 1103
Регистрация: 04.03.2014
Кажется откопал - в конфиге был отключен почему-то PCI Express. Поставил на нем звездочку - нашелся SATA.
Спуститься к концу Подняться к началу
Персональная информация
sergey_vn
Добавлено 10.06.2014 06:51 Сообщение: 3
sergey_vn
0

Пункты: 1103
Регистрация: 04.03.2014
Здравствуйте!
Появился еще один вопрос - я в линуксе новичек, прошу сильно не пинать. На ядре rel_imx_3.0.35_4.1.0-sk у меня почему-то не работает кэш при работе с SATA диском. На прошлом ядре было:

# hdparm -tT /dev/sda1
..
412 MB in 0.51 seconds = 825539 kB/s
Timing buffered disk reads: 365 MB in 3.00 seconds = 124512 kB/s

на rel_imx_3.0.35_4.1.0-sk:
236 MB in 0.51 seconds = 471586 kB/s
Timing buffered disk reads: 158 MB in 3.00 seconds = 53781 kB/s

Результаты по dd аналогичные - и запись, и чтение идет теперь без кэша. Собственно и в моей программе и write, и fwrite ведут себя аналогично.

А мне в моем приложении кэширование при записи на диск нужно иметь, что-бы увеличить кратковременную скорость записи.
В чем тут загвоздка?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 10.06.2014 09:36 Сообщение: 4
Pavel Ivanchenko
Admin
4.39

Пункты: 91451
Регистрация: 24.03.2009
Пол: Мужчина
Наверное в ядре включен другой тип элеватора ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.06.2014 11:17 Редактировалось 10.06.2014 11:37 Сообщение: 5
sasamy
4.70

Пункты: 77332
Регистрация: 14.08.2009
Кэш явно работает иначе цифры были бы совсем другие, посмотрите файл
arch/arm/mach-mx6/crm_regs.h

если там значение GPR6 такое

#define IOMUXC_GPR6_IPU1_QOS (0xffffffff)

попробуйте поменять так как было в оригинале

#define IOMUXC_GPR6_IPU1_QOS (0x007f007f)

еще добавьте в параметрах передаваемых ядру ddr528

UPD если у вас диск SSD - попробуйте другой планировщик IO, например no-op, по умолчанию включен CFQ - он бесполезен для SSD

в menuconfig

[*] Enable the block layer --->
IO Schedulers --->
Default I/O scheduler (CFQ) --->
Спуститься к концу Подняться к началу
Персональная информация
sergey_vn
Добавлено 10.06.2014 12:51 Редактировалось 10.06.2014 12:53 Сообщение: 6
sergey_vn
0

Пункты: 1103
Регистрация: 04.03.2014
Спасибо за советы, но заметного результата пока нет:
Регистр поменял на 0x007f007f.
В menuconfig попробовал и no-op и deadline.
В bootargs_mmc добавил ddr528, при загрузке появилось
starterkit: update_ddr_freq 528000000.

В результате скорость возросла где-то на 10%, видимо из-за увеличения частоты памяти.

Вот еще тесты, на 1.1.3, запись файла 1Гб:
# time dd if=/dev/zero of=/mnt/sda1/output1G bs=10M count=100
100+0 records in
100+0 records out
real 0m 8.75s
user 0m 0.00s
sys 0m 8.66s = 115 Мб/с

и на 4.1.0:
# time dd if=/dev/zero of=/mnt/sda1/output_1G bs=10M count=100
100+0 records in
100+0 records out
real 0m 18.01s
user 0m 0.00s
sys 0m 17.83s = 55 Мб/сек

Все это в buildroot.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 10.06.2014 13:08 Редактировалось 10.06.2014 13:11 Сообщение: 7
Pavel Ivanchenko
Admin
4.39

Пункты: 91451
Регистрация: 24.03.2009
Пол: Мужчина
Я тоже заметил, что на крайних ядрах система стала явно медленней - я замерял время исполнения теста памяти и разница сорставляла ~2.5 раза.
Первым делом, решили, что это изменения относительно XBMC (то что Вы уже исправили, плюс аргумент запуска ядра).
Я внимательно еще не разбирался, но предварительно, тоже не ощутил увеличения ...
Можно предположить, что в старом ядре отключен (или не существует) какой то из модулей какого-нибудь аппаратного ускорителя, который и отъедает значительную часть трафика памяти ...

PS ddr528 уберите, с недавних пор (как сменилась ревизия чипов памяти) - будет глючить при нагруженной системе.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.06.2014 13:37 Редактировалось 10.06.2014 13:39 Сообщение: 8
sasamy
4.70

Пункты: 77332
Регистрация: 14.08.2009
Цитата

Все это в buildroot.


Корневая ФС при тестах на разных ядрах одна и та же ? выложите еще куда-нибуть свои текущие конфиги от обоих ядер.

Цитата

Я тоже заметил, что на крайних ядрах система стала явно медленней - я замерял время исполнения теста памяти и разница сорставляла ~2.5 раза.


ядро ARM - это далеко не вся система :) как-то не обращал внимания раньше на эррату и тут внезапно вычитал что например на i.mx6 у cortex-a9 не работает prefetch, есть ошибки в кешах - так что вполне может быть обход какой-нибуть эрраты в новой версии ядра так повлиял. Особо меня напрягает интересный патч в Yocto

http://git.freescale.com/git/cgit.cgi/imx/meta-fsl-bsp-release.git/tree/imx/meta-fsl-arm/recipes-core/eglibc/eglibc_2.19.bbappend?h=daisy_3.10.31-1.1.0_alpha#n5

Цитата

Remove memcpy_neon and memcpy_vfp for armv7 as performance drop on Cortex-A9
Спуститься к концу Подняться к началу
Персональная информация
sergey_vn
Добавлено 10.06.2014 14:01 Редактировалось 10.06.2014 14:28 Сообщение: 9
sergey_vn
0

Пункты: 1103
Регистрация: 04.03.2014
Я по всякому пробовал. Запускаю 1.1.3 с NAND, соответственно и корневая там-же, а 4.1.0 - на SD-карте со своей корневой. И просто одно ядро менял на SD-карте, при той-же корневой на карте.
Проверял также и с оригинальными ядрами, которые сразу с местного FTP, ничего не меняя - эта разница в скорости есть сразу - т.е. с оригинальным конфигом.
Единственное, с оригинальным ядром 4.1.0 у меня SSD не сразу заводился, а если загрузить сначала 1.1.3, а потом ребут на 4.1.0 без снятия питания, то диск находится. А просто после включения 4.1.0 диска не видно. Помогло включение PCI-E, как написал во втором сообщении.
Т.е. конфиги выкладывать наверное смысла нет, под себя я в них ничего не менял. Но вот кстати конфиги что в виртуальной машине и что с ядром, исходники которого идут отдельным архивом - разные. У меня пока все это из ВМ. Может надо ядро из архива скомпилировать?

Дополнение

Взял ядро из отдельного архива - ситуация та-же.
А вообще-то да, и память стала медленнее, даже с поправкой на более низкую частоту:

На ядре 1.1.3:
# time dd if=/dev/zero of=/dev/null bs=100M count=100
100+0 records in
100+0 records out
real 0m 5.42s
user 0m 0.00s
sys 0m 5.42s (1,85Гб/с)

На ядре 4.1.0:
SK-iMX6Q login: root
# time dd if=/dev/zero of=/dev/null bs=100M count=100
100+0 records in
100+0 records out
real 0m 9.44s
user 0m 0.00s
sys 0m 9.44s (1,06Гб/с)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.06.2014 16:33 Сообщение: 10
sasamy
4.70

Пункты: 77332
Регистрация: 14.08.2009
Цитата

А вообще-то да, и память стала медленнее, даже с поправкой на более низкую частоту:


врядли это непоспедственно память стала медленней :) настройки памяти выполняются в убуте и реальное падение от снижения частоты ~ 10% как вы заметили. Скорей всего - снижение производительности процессора из-за кешей - по логам git сложновато отследить что там поменялось. Для местных плат ядро 4.1.0 - релизное с патчами которые в Yocto было, после релиза ветка 4.1.0

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/?h=imx_3.0.35_4.1.0

еще дорабатывалась, можно на нее полностью попробовать перейти или отдельные патчи наложить, например к теме могут иметь отношение

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.1.0&id=517182a385808f60bf94e2361712d714f0a78a61

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.1.0&id=248085d00db07934eab1a8edbb36d03b854d928d
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX6Q