* preadv2/pwritev2 rename @ 2014-10-20 21:52 Milosz Tanski [not found] ` <CANP1eJFfGE53PTGR4XYGmr=HBLLdOByJj+GbkQB6+JSdrgtvFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Milosz Tanski @ 2014-10-20 21:52 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Jeff Moyer, Linux API 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). 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. Best, - Milosz -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CANP1eJFfGE53PTGR4XYGmr=HBLLdOByJj+GbkQB6+JSdrgtvFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: preadv2/pwritev2 rename [not found] ` <CANP1eJFfGE53PTGR4XYGmr=HBLLdOByJj+GbkQB6+JSdrgtvFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-10-21 6:42 ` Michael Kerrisk (man-pages) [not found] ` <CAKgNAkjwJ6SH_j_Op+u+p4-0mN-cBVE24Wrt4SyhAiG1MMF9tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-10-21 6:42 UTC (permalink / raw) To: Milosz Tanski; +Cc: Christoph Hellwig, Jeff Moyer, Linux API Hello Milosz, On Mon, Oct 20, 2014 at 11:52 PM, Milosz Tanski <milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org> 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CAKgNAkjwJ6SH_j_Op+u+p4-0mN-cBVE24Wrt4SyhAiG1MMF9tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: preadv2/pwritev2 rename [not found] ` <CAKgNAkjwJ6SH_j_Op+u+p4-0mN-cBVE24Wrt4SyhAiG1MMF9tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2014-10-21 6:53 ` Michael Kerrisk (man-pages) 2014-10-21 20:07 ` H. Peter Anvin 1 sibling, 0 replies; 4+ messages in thread From: Michael Kerrisk (man-pages) @ 2014-10-21 6:53 UTC (permalink / raw) To: Milosz Tanski; +Cc: Christoph Hellwig, Jeff Moyer, Linux API On Tue, Oct 21, 2014 at 8:42 AM, Michael Kerrisk (man-pages) <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > Hello Milosz, > > On Mon, Oct 20, 2014 at 11:52 PM, Milosz Tanski <milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org> 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 Also, please ensure that future iterations of these patches CC linux-api@ as per Documentation/SubmitChecklist. The past ones did not, and so this is the first mention of these system calls that I happened to see. Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: preadv2/pwritev2 rename [not found] ` <CAKgNAkjwJ6SH_j_Op+u+p4-0mN-cBVE24Wrt4SyhAiG1MMF9tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-10-21 6:53 ` Michael Kerrisk (man-pages) @ 2014-10-21 20:07 ` H. Peter Anvin 1 sibling, 0 replies; 4+ messages in thread From: H. Peter Anvin @ 2014-10-21 20:07 UTC (permalink / raw) To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w, Milosz Tanski Cc: Christoph Hellwig, Jeff Moyer, Linux API On 10/20/2014 11:42 PM, Michael Kerrisk (man-pages) wrote: > Hello Milosz, > > On Mon, Oct 20, 2014 at 11:52 PM, Milosz Tanski <milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org> 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. > The splitting of the argument is a calling convention thing (and a rather stupid one at that... we shouldn't do these kinds of things manually.) As such, it is not visible to the user and should not be counted. -hpa ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-10-21 20:07 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-10-20 21:52 preadv2/pwritev2 rename Milosz Tanski [not found] ` <CANP1eJFfGE53PTGR4XYGmr=HBLLdOByJj+GbkQB6+JSdrgtvFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-10-21 6:42 ` Michael Kerrisk (man-pages) [not found] ` <CAKgNAkjwJ6SH_j_Op+u+p4-0mN-cBVE24Wrt4SyhAiG1MMF9tA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-10-21 6:53 ` Michael Kerrisk (man-pages) 2014-10-21 20:07 ` H. Peter Anvin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).