On 03.02.2014 22:12, Slawa Olhovchenkov wrote:
> On Mon, Feb 03, 2014 at 09:49:29PM +0700, Eugene Grosbein wrote:
> 
>> On 03.02.2014 18:36, Slawa Olhovchenkov wrote:
>>
>>> на zfs sendfile смысла не имеет вообще.
>>
>> Почему?
> 
> потому что он не умеет напрямую в буфера ZFS/ARC и будет выполнять
> копирование оттуда в свои буфера.

Всё равно на одно копирование меньше, иначе было бы два -
из kernel space в user space и обратно.

> а оверхед на сискол нынче на самом деле довольно мал.

Я бы так не сказал, он очень заметен. natd не ускорился резко.

>>> т.е. у него и так смысла не очень много, а на zfs вообще нет.
>> Смысл sendfile в уменьшении оверхеда на ненужные переключения контекста 
>> во-первых,
>> и на копирование данных из kernel space в user-space и обратно во-вторых,
>> и на mmap в третьих. Выигрыш вполне заметен, я замерял.
> 
> нынче уже не копируется,

Где не копируется? Альтернатива sendfile'у это цикл с копированием или mmap.

> оверхед на сискол тоже невелик на современных
> процах.
> на TCPшные таймеры мощи надо на порядки больше.

Когда voluntary context switches начинают зашкаливать, это катастрофа.
sendfile от этого здорово помогает.

Ответить