URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 11947
[ Назад ]

Исходное сообщение
"Тематический каталог: Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"

Отправлено auto_topic , 05-Авг-05 02:23 
Обсуждение статьи тематического каталога: Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)

Ссылка на текст статьи: http://www.opennet.me/base/dev/kqueue_vs_epoll.txt.html


Содержание

Сообщения в этом обсуждении
"Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"
Отправлено BaT , 05-Авг-05 02:23 
В Linux знают о AIO, но уведомление там через сигналы. Во FreeBSD этот механизм тоже есть, но поломан :( Так что kqueue тут вынужденная альтернатива...

"Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"
Отправлено nuclight , 30-Июн-06 00:07 
Насколько я понимаю, часть положений слегка устарела. В epoll() добавили остальные виды нотификации (Level Triggering vs Edge Triggering) и opaque user data. В остальном он по-прежнему сосёт.

"Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"
Отправлено ABorland , 29-Ноя-07 13:02 
Linux KQUEUE prototype
http://www.fsl.cs.sunysb.edu/~kolya/projects/
Реализована альфа версия поддержки KQUEUE в ядре линуха, кому очень надо доделайте и тащитесь от щастья

"Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"
Отправлено MaMoHT , 18-Мрт-09 07:06 
Статья малость устарела:

1. Все три типа нотификаций в linux появились (об этом уже написали).
2. Opaque user data тоже появился (тоже уже написали).
3. Для того, чтобы убрать нотификацию EPOLLOUT не нужно делать два вызова. Делается это через EPOLL_CTL_MOD.
4. В 2.6.17 появился EPOLLRDHUP - позволяет ловить тот самый пресловутый конец файла, без дополнительного вызова recv.
5. Для нотификации об изменении метаданных на диске есть inotify, который пихаешь в тот же самый epoll. По аналогии с inotify для таймеров есть timerfd_create (опять же через epoll), для сигналов signalfd (опять же через epoll).

Остального нет, но думаю постепенно реализуют.


"Различия kqueue (FreeBSD) и epoll (Linux) ( kqueue select poll epoll)"
Отправлено Анином , 10-Окт-22 15:53 
io_uring однако