Re: [PATCH] Implementation of the sendgroup() system call

From: Elad Lahav
Date: Mon May 04 2009 - 20:23:58 EST


How much is non negligible in your case?
Please see the following link

http://www.cs.uwaterloo.ca/~elahav/sendgroup/mb_pkt_size.pdf

for a graph showing the (amortised) cost of sending a single packet to a group of 1000 recipients, using one of the three following methods:

1. A user-mode loop of sendmsg() calls
2. A kernel-mode loop of udp_sendmsg() calls
3. A single call to sendgroup()
The cost is measured in cycles and was determined using performance counters.

In this benchmark, savings introduced by sendgroup() are primarily due to the aviodence of multiple system calls, up to a packet size of about 1000 bytes. Obviously, proportions change for different group sizes (though we were able to outperform method 1 with a group size as small as 2).

--Elad
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/