ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeBSD & Linux disk AIO support



On Sun, Aug 30, 2009 at 11:40:57PM +0200, Valery Kholodkov wrote:

> 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?

Чтобы это работало только в Linux 2.6.22+ ?
Да я даже отдладить это не cмогу.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.