spin_lock_irqsave и разместить внутри rcu_read_lock

Привет,

У меня есть код драйвера, который должен работать с определенными пакетами, полученными через интерфейс. Драйвер использует spin_lock_irqsave для параллельного управления такими запросами перед передачей его аппаратному обеспечению.

Для работы с пакетом требуется некоторая контекстная информация, предоставленная модулем ядра, который я пишу. Может быть несколько контекстной информации, управляемой с помощью hlist, защищенного с помощью rcu. Теперь, когда пакет прибывает, этот модуль должен найти контекстную информацию, используя сигнатуру пакета внутри rcu_read_lock(), а затем передать пакет и найденный контекст драйверу.

Теперь я прочитал, что поток / модуль ядра не должен блокировать / спать внутри rcu_read_lock(), как мне это сделать.

Любая помощь приветствуется?

0 ответов

Другие вопросы по тегам