DORMANTno replies

[PATCH 0/2]: Software RX flow seperation

From: David Miller <davem@davemloft.net>
Date: 2008-09-18 02:34:51

The other day I got wind that Jens Axboe had this cool
facility he was testing in his block development tree
that allows scheduling softirq work on remote cpus cheaply.

So I ran home from kernel summit as fast as I could and
started trying to make it generic and then try and use it
for networking packet receive processing.

These patches suck as-is, on the networking side.

For example, I do flow seperation for netif_rx(), which for
loopback is a lose for every benchmark I've tried.  For
things like tbench on localhost the cpus are already loaded
already and the RX flow seperation just adds more overhead,
increases latency, and decreases bandwidth.

That's easy to change, just make netif_rx() use

	target_cpu = smp_processor_id();

But for non-NAPI hardware devices it might still make sense.

Next, adding the "struct call_single_data" object to the sk_buff
is also negatively effecting performance.  I have some ideas
to cure that, for example I've always wanted sk_buff to use
a struct list_head instead of it's by-hand list implementation
hacks.

But this patch might improve some routing, firewalling, and
IPSEC gateway configurations when using cards that don't
support RX flow seperation in hardware.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help