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 от этого здорово помогает.
