В пн, 22/10/2007 в 21:27 +0400, Igor Sysoev пишет:
> On Mon, Oct 22, 2007 at 06:38:31PM +0300, MZ wrote:
>
> > В пт, 19/10/2007 в 19:59 +0400, Igor Sysoev пишет:
> >
> > > Проблема в том, что FreeBSD не кэширует страницы файлов, исходя из
> > > частоты их использования. Частота использования считается только для
> > > mmap()нутых файлов, то есть, по сути дела, только для исполняемого кода.
> > > Для страниц файлов, которые только читаются или же отдаются sendfile(),
> > > никакой статистики использования не ведётся. Так что, часто читаемые
> > > файлы имееют те же шансы вылететь из памяти, что и редко читаемые.
> >
> > Вынужден не согласиться.
> > Специально пересмотрел сегодня McKusick-а - он говорит что во фре для
> > доступа к данным файлов fs при open/exec используется абсолютно тот же
> > механизм что и для mmap. Страница 215, замечание к pager vnode. Насчет
> > sendfile точно не могу сказать, но кажется что и он суда попадает. Ну и
> > соответственно ведется счетчик использования..
>
> Механизм тот же, а вот статистика использования страниц ведётся только
> для mmap и страниц, которые могут уйти в swap.
>
> См. ответ человека, который в 1999 году сделал sendfile во FreeBSD:
> http://lists.freebsd.org/pipermail/freebsd-current/2007-October/078034.html
> http://lists.freebsd.org/pipermail/freebsd-current/2007-October/078058.html
Правильно ли я понимаю, что проблема только с sendfile. Ведь при обычном
read/write для каждого http-запроса будет обновляться счетчик
использования. В таком случае тем более стоить реализовать поддержку
EBUSY в FreeBSD sendfile.