Re: [PATCH] poll: Avoid extra wakeups in select/poll
From: Eric Dumazet <hidden>
Date: 2009-04-28 20:06:34
Also in:
lkml
Christoph Lameter a écrit :
For the udpping test load these patches have barely any effect: git2p1 is the first version of the patch git2p2 is the second version (this one)
But... udpping does *not* use poll() nor select(), unless I am mistaken ?
If you really want to test this patch with udpping, you might add a poll() call
before recvfrom() :
while(1) {
+ struct pollfd pfd = { .fd = sock, .events = POLLIN};
+ poll(pfd, 1, -1);
nbytes = recvfrom(sock, msg, min(inblocksize, sizeof(msg)),
0, &inad, &inadlen);
if (nbytes < 0) {
perror("recvfrom");
break;
}
if (sendto(sock, msg, nbytes, 0, &inad, inadlen) < 0) {
perror("sendto");
break;
}
}
Part about recvfrom() wakeup avoidance is in David net-2.6 tree, and saves 2 us on udpping here.
Is it what you call git2p1 ?