Многопользовательская очередь в структуре DPDK - PullRequest
0 голосов
/ 11 апреля 2019

Можно ли реализовать кольцевой буфер в DPDK, в котором один объект помещен в очередь одним производителем, может быть удален из очереди несколькими потребителями (скажем, 4 потребителями)?то есть .. Является ли объект, удаленный первым 1 потребителем в кольцевом буфере, доступным для других потребителей?

1 Ответ

0 голосов
/ 12 апреля 2019

DPDK-кольца - всего лишь указатели на буферы, операции постановки / снятия с очереди довольно дешевы.Таким образом, лучшее решение приходит на ум - создать 4 очереди и поставить один и тот же объект 4 раза в 4 разные очереди.

Могут возникнуть проблемы с освобождением этого объекта.Посмотрите на счетчик ссылок mbuf. * ​​1003 *

И могут быть проблемы с одновременной модификацией объекта.Посмотрите на блокировки или другие механизмы синхронизации.

...