Hi Boris, thanks for working on this. A few comments:
- do you have any performance data on calling *mmsg() versus multiple invocations of the equivalent *msg() ? - in the following chunk in recvmmsg.c , there are slight type differences between the function and the internal cast. Same in sendmmsg.c +ssize_t +recvmmsg(int s, struct mmsghdr *msgvec, unsigned int vlen, int flags) +{ + + return (((int (*)(int, struct mmsghdr *, int, int)) + __libc_interposing[INTERPOS_recvmmsg])(s, msgvec, vlen, flags)); +} - why did you add a cap_rights_init() to the functions when neither sendmsg or recvmsg have it (in other words, this is a worthwhile addition but perhaps should be done later - the initial part of the two functions sys_*mmsg() is almost exactly the same so can you define a function with the common code ? - you could probably avoid the repeated malloc/free of the iov with a first loop that finds the max iov size and does the allocation only once. copyiniov can then be replaced by a copyin - (minor) what is the point of copying the current entry into msg rather than just using mp-> ... - can you add a comment explaining why you do the following error = copyout(&td->td_retval[0], &uap->msgvec[i].msg_len, sizeof(td->td_retval[0])); cheers luigi On Thu, Jan 7, 2016 at 1:51 AM, Boris Astardzhiev <boris.astardzh...@gmail.com> wrote: > Hello, > > Here's my implementation of the two system calls. The patch is against HEAD > from a couple of days: > commit ff9e83788d7ed52342dcba4dff1e62fdf3cc985c > Author: ngie <n...@freebsd.org> > Date: Mon Jan 4 03:34:22 2016 +0000 > > Remove free'ing of an uninitialized variable > > Just remove it completely from the test as it's initialized but unused > apart > from the free(3) call > > Differential Revision: https://reviews.freebsd.org/D4769 (part of > larger diff) > MFC after: 5 days > Reported by: cppcheck > Reviewed by: oshogbo > Sponsored by: EMC / Isilon Storage Division > > I've made brief tests using the examples in the manpages in Linux skipping > the timeout stuff: > http://man7.org/linux/man-pages/man2/sendmmsg.2.html > http://man7.org/linux/man-pages/man2/recvmmsg.2.html > > I've tried to stick to the comments in the thread but any > suggestions/testings > are also welcomed so that I can fix the calls accordingly. > > Regards, > Boris Astardzhiev > > > On Mon, Jan 4, 2016 at 11:07 PM, Mark Delany <c...@romeo.emu.st> wrote: > >> > You just repeat arguments for the text in my messages, which you removed >> > on reply. >> >> My goal is to get you to scruitinize. >> >> Thank you for helping. >> >> >> Mark. >> _______________________________________________ >> freebsd-net@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-net >> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" >> > > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" -- -----------------------------------------+------------------------------- Prof. Luigi RIZZO, ri...@iet.unipi.it . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2217533 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+------------------------------- _______________________________________________ freebsd-net@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"