#linux-kernel
#linux-ядро
Вопрос:
Обеспечивает ли оболочка связанного списка, описанная в klist.h, потокобезопасный доступ к своим узлам как для чтения, так и для записи?
Ответ №1:
Я предполагаю, что под «чтением и записью» вы на самом деле подразумеваете «взаимодействие и добавление / удаление» (мы говорим о списках, верно?).
В этом смысле они потокобезопасны: вам не нужно выполнять ручную блокировку для них, потому что функции, определенные в lib/klist.c
, используют внутреннюю блокировку вращения структуры klist.
Не используйте эти функции, если прерывание или контекст нижней половины, потому что блокировка, выполняемая внутри них, не spin_lock_irqsave()
является or spin_lock_bh()
.