FreeBSD & Linux disk AIO support
Valery Kholodkov
valery+nginxru at grid.net.ru
Mon Aug 31 01:40:57 MSD 2009
Igor Sysoev пишет:
> Патч сейча сделать не могу, просто уберите:
>
> if (events == 0) {
> - ngx_log_error(NGX_LOG_ALERT, ev->log, 0,
> - "io_getevents() did not return %uL events", ready);
> return;
> }
>
>
> 18446744073709551615 - это -1. Там похоже, есть небольшой race condition,
> когда io_getevents() сначала возвращает на одно событие больше, чем
> сообщил eventfd(), а потом - на одно событие меньше.
Вот кстати, если уж тут началось такое интенсивное использование
eventfd, то почему бы семафоры (или как вы их там называете -- busy
locks) не сделать на eventfd?
А именно, если завершилось получение ресурса, которого ждут запросы из
другого воркера, то возобновлять их через eventfd?
--
Best regards,
Valery Kholodkov
More information about the nginx-ru
mailing list