Глава 13. Синхронизация ядра- Часть II

Содержание

Глава 13. Синхронизация ядра- Часть II
Применение интерфейсов refcount_t и atomic_t
Сопоставление более нового atomic_t и более старого refcount_t интерфейсов
Элементарные интерфейсы atomic_t и refcount_t
Примеры использования refcount_t внутри основы кода самого ядра
Использование атомарных операторов RMW
Атомарные операции RMW - действия с регистрами устройств
Применение побитовых операций RMW
Применение побитовых операций - некий пример
Действенный поиск побитовой маски
Применение спин блокировок читатель - писатель
Интерфейсы спин блокировок читатель - писатель
Пара слов предостережения
Семафор читатель - писатель
Воздействие кэширования и ложное совместное использование
Свободное от блокирований программирование с переменными для ЦПУ
Переменные для ЦПУ
Работа с выделением для ЦПУ
Выделение, инициализация и освобождение переменных для ЦПУ
Выполнение операций ввода/ вывода (чтения и записи) с переменными для ЦПУ
Выделение для ЦПУ - образец модуля ядра
Выделение для ЦПУ - применение внутри ядра
Отладка блокировок внутри самого ядра
Настройка ядра отладки для отладки блокировок
Средство проверки блокировок lockdep - раннее обнаружение проблем с блокировками
Примеры - перехват ошибок взаимной блокировки при помощи lockdep
Пример 1 - перехват собственной ошибки взаимной блокировки при помощи lockdep
Его исправление
Пример 2 - перехват взаимной блокировки AB-BA при помощи lockdep
lockdep - пояснения и проблемы
Пояснения lockdep
Проблемы lockdep
Статистические данные lockdep
Представление статистических данных lockdep
Барьеры памяти - введение
Пример использования барьера памяти в драйвере устройства
Выводы
Вопросы
Дальнейшее чтение

Применение интерфейсов refcount_t и atomic_t

Сопоставление более нового atomic_t и более старого refcount_t интерфейсов

Элементарные интерфейсы atomic_t и refcount_t

Примеры использования refcount_t внутри основы кода самого ядра

Использование атомарных операторов RMW

Атомарные операции RMW - действия с регистрами устройств

Применение побитовых операций RMW

Применение побитовых операций - некий пример

Действенный поиск побитовой маски

Применение спин блокировок читатель - писатель

Интерфейсы спин блокировок читатель - писатель

Пара слов предостережения

Семафор читатель - писатель

Воздействие кэширования и ложное совместное использование

Свободное от блокирований программирование с переменными для ЦПУ

Переменные для ЦПУ

Работа с выделением для ЦПУ

Выделение, инициализация и освобождение переменных для ЦПУ

Выполнение операций ввода/ вывода (чтения и записи) с переменными для ЦПУ

Выделение для ЦПУ - образец модуля ядра

Выделение для ЦПУ - применение внутри ядра

Отладка блокировок внутри самого ядра

Настройка ядра отладки для отладки блокировок

Средство проверки блокировок lockdep - раннее обнаружение проблем с блокировками

Примеры - перехват ошибок взаимной блокировки при помощи lockdep

Пример 1 - перехват собственной ошибки взаимной блокировки при помощи lockdep

Его исправление

Пример 2 - перехват взаимной блокировки AB-BA при помощи lockdep

lockdep - пояснения и проблемы

Пояснения lockdep

Проблемы lockdep

Статистические данные lockdep

Представление статистических данных lockdep

Барьеры памяти - введение

Пример использования барьера памяти в драйвере устройства

Выводы

Вопросы

Дальнейшее чтение