Lennert Buytenhek | 1 Dec 2004 01:11

Re: [E1000-devel] Transmission limit

On Tue, Nov 30, 2004 at 09:25:54AM -0500, jamal wrote:

> > > >  Also from what I understand new HW and MSI can help in the case where
> > > >  pass objects between CPU. Did I dream or did someone tell me that S2IO 
> > > >  could have several TX ring that could via MSI be routed to proper cpu?
> > > 
> > > I am wondering if the per CPU tx/rx irqs are valuable at all. They sound
> > > like more hell to maintain.
> > 
> > On the TX path you'd have qdiscs to deal with as well, no?
> 
> I think management of it would be non-trivial in SMP. Youd have to start
> playing stupid loadbalancing tricks which would reduce the value of
> existence of tx irqs to begin with. 

You mean the management of qdiscs would be non-trivial?

Probably the idea of these kinds of tricks is to skip the qdisc step
altogether.

--L

Scott Feldman | 1 Dec 2004 02:09
Picon
Favicon

Re: [E1000-devel] Transmission limit

Hey, turns out, I know some e1000 tricks that might help get the kpps
numbers up.  

My problem is I only have a P4 desktop system with a 82544 nic running
at PCI 32/33Mhz, so I can't play with the big boys.  But, attached is a
rework of the Tx path to eliminate 1) Tx interrupts, and 2) Tx
descriptor write-backs.  For me, I see a nice jump in kpps, but I'd like
others to try with their setups.  We should be able to get to wire speed
with 60-byte packets.

I'm using pktgen in linux-2.6.9, count = 1000000.

System: Intel 865 (HT 2.6Ghz)
Nic: 82544 PCI 32-bit/33Mhz
Driver: linux-2.6.9 e1000 (5.3.19-k2-NAPI), no Interrupt Delays
                                                                                BEFORE

256 descs
  pkt_size = 60:   253432pps 129Mb/sec errors: 0
  pkt_size = 1500: 56356pps  678Mb/sec errors: 499791
4096 descs
  pkt_size = 60:   254222pps 130Mb/sec errors: 0
  pkt_size = 1500: 52693pps  634Mb/sec errors: 497556

AFTER

Modified driver to turn off Tx interrupts and descriptor write-backs.
Uses a timer to schedule Tx cleanup.  The timer runs at 1ms.  This would
work poorly where HZ=100.  Needed to bump Tx descriptors up to 4096
because 1ms is a lot of time with 60-byte packets at 1GbE.  Every time
(Continue reading)

Martin Lucina | 1 Dec 2004 02:16
Picon
Gravatar

PROBLEM: OOPS in Linux 2.6.9, fib_release_info

All,

I have found a reproducible OOPS in fib_release_info, in the 2.6.9 kernel.
Tested on two different systems, one UP, one SMP, both i386, both w/
CONFIG_PREEMPT=y, both Debian sarge, both w/ iproute2 version 20010824-13.1
(Debian).

Steps to reproduce:

# ip route add unreachable 1.2.3.4/32
# ip route del 1.2.3.4/32
Memory fault
#

Sample OOPS:

ksymoops 2.4.9 on i686 2.6.9+t7220cte.  Options used
     -V (default)
     -K (specified)
     -l /proc/modules (default)
     -o /lib/modules/2.6.9+t7220cte/ (default)
     -m /boot/System.map-2.6.9+t7220cte (specified)

No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Unable to handle kernel NULL pointer dereference at virtual address 00000000
c02bd6c0
*pde = 00000000
Oops: 0002 [#1]
CPU:    0
(Continue reading)

David S. Miller | 1 Dec 2004 05:46
X-Face
Favicon

Re: PROBLEM: OOPS in Linux 2.6.9, fib_release_info

On Wed, 1 Dec 2004 02:16:12 +0100
Martin Lucina <mato <at> kotelna.sk> wrote:

> I have found a reproducible OOPS in fib_release_info, in the 2.6.9 kernel.
> Tested on two different systems, one UP, one SMP, both i386, both w/
> CONFIG_PREEMPT=y, both Debian sarge, both w/ iproute2 version 20010824-13.1
> (Debian).

Already fixed in 2.6.10 by this patch.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/25 20:09:20-07:00 ehrhardt <at> mathematik.uni-ulm.de 
#   [IPV4]: Do not try to unhash null-netdev nexthops.
#   
#   Signed-off-by: Christian Ehrhardt <ehrhardt <at> mathematik.uni-ulm.de>
#   Signed-off-by: David S. Miller <davem <at> davemloft.net>
# 
# net/ipv4/fib_semantics.c
#   2004/10/25 20:09:01-07:00 ehrhardt <at> mathematik.uni-ulm.de +2 -0
#   [IPV4]: Do not try to unhash null-netdev nexthops.
#   
#   Signed-off-by: Christian Ehrhardt <ehrhardt <at> mathematik.uni-ulm.de>
#   Signed-off-by: David S. Miller <davem <at> davemloft.net>
# 
diff -Nru a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
--- a/net/ipv4/fib_semantics.c	2004-11-30 20:22:10 -08:00
+++ b/net/ipv4/fib_semantics.c	2004-11-30 20:22:10 -08:00
 <at>  <at>  -163,6 +163,8  <at>  <at> 
(Continue reading)

a10.net | 1 Dec 2004 06:01
Picon
Favicon

 寒いですか?

いいね〜今週も最高です!
http://iidote.info/kinjyo

****メルマガ解除/問い合わせ****
広東省 藩 浩
yotsuba_kouyou <at> yahoo.co.jp
*******************************

David S. Miller | 1 Dec 2004 06:46
X-Face
Favicon

Re: [PATCH] tcp: efficient port randomisation (revised)

On Wed, 17 Nov 2004 15:30:25 -0800
Stephen Hemminger <shemminger <at> osdl.org> wrote:

> Here is a more conservative version of earlier patch vthat keeps the
> same port rover locking and global port rover. This randomizes TCP
> ephemeral ports of incoming connections using variation of existing
> sequence number hash.
> 
> Thanks to original author Michael Larsen. 
> http://www.ietf.org/internet-drafts/draft-larsen-tsvwg-port-randomisation-00.txt
> 
> It behaves correctly if someone is perverse and sets low > high
> and it separates the outgoing port rover (tcp_port_rover) from the
> incoming port rover (start_rover).

I'm fine with this patch semantically.  What do the
before/after microbenchmarks look like?  We're adding
a MD4 transform plus a modulus for every local port
select operation.

David S. Miller | 1 Dec 2004 06:49
X-Face
Favicon

Re: [PATCH] UDP select handling of bad checksums.

On Mon, 22 Nov 2004 10:09:07 -0800
Stephen Hemminger <shemminger <at> osdl.org> wrote:

> Alternate workaround for blocking usage of select() by UDP applications.

Ok, I've applied this to my 2.6.x tree.

Please provide a 2.4.x backport, it needs this too.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

David S. Miller | 1 Dec 2004 07:01
X-Face
Favicon

Re: FIB reorg (1)

On Wed, 24 Nov 2004 20:09:42 +0100
Robert Olsson <Robert.Olsson <at> data.slu.se> wrote:

> rtmsg_fib() can be made a bit more generic and put in fib_semantics.c
> something like below. 

Looks nice.  I've made a minor modification as I applied it to
my 2.6.11 pending tree.

We have a private header for routines shared between
fib_hash and fib_semantics, namely net/ipv4/fib_lookup.h
so that's where I placed the rtmsg_fib() extern declaration.

This is the final patch I applied.

Thanks Robert.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/11/30 21:37:16-08:00 davem <at> nuts.davemloft.net 
#   [IPV4]: FIB cleanup, rtmsg_fib()
#   
#   Based largely upon a patch by Robert Olsson.
#   
#   Abstract out rtmsg_fib() so that it does not depend
#   upon fib_hash internal datastructures, move it to
#   fib_semantics.c
#   
#   Signed-off-by: David S. Miller <davem <at> davemloft.net>
(Continue reading)

David S. Miller | 1 Dec 2004 07:10
X-Face
Favicon

Re: FIB reorg (2)

On Wed, 24 Nov 2004 20:16:01 +0100
Robert Olsson <Robert.Olsson <at> data.slu.se> wrote:

> And a variant of fib_find_alias for fib_semantics

Applied to my 2.6.11 pending tree.

I made the same fixup here as I did for the
first FIB reorg patch, namely making use of
the net/ipv4/fib_lookup.h header file.

Thanks Robert.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/11/30 21:45:25-08:00 robert.olsson <at> data.slu.se 
#   [IPV4]: FIB cleanup, fib_find_alias()
#   
#   Abstract out fib_node arg usage in fib_find_alias(),
#   move to fib_semantics.c
#   
#   Signed-off-by: David S. Miller <davem <at> davemloft.net>
# 
# net/ipv4/fib_semantics.c
#   2004/11/30 21:44:45-08:00 robert.olsson <at> data.slu.se +18 -0
#   [IPV4]: FIB cleanup, fib_find_alias()
# 
# net/ipv4/fib_lookup.h
#   2004/11/30 21:44:45-08:00 robert.olsson <at> data.slu.se +2 -0
(Continue reading)

David S. Miller | 1 Dec 2004 07:16
X-Face
Favicon

Re: FIB reorg (3)

On Wed, 24 Nov 2004 20:19:09 +0100
Robert Olsson <Robert.Olsson <at> data.slu.se> wrote:

> And also fib_detect_death.

Also applied to my 2.6.11 pending tree with the
fib_lookup.h usage fixup.

Thanks Robert.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/11/30 21:51:06-08:00 robert.olsson <at> data.slu.se 
#   [IPV4]: FIB cleanup, fib_detect_death()
#   
#   Remove dependancy upon fib_hash specific
#   fn_hash_select_dflt and move it over to
#   fib_semantics.c
#   
#   Signed-off-by: David S. Miller <davem <at> davemloft.net>
# 
# net/ipv4/fib_semantics.c
#   2004/11/30 21:50:04-08:00 robert.olsson <at> data.slu.se +23 -0
#   [IPV4]: FIB cleanup, fib_detect_death()
# 
# net/ipv4/fib_lookup.h
#   2004/11/30 21:50:04-08:00 robert.olsson <at> data.slu.se +3 -0
#   [IPV4]: FIB cleanup, fib_detect_death()
# 
(Continue reading)


Gmane