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)
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().
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
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