Re: sendmmsg() Expected Behavior?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



First of all, I apologize for the wrong subject.  It should be recvmmsg() not sendmmsg().

Based on the source code (in my previous email), it doesn't seem like MSG_ALL has any effect (I don't know MSG_ALL exists either).

Yes, I expect (or at least wish) recvmmsg() will return as many packet as possible before timeout, and if timeout is zero, it should keep trying to fill up the buffer until it is full or there is no more packet.

The reason I expect or wish such behavior is that the main idea behind recvmmsg() is that application can reduce the number system call, and so the throughput will go up and latency will go down.

Otherwise, the user could just simply use recvmsg() to mimic what recvmmsg() is doing.

I don't expect recvmsg() returns more than 1 message but I do expect and wish recvmmsg() returns more than 1 message.




On Friday, October 24, 2014 11:41 AM, "Valdis.Kletnieks@xxxxxx" <Valdis.Kletnieks@xxxxxx> wrote:
On Thu, 23 Oct 2014 19:43:07 -0700, Hei Chan said:




> Then, I found that recvmmsg() doesn't return all the packets that queued in 1
> single call.

You want to receive *all* of them?  Call recv() with a *buf and a len
big enough to get a *lot* of msgs, and pass MSG_ALL in the flags.

Why were you expecting recvmsg() to return more than one message?


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux