реклама на сайте
подробности

 
 
> Большое число программных прерываний в ОС Linux при приеме информации по интерфейсу CAN на AM3517, Нужно уменьшить число программных прерываний в ОС Linux
Таратухин Сергей
сообщение Sep 18 2013, 09:49
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 18-09-13
Пользователь №: 78 372



На AM3517 при получении информации через интерфейс CAN (скорость передачи данных 1 Мбит/с шина CAN загружена около 80%) в ОС Linux генерируется много программных прерываний (около 45% загрузки процессора). Можно ли уменьшить количество программных прерываний при приеме?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tarbal
сообщение Oct 16 2013, 11:42
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Вы уверены, что вы починили функциональность, а не только предотватили печатание сообщения?
Я бы разобрался что происходит для начала.
Go to the top of the page
 
+Quote Post
Таратухин Сергей
сообщение Oct 16 2013, 11:53
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 18-09-13
Пользователь №: 78 372



Цитата(Tarbal @ Oct 16 2013, 17:42) *
Вы уверены, что вы починили функциональность, а не только предотватили печатание сообщения?
Я бы разобрался что происходит для начала.


После правки, проверил работоспособность периферии сидящей на i2c, а так же проверил прием по CAN интерфейсу, потери пакетов не наблюдалось. Проверки продолжу, потому что действительно пока сам не уверен, что все работает должным образом. Параллельно буду донимать поддержку TI, чтоб они подтвердили, наличие ошибки и сделали корректный патч, не как я поступил, просто обрезал латентности.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 16 2013, 12:47
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Таратухин Сергей @ Oct 16 2013, 15:53) *
Параллельно буду донимать поддержку TI, чтоб они подтвердили, наличие ошибки и сделали корректный патч, не как я поступил, просто обрезал латентности.


И не рассчитывайте sad.gif
У них (как и у Фрискейла) сейчас кампания за Андроид. Все что напрямую не связано с Андроидом ими игнорируется. Однако в e2e написать стоит.
Go to the top of the page
 
+Quote Post
Таратухин Сергей
сообщение Oct 17 2013, 05:25
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 18-09-13
Пользователь №: 78 372



Цитата(Tarbal @ Oct 16 2013, 18:47) *
И не рассчитывайте sad.gif
У них (как и у Фрискейла) сейчас кампания за Андроид. Все что напрямую не связано с Андроидом ими игнорируется. Однако в e2e написать стоит.


Вот ответ из TI:
CODE
If you make some search on the src code you will fond out that the fct the print this messages are _omap_device_activate and _omap_device_deactivate from arch/arm/plat-omap/omap_device.c.

Seems to be called from I2c driver context in this case. You will need to investigate when this code is called and why it would prevent the CAN driver to capture packets.


Нашел, более правильное решение, в файле omap_device.c для функции _omap_device_activate внес немного другое изменение.
было:
CODE
144 if (act_lat > odpl->activate_lat) {
145 odpl->activate_lat_worst = act_lat;
146 if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
147 odpl->activate_lat = act_lat;
148 pr_warning("omap_device: %s.%d: new worst case "
149 "activate latency %d: %llu\n",
150 od->pdev.name, od->pdev.id,
151 od->pm_lat_level, act_lat);
152 } else
153 pr_warning("omap_device: %s.%d: activate "
154 "latency %d higher than exptected. "
155 "(%llu > %d)\n",
156 od->pdev.name, od->pdev.id,
157 od->pm_lat_level, act_lat,
158 odpl->activate_lat);
159 }

сделал
CODE
144 if (act_lat > odpl->activate_lat) {
145 odpl->activate_lat_worst = act_lat;
146 if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
147 odpl->activate_lat = act_lat;
148 } else
149 pr_warning("omap_device: %s.%d: activate "
150 "latency %d higher than exptected. "
151 "(%llu > %d)\n",
152 od->pdev.name, od->pdev.id,
153 od->pm_lat_level, act_lat,
154 odpl->activate_lat);
155 }


И для функции _omap_device_deactivate
было
CODE
212 if (deact_lat > odpl->deactivate_lat) {
213 odpl->deactivate_lat_worst = deact_lat;
214 if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
215 odpl->deactivate_lat = deact_lat;
216 pr_warning("omap_device: %s.%d: new worst case "
217 "deactivate latency %d: %llu\n",
218 od->pdev.name, od->pdev.id,
219 od->pm_lat_level, deact_lat);
220 } else
221 pr_warning("omap_device: %s.%d: deactivate "
222 "latency %d higher than exptected. "
223 "(%llu > %d)\n",
224 od->pdev.name, od->pdev.id,
225 od->pm_lat_level, deact_lat,
226 odpl->deactivate_lat);
227 }

сделал
CODE
208 if (deact_lat > odpl->deactivate_lat) {
209 odpl->deactivate_lat_worst = deact_lat;
210 if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
211 odpl->deactivate_lat = deact_lat;
212 } else
213 pr_warning("omap_device: %s.%d: deactivate "
214 "latency %d higher than exptected. "
215 "(%llu > %d)\n",
216 od->pdev.name, od->pdev.id,
217 od->pm_lat_level, deact_lat,
218 odpl->deactivate_lat);
219 }
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Таратухин Сергей   Большое число программных прерываний в ОС Linux при приеме информации по интерфейсу CAN на AM3517   Sep 18 2013, 09:49
- - kurtis   У вас случайно прерывания не по gpio идут? Если по...   Sep 18 2013, 12:45
- - Tarbal   Цитата(Таратухин Сергей @ Sep 18 2013, 13...   Sep 18 2013, 17:00
|- - _3m   Цитата(Tarbal @ Sep 18 2013, 21:00) Уточн...   Sep 18 2013, 19:24
|- - Таратухин Сергей   Цитата(_3m @ Sep 19 2013, 01:24) Я посмот...   Sep 19 2013, 05:54
|- - _3m   Цитата(Таратухин Сергей @ Sep 19 2013, 09...   Sep 19 2013, 07:16
|- - Tarbal   Цитата(_3m @ Sep 19 2013, 11:16) Пока не ...   Sep 19 2013, 13:19
|- - Таратухин Сергей   Цитата(Tarbal @ Sep 19 2013, 19:19) Ваши ...   Sep 20 2013, 09:13
|- - sasamy   Цитата(Таратухин Сергей @ Sep 20 2013, 13...   Sep 20 2013, 10:42
||- - Таратухин Сергей   Цитата(sasamy @ Sep 20 2013, 16:42) В ста...   Sep 20 2013, 12:23
||- - sasamy   Цитата(Таратухин Сергей @ Sep 20 2013, 16...   Sep 20 2013, 12:55
||- - sasamy   Цитата(sasamy @ Sep 20 2013, 16:55) Посмо...   Sep 20 2013, 14:30
||- - AndrewN   QUOTE (sasamy @ Sep 20 2013, 18:30) Кстат...   Sep 21 2013, 18:38
||- - Таратухин Сергей   Цитата(sasamy @ Sep 20 2013, 20:30) Кстат...   Sep 23 2013, 06:26
||- - Tarbal   Цитата(Таратухин Сергей @ Sep 23 2013, 10...   Sep 23 2013, 12:20
||- - Таратухин Сергей   Цитата(Tarbal @ Sep 23 2013, 18:20) Для ...   Sep 23 2013, 12:45
||- - Tarbal   Цитата(Таратухин Сергей @ Sep 23 2013, 16...   Sep 23 2013, 13:33
|||- - Таратухин Сергей   Цитата(Tarbal @ Sep 23 2013, 19:33) Я не ...   Oct 8 2013, 05:27
|||- - Tarbal   Цитата(Таратухин Сергей @ Oct 8 2013, 09...   Oct 8 2013, 12:21
|||- - Таратухин Сергей   Цитата(Tarbal @ Oct 8 2013, 18:21) Вы пол...   Oct 15 2013, 09:11
|||- - Tarbal   Цитата(Таратухин Сергей @ Oct 15 2013, 13...   Oct 15 2013, 12:12
|||- - Таратухин Сергей   Цитата(Tarbal @ Oct 15 2013, 18:12) laten...   Oct 16 2013, 11:30
||- - sasamy   Цитата(Таратухин Сергей @ Sep 23 2013, 16...   Sep 23 2013, 13:38
||- - AndrewN   QUOTE (sasamy @ Sep 23 2013, 16:38) почем...   Sep 23 2013, 21:51
||- - A. Fig Lee   Цитата(AndrewN @ Sep 23 2013, 17:51) Колл...   Sep 24 2013, 00:34
||- - Tarbal   Цитата(AndrewN @ Sep 24 2013, 01:51) Колл...   Sep 24 2013, 00:54
||- - AndrewN   QUOTE (Tarbal @ Sep 24 2013, 04:54) Цыпля...   Sep 24 2013, 02:56
||- - Tarbal   Цитата(AndrewN @ Sep 24 2013, 06:56) Упс....   Sep 24 2013, 03:12
||- - _3m   Цитата(AndrewN @ Sep 24 2013, 06:56) Инте...   Sep 24 2013, 06:17
||- - AndrewN   QUOTE (_3m @ Sep 24 2013, 10:17) Такты сч...   Sep 24 2013, 21:50
||- - Tarbal   Цитата(AndrewN @ Sep 25 2013, 01:50) Пото...   Sep 25 2013, 01:45
|- - Tarbal   Цитата(Таратухин Сергей @ Sep 20 2013, 13...   Sep 20 2013, 12:30
|- - Таратухин Сергей   Цитата(Tarbal @ Sep 20 2013, 18:30) У люб...   Sep 21 2013, 15:53
|- - Tarbal   Цитата(Таратухин Сергей @ Sep 21 2013, 19...   Sep 21 2013, 16:39
|- - Таратухин Сергей   Цитата(Tarbal @ Sep 21 2013, 22:39) Ну то...   Sep 23 2013, 11:54
|- - Tarbal   Цитата(Таратухин Сергей @ Sep 23 2013, 15...   Sep 23 2013, 12:05
|- - Таратухин Сергей   Цитата(Tarbal @ Sep 23 2013, 18:05) Я поп...   Sep 23 2013, 12:14
- - Tarbal   Положим одна транзакция 100 бит. Значит при 80% за...   Sep 19 2013, 01:13
- - A. Fig Lee   Цитата(Таратухин Сергей @ Sep 18 2013, 05...   Sep 20 2013, 12:11
- - Tarbal   Отгадать не получится. Надо дебагировать.   Oct 18 2013, 01:47
- - Grommerin   Здравствуйте. Уже месяц бьюсь над такой-же проблем...   Nov 3 2014, 12:02
|- - ZASADA   Цитата(Grommerin @ Nov 3 2014, 15:02) Здр...   Nov 4 2014, 10:39
- - Grommerin   Цитата(ZASADA @ Nov 4 2014, 13:39) вы неп...   Nov 11 2014, 08:50
- - _3m   Чтобы не начинать похожую тему напишу сюда. Разыс...   Apr 6 2016, 14:17


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th September 2025 - 07:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016

IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here