Re: big picture UDP/IP performance question re 2.6.18 -> 2.6.32

From: Eric Dumazet
Date: Sun Oct 02 2011 - 04:03:50 EST


Le dimanche 02 octobre 2011 Ã 09:21 +0200, Eric Dumazet a Ãcrit :

> You might try to disable any fancy power saving mode in your machine.
> Maybe on your machine, cost to enter/exit deep sleep state is too high.
>
> I see nothing obvious in the profile but userland processing, futex
> calls.

Just to clarify a bit :

Sometimes, optimizing one part of the kernel can have a negative impact
on some workloads because we end up doing more sleep/wakeup of
consumers : Several threads might try to acquire a lock at the same
time, while previously they got no contention.

In 2.6.35, commit c377411f2494a (net: sk_add_backlog() take rmem_alloc
into account) changed backlog limit, avoid taking socket lock on flood,
allowing to receive 200.000 pps on a test machine instead of 100pps.
But the receiver was doing a plain

while (1)
recv(...);

And maximum throughput was reached because task never called
scheduler...



--
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/