Two Dual Core processors and NICS (not handling interrupts on one CPU/assigning a Two Dual Core processors and NICS (not handling interrupts on one CPU / assigning a CPU to a NIC)

2007-01-15 Thread Mark Ryden

Hello,


I have a machine with 2 dual core CPUs. This machine runs Fedora Core 6.
I have two Intel e1000 GigaBit network cards on this machine; I use bonding so
that the machine assigns the same IP address to both NICs ;
It seems to me that bonding is configured OK, bacuse when running:
"cat /proc/net/bonding/bond0"
I get:

Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: .

Slave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: 

(And the Permanent HW addr is diffenet in these two entries).

I send a large amount of packets to this machine (more than 20,000 in
a second).

cat /proc/interrupts shops something like this:
CPU0   CPU1 CPU2 CPU3
50:3359337  0  0  0 PCI-MSI  eth0
58: 493396136  0  0 PCI-MSI  eth1

CPU0 and CPU1 are of the first CPU as far as I understand ; so
this means as far as I understand that the second CPU (which has CPU3
and CPU4) does not handle
interrupts of the arrived packets; Can I somehow change it so the second
CPU will also handle network interrupts of receiving packets on the nic ?

Can I assign one CPU to  eth0 and the second CPU to eth1  ?

Regards,
Mark
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] remove not used code: target hw address (tha) definition and assignment in arp_process().

2007-12-19 Thread Mark Ryden
Hello,
  In arp_process() (net/ipv4/arp.c), there is unused code: definition
and assignment of tha (target hw address ).


Signed-off-by:
[EMAIL PROTECTED]
diff --git a/a/net/ipv4/arp.c b/b/net/ipv4/arp.c
index 14dec92..6f26cfe 100644
--- a/a/net/ipv4/arp.c
+++ b/b/net/ipv4/arp.c
@@ -706,7 +706,7 @@ static int arp_process(struct sk_buff *skb)
 	struct arphdr *arp;
 	unsigned char *arp_ptr;
 	struct rtable *rt;
-	unsigned char *sha, *tha;
+	unsigned char *sha;
 	__be32 sip, tip;
 	u16 dev_type = dev->type;
 	int addr_type;
@@ -771,7 +771,6 @@ static int arp_process(struct sk_buff *skb)
 	arp_ptr += dev->addr_len;
 	memcpy(&sip, arp_ptr, 4);
 	arp_ptr += 4;
-	tha	= arp_ptr;
 	arp_ptr += dev->addr_len;
 	memcpy(&tip, arp_ptr, 4);
 /*


Compiling as a module using the 2.6.25 git tree

2008-01-16 Thread Mark Ryden
Hello,

A question about compiling as module using the 2.6.25 git tree:
I had git cloned the 2.6.25 DaveM tree.
I ran "make menuconfig".
In many cases I see in the help:
"To compile this code as a module, choose M here: the
 module will be called ..."
For example, in "Packet Generator" or in 802.1d Etherent Bridging
(CONFIG_BRIDGE).

However, I cannot choose 'M' here ; the toggle is only between
building into the kernel ('*')
or not.

BRIDGE depends (according to the help) only on CONFIG_NET and I have
CONFIG_NET selected.
more .config | grep  CONFIG_INET
CONFIG_INET=y

Also llc is configured: (though in fact bridge selects llc).
more .config | grep LLC
CONFIG_LLC=y
CONFIG_LLC2=y

And in the Kconfig file we have:
config BRIDGE
tristate "802.1d Ethernet Bridging"


When I try "make menuconfig" on the kernel of a distro (like FC8) I
**can** choose
bridge as a module. (I see it as 'M').

Any ideas why? Is is something due to using the git tree?

Mark
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html