Comments 7
1) У вас что-то со стилем, особенно пробелы\их отсутствие при присваивании.
2) Зачем для fifo двусвязный список?
3) Зачем использовать списки ядра? Если уж берете ядро — то вперед kfifo уже готов. Дабы не лочить лишний раз в одном потоке — __kfifo_put/__kfifo_get
2) Зачем для fifo двусвязный список?
3) Зачем использовать списки ядра? Если уж берете ядро — то вперед kfifo уже готов. Дабы не лочить лишний раз в одном потоке — __kfifo_put/__kfifo_get
1) Попытался исправить, кажется безуспешно.
2) Это пример использования списка.
3) Например, для создания очередей управляющих блоков. Для очереди на основе двусвязного списка возможна вставка в середину списка, просмотр элементов списка от головы к хвосту, в обратном направлении, по кольцу. Память для списка может выделяться динамически в процессе работы. Память под kfifo выделяется при создании, что не всегда удобно.
2) Это пример использования списка.
3) Например, для создания очередей управляющих блоков. Для очереди на основе двусвязного списка возможна вставка в середину списка, просмотр элементов списка от головы к хвосту, в обратном направлении, по кольцу. Память для списка может выделяться динамически в процессе работы. Память под kfifo выделяется при создании, что не всегда удобно.
По третьему пункту. Соглашусь с предыдущим комментатором — если уж очередь, так берите готовый API, а аргумент насчёт обратного направления к сожалению не очень хорош если разговор идёт о lockless способе доступа (я уже молчу, что у вас синхронизации доступа не наблюдается в принципе). И на десерт, посмотрите также klist.h.
я использую BSD списки очередей www.freebsd.org/cgi/man.cgi?query=queue&sektion=3
они реализованы на макросах, что немного эффективнее
пишу под линукс
они реализованы на макросах, что немного эффективнее
пишу под линукс
Sign up to leave a comment.
Как использовать список ядра Linux для создания очереди