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