Преимущества Linux для ядра? - PullRequest
0 голосов
/ 09 мая 2011

Каковы последствия того, что ядро ​​linux превентивно, особенно для создания драйверов устройств.Я предполагаю, что вам нужно быть более внимательным к блокировке ресурсов, но есть ли что-то еще к этому?

Ответы [ 2 ]

0 голосов
/ 05 июня 2013

Если не используется SMP, убедитесь, что необходимо применить это исправление блокировки: « Gaurantee блокирует неявный барьер для! PREEMPT_COUNT », сделанное в апреле 2013 года.

Имейте в виду, чтокаждый раз, когда код запускает «spin_unlock_» или «preemption_enable», может появиться приоритетное прерывание. Оно одинаково, когда возвращается исключение или возвращается прерывание.Помимо этих дел и подобных вещей, не должно быть никаких других проблем.Конструкция ядра гарантирует, что исключения и прерывания обрабатываются строго встроенным образом, хотя с SMP несколько экземпляров могут работать параллельно.

0 голосов
/ 09 мая 2011

Существует гораздо больше возможностей для условий гонки, как вы уже упоминали, так что да, вы должны быть очень прилежны с замками.Вы также должны быть осторожны с синхронизацией, например, когда вы включаете / отключаете прерывания или другие аппаратные ресурсы и т. Д. Вам не всегда нужно использовать блокировки для этих ситуаций, но вам, возможно, придется изменить порядок кода.Наконец, это также влияет на планирование, позволяя задачам с высоким приоритетом быть намного более отзывчивыми, что, в свою очередь, может негативно повлиять на задачи с более низким приоритетом.

...