Pull to refresh
61
0
Andy Shevchenko @andy_shev

Linux kernel developer

Send message

ACPI: Добавление устройств без перекомпиляции ядра

Reading time 4 min
Views 4.7K
Как выясняется, далеко немногие знают о существовании режима оверлеев в ACPICA и их поддержки в ОС Linux. Я хочу восполнить этот пробел на примере добавления ведомых устройств I2C в систему без перекомпиляции.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 4

Трассировщик ввода-вывода в ядре Linux

Reading time 5 min
Views 14K
Мало кто знает, что в ядре Linux есть необычные и весьма полезные инструменты для отладки и тестирования. В этой небольшой статье я хочу поделиться описанием трассировщика ввода-вывода.
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 4

Что нового ожидается в ядре v4.8-rc1 для Intel Edison. Дайджест

Reading time 2 min
Views 4K
Уже прошло около полутора лет с момента моей предыдущей публикации, посвящённой поддержке Intel Atom Z34xx, а попросту говоря Intel Edison, ванильным ядром Linux. Здесь я рассмотрю новшества, которые ждут своей очереди в ядро версии v4.8-rc1.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 1

Сделаем код чище: работа с 64-битными регистрами оборудования в Linux

Reading time 3 min
Views 9.3K
Нередко у программистов, пишущих драйверы, возникают некоторые трудности с обменом данными в 64-битном формате. Давайте разберём некоторые ситуации.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 1

Сделаем код чище: Когда применение devres API приносит вред?

Reading time 3 min
Views 4.9K
Управляемые ресурсы в ядре Linux (также известны как Device Resource Management или devres API), о которых я писал небольшую заметку ранее, — вещь крайне полезная, но не стоит воспринимать этот вспомогательный набор функций как серебрянную пулю при написании драйверов или модификации существующих. Рассмотрим случаи, где нужно аккуратно применять данные методы.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

Сделаем код чище: Рефакторинг драйвера PCI для контроллера NAND Denali

Reading time 4 min
Views 5.8K
На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и функций-помощников, доступных в относительно свежих версиях ядра Linux.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 6

Сделаем код чище: Нюансы вывода отладочных сообщений в драйверах Linux

Reading time 2 min
Views 4.7K
Как многим извесно вывод отладочных сообщений в Linux в отношении драйверов осуществляется несколькими подмножествами макросов и функций. Не все аналоги взаимозаменяемы и работают так, как кажется логичным на первый взгляд. Вот об этом и пойдёт речь в этой короткой заметке.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 2

Сказ об одной ошибке, так и не попавшей в релиз ядра Linux

Reading time 3 min
Views 28K
Совсем недавно вышло исправление, устраняющее полное зависание 32-битного ядра Linux при загрузке на процессорах Intel. Здесь небольшая история о том, откуда появилась ошибка и какие проводились исследования по поиску причин её возникновения.
Читать дальше →
Total votes 47: ↑44 and ↓3 +41
Comments 46

Сделаем код чище: Пару слов об управляемых ресурсах в ядре Linux для драйверов устройств

Reading time 4 min
Views 15K
Наблюдая за появляющимися драйверами в ядре Linux, не могу не отметить, что разработчики недостаточно хорошо знают инфраструктуру ядра, точнее внутренний API, значительно упрощающий жизнь при написании драйверов устройств. Сегодня я коснусь темы, посвящённой управляемым ресурсам. В частности поясню каким образом они работают и как упрощают разработку драйверов.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 0

Сделаем код чище: Рекомендации по подготовке изменений в ядро Linux

Reading time 4 min
Views 14K
Продолжая тему улучшения кода ядра Linux хочу дать несколько рекомендаций, основанных как на жизненном опыте, так и на существующей документации.
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Comments 1

Сделаем код чище: Что можно исправить в ядре Linux

Reading time 5 min
Views 37K
Наверняка многие хотели бы попробовать что-то изменить в ядре Linux к лучшему, но не знают с чего начать. Я хочу описать несколько проблем, исправить которые под силу каждому, и на примере показать путь от нахождения проблемы до опубликования её исправления в списке рассылки. По ходу повествования читатель познакомится с некоторыми вспомогательными утилитами.
Читать дальше →
Total votes 87: ↑86 and ↓1 +85
Comments 29

Расчёт параметров предделителя для 8250-совместимых USART

Reading time 2 min
Views 5.9K
Сегодняшним вечером я расскажу сказку о том, как можно эффективно вычислить параметры предделителя, который обычно используется для задания тактовой частоты USART портов, в частности 8250-совместимых, применяемых в Intel SoC.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

Об одном трюке для возврата кода ошибки из функции

Reading time 2 min
Views 25K
Ядро Linux — кладезь как применяемых алгоритмов, так и некоторых хакерских или полухакерских трюков, призванных убыстрить и / или уменьшить размер в памяти (memory footprint). Об одном из таких полухахерских трюков я хочу рассказать далее.
Читать дальше →
Total votes 45: ↑37 and ↓8 +29
Comments 74

Сделаем код чище: Специальные расширения vsnprintf() в ядре Linux

Reading time 3 min
Views 19K
Смотря на кучу исходного кода, который засылают программисты в списки рассылки подсистем ядра Linux иногда хочется плакать. С одной стороны бывает ужасный и непотребный код, с другой — люди, возможно, впервые пытаются что-то сделать для ядра, поэтому не знают всех его особенностей.

Книга Linux Device Drivers устарела, а новая версия выйдет нескоро. Поэтому мне хочется заполнить пробелы в знаниях тех программистов, которые пишут код в ядро.
Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Comments 8

Что плохого в изменении *_defconfig при работе с исходниками ядра Linux

Reading time 2 min
Views 8.2K
По следам моей первой публикации хочу сделать небольшую заметку об изменении файлов i386_defconfig или x86_64_defconfig, входящих в поставку исходников ядра Linux.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 2

Information

Rating
Does not participate
Location
Espoo, Southern Finland, Финляндия
Date of birth
Registered
Activity