Как стать автором
Обновить
61
0
Andy Shevchenko @andy_shev

Linux kernel developer

Отправить сообщение

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

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

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

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

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

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

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

Время на прочтение3 мин
Количество просмотров9.3K
Нередко у программистов, пишущих драйверы, возникают некоторые трудности с обменом данными в 64-битном формате. Давайте разберём некоторые ситуации.
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии1

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

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

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

Время на прочтение4 мин
Количество просмотров5.8K
На примере драйвера PCI для контроллера NAND Denali я покажу как упрощается код при использовании макросов и функций-помощников, доступных в относительно свежих версиях ядра Linux.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

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

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

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

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

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

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

Запускаем свежайшее ядро Linux на Intel Edison

Время на прочтение4 мин
Количество просмотров33K
Ко всемирному дню #ArduinoD15 я подготовил материал по конфигурации и запуску свежайшего ядра Linux на плате Intel Edison (Arduino Edition).
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

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

Время на прочтение4 мин
Количество просмотров14K
Продолжая тему улучшения кода ядра Linux хочу дать несколько рекомендаций, основанных как на жизненном опыте, так и на существующей документации.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии1

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

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

О Git, начинающих и статьях о Git для начинающих

Время на прочтение4 мин
Количество просмотров15K
Пятница тринадцатое отличный день для очередного holywar обсуждения «как я готовлю Git, и почему я готовлю его неправильно».
Итак,
Читать дальше →
Всего голосов 49: ↑21 и ↓28-7
Комментарии17

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

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

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии2

Запускаем ванильное ядро на Intel Galileo

Время на прочтение5 мин
Количество просмотров16K
Не сомневаюсь, что большинство пользователей Intel Galileo задаётся вопросом, когда же наконец можно будет обновить ядро?



Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии19

Информация

В рейтинге
Не участвует
Откуда
Espoo, Southern Finland, Финляндия
Дата рождения
Зарегистрирован
Активность