Re: preadv2/pwritev2 rename
From: Michael Kerrisk (man-pages) <hidden>
Date: 2014-10-21 06:42:41
Hello Milosz, On Mon, Oct 20, 2014 at 11:52 PM, Milosz Tanski [off-list ref] wrote:
Christoph and/or Jeff, I updated the patch for 3.18-rc1 and I'm going to resend it as non-RFC as I didn't get comments last time. I only have one stupid question... I'm going to rename the calls to preadv6 and pwritev6 (so it's more like the other syscalls: dup3, accept4, eventfd2) but I'm not sure if i should call it preadv5 or pwritev6 since the offset argument is split into two different arguments (upper and lower part).
It's points like this that show exactly why naming system calls after the number of their arguments is a very bad idea[1]. Please don't do it. pwritev2() and preadv2() are not pretty either, but are marginally better. pwritev_fl() and preadv_fl() (or simialr) might also be okay, I guess.
Also, In our application we were able to get about 20%-30% reduction in response time when using this before queuing in a IO thread pool on the read path. It's a pretty nice win in the real world.
Cheers, Michael http://blog.man7.org/2014/02/system-call-naming-and-numbering.html