On 2/2/16, 10:23 AM, "Gregory Farnum" <gfarnum@xxxxxxxxxx> wrote: >On Tue, Feb 2, 2016 at 10:06 AM, Snyder, Emile <emsnyder@xxxxxxxx> wrote: >> Hi all, >> >> I was wondering if anyone had any insights as to the status of http://tracker.ceph.com/projects/ceph/wiki/Zero-copy_bufferlists? Poking around in the buffer code I see that there is some code there to handle zero copy with buffer::raw, but that it's disabled (the if (false && read_fd_zero_copy(fd, len) == 0) in buffer::list::read_fd), and that the read path for osd's using FileStore doesn't appear to go through buffer anyway (FileStore::read uses safe_pread) >> >> >> >> Was this direction determined to not be worth it, or is it just that no one has had the time to keep pursuing it? > >I didn't do any of this work, but I think there ended up being (a) not >enough time available, and (b) some issue with using pipes as >described there — the overhead was too high for the typical amount of >memory we use in a buffer, maybe? Or we were just trying to allocate >too many pipes for the kernel to handle well, or for us to handle, or >something. Ah, thanks, I was wondering about the effect of all the requied ::pipe() calls. -emile >-Greg ��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f