* [PATCH][31/37] Clean up duplicate includes in net/sched/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Andrew Morton, Jesper Juhl, Alexey Kuznetsov, Jamal Hadi Salim,
David S Miller, netdev
Hi,
This patch cleans up duplicate includes in
net/sched/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index bf90e60..6085be5 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -16,7 +16,6 @@
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/skbuff.h>
-#include <linux/module.h>
#include <linux/rtnetlink.h>
#include <linux/init.h>
#include <net/act_api.h>
^ permalink raw reply related
* [PATCH][30/37] Clean up duplicate includes in net/netfilter/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Andrew Morton, Jesper Juhl, netdev, David S Miller, Harald Welte,
netfilter-devel, Rusty Russell, James Morris, Patrick McHardy,
Netfilter Core Team, Bart De Schuymer
Hi,
This patch cleans up duplicate includes in
net/netfilter/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c
index 87ad3cc..eb3fe74 100644
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -8,7 +8,6 @@
#include <linux/types.h>
#include <linux/timer.h>
-#include <linux/netfilter.h>
#include <linux/module.h>
#include <linux/in.h>
#include <linux/tcp.h>
diff --git a/net/netfilter/nf_conntrack_proto_udp.c b/net/netfilter/nf_conntrack_proto_udp.c
index 13d94a0..2a2fd1a 100644
--- a/net/netfilter/nf_conntrack_proto_udp.c
+++ b/net/netfilter/nf_conntrack_proto_udp.c
@@ -9,7 +9,6 @@
#include <linux/types.h>
#include <linux/timer.h>
#include <linux/module.h>
-#include <linux/netfilter.h>
#include <linux/udp.h>
#include <linux/seq_file.h>
#include <linux/skbuff.h>
diff --git a/net/netfilter/nf_conntrack_proto_udplite.c b/net/netfilter/nf_conntrack_proto_udplite.c
index 93e747b..b906b41 100644
--- a/net/netfilter/nf_conntrack_proto_udplite.c
+++ b/net/netfilter/nf_conntrack_proto_udplite.c
@@ -10,7 +10,6 @@
#include <linux/types.h>
#include <linux/timer.h>
#include <linux/module.h>
-#include <linux/netfilter.h>
#include <linux/udp.h>
#include <linux/seq_file.h>
#include <linux/skbuff.h>
diff --git a/net/netfilter/xt_physdev.c b/net/netfilter/xt_physdev.c
index f47cab7..a4bab04 100644
--- a/net/netfilter/xt_physdev.c
+++ b/net/netfilter/xt_physdev.c
@@ -13,7 +13,6 @@
#include <linux/netfilter_bridge.h>
#include <linux/netfilter/xt_physdev.h>
#include <linux/netfilter/x_tables.h>
-#include <linux/netfilter_bridge.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Bart De Schuymer <bdschuym@pandora.be>");
^ permalink raw reply related
* [PATCH][29/37] Clean up duplicate includes in net/ipv6/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List, Pedro Roque
Cc: Andrew Morton, Jesper Juhl, David S Miller, netdev,
Hideaki YOSHIFUJI, Pekka Savola
Hi,
This patch cleans up duplicate includes in
net/ipv6/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index d67fb1e..db50114 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -56,7 +56,6 @@
#include <net/inet_ecn.h>
#include <net/protocol.h>
#include <net/xfrm.h>
-#include <net/addrconf.h>
#include <net/snmp.h>
#include <net/dsfield.h>
#include <net/timewait_sock.h>
^ permalink raw reply related
* [PATCH][27/37] Clean up duplicate includes in net/bridge/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Andrew Morton, Jesper Juhl, netdev, bridge, Stephen Hemminger,
David S Miller, Bart De Schuymer, Harald Welte, netfilter-devel,
Rusty Russell, Marc Boucher, James Morris, Patrick McHardy
Hi,
This patch cleans up duplicate includes in
net/bridge/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/bridge/netfilter/ebt_log.c b/net/bridge/netfilter/ebt_log.c
index 031bfa4..89d0d59 100644
--- a/net/bridge/netfilter/ebt_log.c
+++ b/net/bridge/netfilter/ebt_log.c
@@ -9,7 +9,6 @@
*
*/
-#include <linux/in.h>
#include <linux/netfilter_bridge/ebtables.h>
#include <linux/netfilter_bridge/ebt_log.h>
#include <linux/netfilter.h>
diff --git a/net/bridge/netfilter/ebt_ulog.c b/net/bridge/netfilter/ebt_ulog.c
index 9411db6..a31402a 100644
--- a/net/bridge/netfilter/ebt_ulog.c
+++ b/net/bridge/netfilter/ebt_ulog.c
@@ -36,7 +36,6 @@
#include <linux/timer.h>
#include <linux/netlink.h>
#include <linux/netdevice.h>
-#include <linux/module.h>
#include <linux/netfilter_bridge/ebtables.h>
#include <linux/netfilter_bridge/ebt_ulog.h>
#include <net/sock.h>
^ permalink raw reply related
* [PATCH][26/37] Clean up duplicate includes in net/atm/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Andrew Morton, Jesper Juhl, netdev, Marko Kiiskila, Chas Williams,
David S Miller
Hi,
This patch cleans up duplicate includes in
net/atm/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/atm/lec.c b/net/atm/lec.c
index 2770fb4..59d5aa3 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -21,7 +21,6 @@
#include <net/dst.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
-#include <linux/proc_fs.h>
#include <linux/seq_file.h>
/* TokenRing if needed */
^ permalink raw reply related
* [PATCH][33/37] Clean up duplicate includes in net/tipc/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Jon Maloy, Per Liden, netdev, Jesper Juhl, tipc-discussion,
Allan Stephens, Andrew Morton, David S Miller
Hi,
This patch cleans up duplicate includes in
net/tipc/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/tipc/port.c b/net/tipc/port.c
index 5d2b9ce..7608815 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -41,7 +41,6 @@
#include "addr.h"
#include "link.h"
#include "node.h"
-#include "port.h"
#include "name_table.h"
#include "user_reg.h"
#include "msg.h"
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply related
* [PATCH][28/37] Clean up duplicate includes in net/ipv4/
From: Jesper Juhl @ 2007-07-21 15:03 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Alan Cox, waltje, Donald Becker, Harald Welte, netdev,
Jesper Juhl, netfilter-devel, Stefan Becker, Fabio Olive Leite,
Wensong Zhang, Hirokazu Takahashi, Julian Anastasov, Jorge Cwik,
Arnt Gulbrandsen, FredNvanKempen, Andrew Morton, David S Miller,
Peter Kese
Hi,
This patch cleans up duplicate includes in
net/ipv4/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index c9e2b5e..0f1d7be 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -75,7 +75,6 @@
#include <net/icmp.h>
#include <net/checksum.h>
#include <net/inetpeer.h>
-#include <net/checksum.h>
#include <linux/igmp.h>
#include <linux/netfilter_ipv4.h>
#include <linux/netfilter_bridge.h>
diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c
index e1052bc..c32781d 100644
--- a/net/ipv4/ipvs/ip_vs_ctl.c
+++ b/net/ipv4/ipvs/ip_vs_ctl.c
@@ -29,7 +29,6 @@
#include <linux/proc_fs.h>
#include <linux/workqueue.h>
#include <linux/swap.h>
-#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/netfilter.h>
diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c
index dcc12b1..69bd362 100644
--- a/net/ipv4/netfilter/ipt_CLUSTERIP.c
+++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c
@@ -19,7 +19,6 @@
#include <linux/udp.h>
#include <linux/icmp.h>
#include <linux/if_arp.h>
-#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/netfilter_arp.h>
#include <linux/netfilter/x_tables.h>
^ permalink raw reply related
* [PATCH][12/37] Clean up duplicate includes in drivers/net/
From: Jesper Juhl @ 2007-07-21 15:02 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: info, Patrick McHardy, Judy Fischbach, Luke Yang, bonding-devel,
Bryan Wu, kong.lai, Jay Vosburgh, James Morris, linuxppc-embedded,
Alexey Kuznetsov, Alex V Lasso, Ulrich Kunitz, Chad Tindel,
Amit S Kale, Jay Cliburn, Samuel Ortiz, Brian Pugh, Daniel Drake,
Chris Snook, alexandre.bounine, Pantelis Antoniou, netdev,
Jesper Juhl, linux-wireless, Ralf Baechle, Vitaly
Hi,
This patch cleans up duplicate includes in
drivers/net/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index fd1e156..4a18b88 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -75,7 +75,6 @@
#include <linux/compiler.h>
#include <linux/delay.h>
#include <linux/mii.h>
-#include <linux/interrupt.h>
#include <net/checksum.h>
#include <asm/atomic.h>
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 9a08d65..01281ee 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -47,15 +47,10 @@
#include <linux/spinlock.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
-
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
-
#include <linux/platform_device.h>
-#include <linux/netdevice.h>
-#include <linux/etherdevice.h>
-#include <linux/skbuff.h>
#include <asm/dma.h>
#include <linux/dma-mapping.h>
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 60cccf2..9afd172 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -31,7 +31,6 @@
#include <linux/inetdevice.h>
#include <linux/in.h>
#include <linux/sysfs.h>
-#include <linux/string.h>
#include <linux/ctype.h>
#include <linux/inet.h>
#include <linux/rtnetlink.h>
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index a4a2a0e..27de3d8 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -39,8 +39,6 @@
#include <linux/vmalloc.h>
#include <asm/pgtable.h>
-
-#include <asm/pgtable.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index d8e779c..43c8668 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -45,7 +45,6 @@
#include <linux/crc32.h>
#include <linux/workqueue.h>
#include <linux/ethtool.h>
-#include <linux/netdevice.h>
#include <linux/fsl_devices.h>
#include "gianfar_mii.h"
diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c
index 7b411c1..2470903 100644
--- a/drivers/net/gianfar_ethtool.c
+++ b/drivers/net/gianfar_ethtool.c
@@ -34,7 +34,6 @@
#include <linux/module.h>
#include <linux/crc32.h>
#include <asm/types.h>
-#include <asm/uaccess.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/phy.h>
diff --git a/drivers/net/irda/kingsun-sir.c b/drivers/net/irda/kingsun-sir.c
index bdd5c97..4c0d379 100644
--- a/drivers/net/irda/kingsun-sir.c
+++ b/drivers/net/irda/kingsun-sir.c
@@ -66,7 +66,6 @@
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
-#include <linux/module.h>
#include <linux/kref.h>
#include <linux/usb.h>
#include <linux/device.h>
diff --git a/drivers/net/irda/mcs7780.c b/drivers/net/irda/mcs7780.c
index 0de8672..bfc5752 100644
--- a/drivers/net/irda/mcs7780.c
+++ b/drivers/net/irda/mcs7780.c
@@ -50,7 +50,6 @@
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
-#include <linux/module.h>
#include <linux/kref.h>
#include <linux/usb.h>
#include <linux/device.h>
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index 9853c74..c0f5ad3 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -11,7 +11,6 @@
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
-#include <linux/netdevice.h>
#include <linux/platform_device.h>
#include <asm/io.h>
#include <asm/mips-boards/simint.h>
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index b703ccf..6ba8e07 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -39,7 +39,6 @@
#include "netxen_nic_phan_reg.h"
#include <linux/dma-mapping.h>
-#include <linux/vmalloc.h>
#include <net/ip.h>
MODULE_DESCRIPTION("NetXen Multi port (1/10) Gigabit Network Driver");
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index 8be8be4..c2fc2f7 100755
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -31,7 +31,6 @@
#include <linux/skbuff.h>
#include <linux/rtnetlink.h>
#include <linux/if_vlan.h>
-#include <linux/init.h>
#include <linux/delay.h>
#include <linux/mm.h>
diff --git a/drivers/net/tsi108_eth.c b/drivers/net/tsi108_eth.c
index 1aabc91..a059f3d 100644
--- a/drivers/net/tsi108_eth.c
+++ b/drivers/net/tsi108_eth.c
@@ -47,7 +47,6 @@
#include <linux/rtnetlink.h>
#include <linux/timer.h>
#include <linux/platform_device.h>
-#include <linux/etherdevice.h>
#include <asm/system.h>
#include <asm/io.h>
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h
index 626a240..9c973b9 100644
--- a/drivers/net/wireless/ipw2200.h
+++ b/drivers/net/wireless/ipw2200.h
@@ -45,7 +45,6 @@
#include <linux/firmware.h>
#include <linux/wireless.h>
-#include <linux/dma-mapping.h>
#include <linux/jiffies.h>
#include <asm/io.h>
diff --git a/drivers/net/wireless/zd1211rw/zd_def.h b/drivers/net/wireless/zd1211rw/zd_def.h
index deb99d1..505b4d7 100644
--- a/drivers/net/wireless/zd1211rw/zd_def.h
+++ b/drivers/net/wireless/zd1211rw/zd_def.h
@@ -21,7 +21,6 @@
#include <linux/kernel.h>
#include <linux/stringify.h>
#include <linux/device.h>
-#include <linux/kernel.h>
typedef u16 __nocast zd_addr_t;
^ permalink raw reply related
* Re: [RFC 0/1] lro: Generic Large Receive Offload for TCP traffic
From: Andrew Gallatin @ 2007-07-21 14:03 UTC (permalink / raw)
To: Jan-Bernd Themann
Cc: netdev, Christoph Raisch, Jan-Bernd Themann, linux-kernel,
linux-ppc, Marcus Eder, Thomas Klein, Stefan Roscher,
David Miller, Jeff Garzik, Evgeniy Polyakov
In-Reply-To: <200707201741.45079.ossthema@de.ibm.com>
On 7/20/07, Jan-Bernd Themann <ossthema@de.ibm.com> wrote:
> Hi,
>
> Thanks a lot for your comments so far.
> This generic LRO patch differs from the last one in several points.
> A new interface for a "receive in pages" mode has been added and tested
> with an eHEA prototype. Seems to work well.
>
> Does this extended interface seem to be sufficient?
Thank you for this!
At least for me, I find it is best to try to use an interface rather
than simply reading a diff. So I will port Myri10GE to use the new
interface so that I can give better feedback, I'll try my best to do
this by early next week.
Thank you again,
Drew
^ permalink raw reply
* [ofa-general] TCP and batching WAS(Re: [PATCH 00/10] Implement batching skb API
From: jamal @ 2007-07-21 13:46 UTC (permalink / raw)
To: Stephen Hemminger
Cc: johnpol, herbert, gaagaan, Robert.Olsson, kumarkr, rdreier,
peter.p.waskiewicz.jr, mcarlson, kaber, jeff, general, mchan,
tgraf, netdev, sri, jagana, davem
In-Reply-To: <20070720081848.7cc652fb@oldman>
On Fri, 2007-20-07 at 08:18 +0100, Stephen Hemminger wrote:
> You may see worse performance with batching in the real world when
> running over WAN's. Like TSO, batching will generate back to back packet
> trains that are subject to multi-packet synchronized loss.
Has someone done any study on TSO effect? Doesnt ECN with a RED router
help on something like this?
I find it suprising that a single flow doing TSO would overwhelm a
routers buffer. I actually think the value of batching as far as TCP is
concerned is propotional to the number of flows. i.e the more flows you
have the more batching you will end up doing. And if TCPs fairness is
the legend talk it has been made to be, then i dont see this as
problematic.
BTW, something i noticed regards to GSO when testing batching:
For TCP packets slightly above MDU (upto 2K), GSO gives worse
performance than non-GSO. Actually has nothing to do with batching,
rather it works the same way with or without batching changes.
Another oddity:
Looking at the flow rate from a purely packets/second (I know thats a
router centric view, but i found it strange nevertheless) - you see that
as packet size goes up, the pps also goes up. I tried mucking around
with nagle etc, but saw no observable changes. Any insight?
My expectation was that the pps would stay at least the same or get
better with smaller packets (assuming theres less data to push around).
cheers,
jamal
^ permalink raw reply
* NFS mount gives ENETDOWN in -git15
From: Andi Kleen @ 2007-07-21 13:31 UTC (permalink / raw)
To: netdev, trond.myklebust; +Cc: linux-kernel
I tried to mount another nfs mount on a system running with nfsroot.
But I get
# mount basil:/home /basil/home/
mount: Network is down
The network is not down of course, the system is happily running with nfs root from that
server. Userland is older SUSE 10.0
Excerpt from strace mount:
-Andi
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
bind(3, {sa_family=AF_INET, sin_port=htons(938), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
bind(3, {sa_family=AF_INET, sin_port=htons(939), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(900), sin_addr=inet_addr("10.23.204.1")}, 16) = 0
uname({sys="Linux", node="bigfoot", ...}) = 0
geteuid() = 0
getegid() = 0
getgroups(0, NULL) = 1
getgroups(1, [0]) = 1
gettimeofday({1185029510, 644658}, NULL) = 0
write(3, "\200\0\0Td*\362{\0\0\0\0\0\0\0\2\0\1\206\245\0\0\0\2\0"..., 88) = 88
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 20000) = 1
read(3, "\200\0\0<d*\362{\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4000) = 64
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 5
bind(5, {sa_family=AF_INET, sin_port=htons(939), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
bind(5, {sa_family=AF_INET, sin_port=htons(940), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 6
bind(6, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(6, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("10.23.204.1")}, 16) = 0
write(6, "\200\0\0008i \25\301\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0"..., 60) = 60
poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 60000) = 1
read(6, "\200\0\0\34i \25\301\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400) = 32
close(6) = 0
uname({sys="Linux", node="bigfoot", ...}) = 0
close(3) = 0
close(3) = -1 EBADF (Bad file descriptor)
rt_sigprocmask(SIG_BLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
mount("basil:/home", "/basil/home/", "nfs", MS_POSIXACL|MS_ACTIVE|MS_NOUSER|0xec0000, 0x51ba60) = -1 ENETDOWN (Network is down)
^ permalink raw reply
* [ofa-general] Re: [PATCH 00/10] Implement batching skb API
From: jamal @ 2007-07-21 13:18 UTC (permalink / raw)
To: Krishna Kumar
Cc: johnpol, Robert.Olsson, herbert, gaagaan, kumarkr, rdreier,
peter.p.waskiewicz.jr, mcarlson, kaber, jeff, general, mchan,
tgraf, netdev, sri, jagana, davem
In-Reply-To: <20070720063149.26341.84076.sendpatchset@localhost.localdomain>
I am (have been) under extreme travel mode - so i will have high latency
in follow ups.
On Fri, 2007-20-07 at 12:01 +0530, Krishna Kumar wrote:
> Hi Dave, Roland, everyone,
>
> In May, I had proposed creating an API for sending 'n' skbs to a driver to
> reduce lock overhead, DMA operations, and specific to drivers that have
> completion notification like IPoIB - reduce completion handling ("[RFC] New
> driver API to speed up small packets xmits" @
> http://marc.info/?l=linux-netdev&m=117880900818960&w=2). I had also sent
> initial test results for E1000 which showed minor improvements (but also
> got degradations) @http://marc.info/?l=linux-netdev&m=117887698405795&w=2.
>
Add to that context: that i have been putting out patches on this over
the last 3+ years as well as several public presentations = last one
being: http://vger.kernel.org/jamal_netconf2006.sxi
My main problem (and obstacles to submitting the patches) has been a
result of not doing the approriate testing - i had been testing
forwarding path (in all my results post the latest patches) when i
should really have been testing the improvement of the tx path.
> There is a parallel WIP by Jamal but the two implementations are completely
> different since the code bases from the start were separate. Key changes:
> - Use a single qdisc interface to avoid code duplication and reduce
> maintainability (sch_generic.c size reduces by ~9%).
> - Has per device configurable parameter to turn on/off batching.
> - qdisc_restart gets slightly modified while looking simple without
> any checks for batching vs regular code (infact only two lines have
> changed - 1. instead of dev_dequeue_skb, a new batch-aware function
> is called; and 2. an extra call to hard_start_xmit_batch.
> - No change in__qdisc_run other than a new argument (from DM's idea).
> - Applies to latest net-2.6.23 compared to 2.6.22-rc4 code.
All the above are cosmetic differences. To me is the highest priority
is making sure that batching is useful and what the limitations are.
At some point, when all looks good - i dont mind adding an ethtool
interface to turn off/on batching, merge with the new qdisc restart path
instead of having a parallel path, solicit feedback on naming, where to
allocate structs etc etc. All that is low prio if batching across a
variety of hardware and applications doesnt prove useful. At the moment,
i am unsure theres consistency to justify push batching in.
Having said that below are the main architectural differences we have
which is what we really need to discuss and see what proves useful:
> - Batching algo/processing is different (eg. if
> qdisc_restart() finds
> one skb in the batch list, it will try to batch more (upto a limit)
> instead of sending that out and batching the rest in the next call.
This sounds a little more aggressive but maybe useful.
I have experimented with setting upper bound limits (current patches
have a pktgen interface to set the max to send) and have concluded that
it is unneeded. Probing by letting the driver tell you what space is
available has proven to be the best approach. I have been meaning to
remove the code in pktgen which allows these limits.
> - Jamal's code has a separate hw prep handler called from the stack,
> and results are accessed in driver during xmit later.
I have explained the reasoning to this a few times. A recent response to
Michael Chan is here:
http://marc.info/?l=linux-netdev&m=118346921316657&w=2
And heres a response to you that i havent heard back on:
http://marc.info/?l=linux-netdev&m=118355539503924&w=2
My tests so far indicate this interface is useful. It doesnt apply well
to some drivers (for example i dont use it in tun) - which makes it
optional but useful nevertheless. I will be more than happy to kill this
if i can find cases where it proves to be a bad idea.
> - Jamal's code has dev->xmit_win which is cached by the driver. Mine
> has dev->xmit_slots but this is used only by the driver while the
> core has a different mechanism to find how many skbs to batch.
This is related to the first item.
> - Completely different structure/design & coding styles.
> (This patch will work with drivers updated by Jamal, Matt & Michael Chan with
> minor modifications - rename xmit_win to xmit_slots & rename batch handler)
Again, cosmetics (and indication you are morphing towards me).
So if i was to sum up this, (it would be useful discussion to have on
these) the real difference is:
a) you have an extra check on refilling the skb list when you find that
it has a single skb. I tagged this as being potentially useful.
b) You have a check for some upper bound on the number of skbs to send
to the driver. I tagged this as unnecessary - the interface is still on
in my current code, so it shouldnt be hard to show one way or other.
c) You dont have prep_xmit()
Add to that list any other architectural differences i may have missed
and lets discuss and hopefully make some good progress.
cheers,
jaaml
^ permalink raw reply
* Re: [PATCH]: Resurrect napi_poll patch.
From: Andi Kleen @ 2007-07-21 13:26 UTC (permalink / raw)
To: David Miller; +Cc: netdev, shemminger, rusty, jgarzik
In-Reply-To: <20070720.223129.59470764.davem@davemloft.net>
David Miller <davem@davemloft.net> writes:
>
> Good candidates for taking advantage of multi-napi are:
>
> 1) e1000
> 2) ucc_geth
> 3) ehea
> 4) sunvnet
s2io.c
-Andi
^ permalink raw reply
* Re: Linux, tcpdump and vlan
From: Krzysztof Halasa @ 2007-07-21 11:32 UTC (permalink / raw)
To: Ben Greear
Cc: andrei radulescu-banu, Stephen Hemminger, Patrick McHardy,
linux-kernel, Linux Netdev List
In-Reply-To: <46A11C54.2090100@candelatech.com>
Ben Greear <greearb@candelatech.com> writes:
> There is already a flag you can set on vlan devices (reorder-header)
> that strips the VLAN tag before presenting it to user-space.
Sure, but isn't it only valid for VLAN device (not the main ethX)?
I.e., can you have the tag stripped from frames captured on ethX?
> On tx, if it shows up on the vlan device, we add that device's VID to
> the header if no VID is currently in the SKB. If it is in the SKB header
> we change the VID to be the tx dev's VID (if it was different). This allows user-space
> to send a raw ethernet frame on a vlan device and have it automatically
> go out of the box on the correct vlan. User-space can also send raw VLAN frames
> and have those also go out on the correct VLAN.
Well... I think the tag should be added unconditionally (for things like
QinQ) but that's trivial and minor.
IOW: I think all Ethernet interfaces should always be VLAN-aware,
stripping the tag (only one) early on RX and adding it late on TX.
That means tcpdump would see packets with exactly one tag removed
(unless there was no tag), in both RX and TX.
Tcpdump would need other means to get VLAN id...
--
Krzysztof Halasa
^ permalink raw reply
* Re: [PATCH 05/10] sch_generic.c changes.
From: Krishna Kumar2 @ 2007-07-21 7:24 UTC (permalink / raw)
To: Krishna Kumar2
Cc: davem, gaagaan, general, hadi, herbert, jagana, jeff, johnpol,
Patrick McHardy, kumarkr, mcarlson, mchan, netdev,
peter.p.waskiewicz.jr, rdreier, rick.jones2, Robert.Olsson, sri,
tgraf, xma
In-Reply-To: <OF206CB1B7.31D1C39B-ON6525731F.00254E4C-6525731F.00261F1A@LocalDomain>
Krishna Kumar2/India/IBM wrote on 07/21/2007 12:26:23 PM:
> Hi Patrick,
>
> Patrick McHardy <kaber@trash.net> wrote on 07/20/2007 11:46:36 PM:
>
> > The check for tx_queue_len is wrong though,
> > its only a default which can be overriden and some qdiscs don't
> > care for it at all.
> I think it should not matter whether qdiscs use this or not, or even if
it
> is modified (unless it is made zero in which case this breaks). The
> intention behind this check is to make sure that not more than
tx_queue_len
> skbs are in all queues put together (q->qdisc + dev->skb_blist),
otherwise
> the blist can become too large and breaks the idea of tx_queue_len. Is
that
> a good justification ?
Also, if tx_queue_len is set to zero, I think my code will not execute and
the existing code will break at rc = q->enqueue() (for sched's checking
queue
limits).
^ permalink raw reply
* [PATCH 1/3] [IrDA] Typo fix in irnetlink.c copyright
From: samuel @ 2007-07-21 8:13 UTC (permalink / raw)
To: davem; +Cc: netdev, irda-users
In-Reply-To: <20070721081304.559769801@sortiz.org>
[-- Attachment #1: patch_irnetlink_email --]
[-- Type: text/plain, Size: 601 bytes --]
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Index: net-2.6-quilt/net/irda/irnetlink.c
===================================================================
--- net-2.6-quilt.orig/net/irda/irnetlink.c 2007-07-21 02:41:24.000000000 +0300
+++ net-2.6-quilt/net/irda/irnetlink.c 2007-07-21 02:43:00.000000000 +0300
@@ -1,7 +1,7 @@
/*
* IrDA netlink layer, for stack configuration.
*
- * Copyright (c) 2007 Samuel Ortiz <samuel@sortiz>
+ * Copyright (c) 2007 Samuel Ortiz <samuel@sortiz.org>
*
* Partly based on the 802.11 nelink implementation
* (see net/wireless/nl80211.c) which is:
--
^ permalink raw reply
* [PATCH 0/3] [IrDA] Updates for 2.6.23-rc1
From: samuel @ 2007-07-21 8:13 UTC (permalink / raw)
To: davem; +Cc: netdev, irda-users
Hi Dave,
Here go 3 minor IrDA patches that could hopefully make it to the merge window.
Cheers,
Samuel.
^ permalink raw reply
* [PATCH 3/3] [IrDA] TOSHIBA_FIR depends on virt_to_bus
From: samuel-jcdQHdrhKHMdnm+yROfE0A @ 2007-07-21 8:13 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: netdev-u79uwXL29TY76Z2rM5mHXA, Andrew Morton, Stephen Rothwell,
irda-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <20070721081304.559769801@sortiz.org>
[-- Attachment #1: patch_fir_tosh --]
[-- Type: text/plain, Size: 1316 bytes --]
From: Stephen Rothwell <sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>
Signed-off-by: Stephen Rothwell <sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org>
Signed-off-by: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Signed-off-by: Samuel Ortiz <samuel-jcdQHdrhKHMdnm+yROfE0A@public.gmane.org>
---
drivers/net/irda/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--
Cheers,
Stephen Rothwell sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org
Index: net-2.6-quilt/drivers/net/irda/Kconfig
===================================================================
--- net-2.6-quilt.orig/drivers/net/irda/Kconfig 2007-07-21 02:40:48.000000000 +0300
+++ net-2.6-quilt/drivers/net/irda/Kconfig 2007-07-21 02:40:48.000000000 +0300
@@ -364,7 +364,7 @@
config TOSHIBA_FIR
tristate "Toshiba Type-O IR Port"
- depends on IRDA && PCI && !64BIT
+ depends on IRDA && PCI && !64BIT && VIRT_TO_BUS
help
Say Y here if you want to build support for the Toshiba Type-O IR
and Donau oboe chipsets. These chipsets are used by the Toshiba
--
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply
* [PATCH 2/3] [IrDA] EP7211 IR driver port to the latest SIR API
From: samuel-jcdQHdrhKHMdnm+yROfE0A @ 2007-07-21 8:13 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
irda-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <20070721081304.559769801@sortiz.org>
[-- Attachment #1: 0001-IrDA-EP7211-IR-driver-port-to-the-latest-SIR-API.patch --]
[-- Type: text/plain, Size: 4782 bytes --]
The EP7211 SIR driver was the only one left without a new SIR API port.
Signed-off-by: Samuel Ortiz <samuel-jcdQHdrhKHMdnm+yROfE0A@public.gmane.org>
---
drivers/net/irda/Kconfig | 9 ++++
drivers/net/irda/Makefile | 1 +
drivers/net/irda/ep7211-sir.c | 89 +++++++++++++++++++++++++++++++++++++++++
include/linux/irda.h | 1 +
4 files changed, 100 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/irda/ep7211-sir.c
Index: net-2.6-quilt/drivers/net/irda/Kconfig
===================================================================
--- net-2.6-quilt.orig/drivers/net/irda/Kconfig 2007-07-21 02:39:53.000000000 +0300
+++ net-2.6-quilt/drivers/net/irda/Kconfig 2007-07-21 02:39:59.000000000 +0300
@@ -155,6 +155,15 @@
To compile it as a module, choose M here: the module will be called
kingsun-sir.
+config EP7211_DONGLE
+ tristate "EP7211 I/R support"
+ depends on IRTTY_SIR && ARCH_EP7211 && IRDA && EXPERIMENTAL
+ help
+ Say Y here if you want to build support for the Cirrus logic
+ EP7211 chipset's infrared module.
+
+
+
comment "Old SIR device drivers"
config IRPORT_SIR
Index: net-2.6-quilt/drivers/net/irda/Makefile
===================================================================
--- net-2.6-quilt.orig/drivers/net/irda/Makefile 2007-07-21 02:39:53.000000000 +0300
+++ net-2.6-quilt/drivers/net/irda/Makefile 2007-07-21 02:39:59.000000000 +0300
@@ -45,6 +45,7 @@
obj-$(CONFIG_ACT200L_DONGLE) += act200l-sir.o
obj-$(CONFIG_MA600_DONGLE) += ma600-sir.o
obj-$(CONFIG_TOIM3232_DONGLE) += toim3232-sir.o
+obj-$(CONFIG_EP7211_DONGLE) += ep7211-sir.o
obj-$(CONFIG_KINGSUN_DONGLE) += kingsun-sir.o
# The SIR helper module
Index: net-2.6-quilt/drivers/net/irda/ep7211-sir.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ net-2.6-quilt/drivers/net/irda/ep7211-sir.c 2007-07-21 02:39:59.000000000 +0300
@@ -0,0 +1,89 @@
+/*
+ * IR port driver for the Cirrus Logic EP7211 processor.
+ *
+ * Copyright 2001, Blue Mug Inc. All rights reserved.
+ * Copyright 2007, Samuel Ortiz <samuel-jcdQHdrhKHMdnm+yROfE0A@public.gmane.org>
+ */
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/tty.h>
+#include <linux/init.h>
+#include <linux/spinlock.h>
+
+#include <net/irda/irda.h>
+#include <net/irda/irda_device.h>
+
+#include <asm/io.h>
+#include <asm/hardware.h>
+
+#include "sir-dev.h"
+
+#define MIN_DELAY 25 /* 15 us, but wait a little more to be sure */
+#define MAX_DELAY 10000 /* 1 ms */
+
+static int ep7211_open(struct sir_dev *dev);
+static int ep7211_close(struct sir_dev *dev);
+static int ep7211_change_speed(struct sir_dev *dev, unsigned speed);
+static int ep7211_reset(struct sir_dev *dev);
+
+static struct dongle_driver ep7211 = {
+ .owner = THIS_MODULE,
+ .driver_name = "EP7211 IR driver",
+ .type = IRDA_EP7211_DONGLE,
+ .open = ep7211_open,
+ .close = ep7211_close,
+ .reset = ep7211_reset,
+ .set_speed = ep7211_change_speed,
+};
+
+static int __init ep7211_sir_init(void)
+{
+ return irda_register_dongle(&ep7211);
+}
+
+static void __exit ep7211_sir_cleanup(void)
+{
+ irda_unregister_dongle(&ep7211);
+}
+
+static int ep7211_open(struct sir_dev *dev)
+{
+ unsigned int syscon;
+
+ /* Turn on the SIR encoder. */
+ syscon = clps_readl(SYSCON1);
+ syscon |= SYSCON1_SIREN;
+ clps_writel(syscon, SYSCON1);
+
+ return 0;
+}
+
+static int ep7211_close(struct sir_dev *dev)
+{
+ unsigned int syscon;
+
+ /* Turn off the SIR encoder. */
+ syscon = clps_readl(SYSCON1);
+ syscon &= ~SYSCON1_SIREN;
+ clps_writel(syscon, SYSCON1);
+
+ return 0;
+}
+
+static int ep7211_change_speed(struct sir_dev *dev, unsigned speed)
+{
+ return 0;
+}
+
+static int ep7211_reset(struct sir_dev *dev)
+{
+ return 0;
+}
+
+MODULE_AUTHOR("Samuel Ortiz <samuel-jcdQHdrhKHMdnm+yROfE0A@public.gmane.org>");
+MODULE_DESCRIPTION("EP7211 IR dongle driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("irda-dongle-13"); /* IRDA_EP7211_DONGLE */
+
+module_init(ep7211_sir_init);
+module_exit(ep7211_sir_cleanup);
Index: net-2.6-quilt/include/linux/irda.h
===================================================================
--- net-2.6-quilt.orig/include/linux/irda.h 2007-07-21 02:39:53.000000000 +0300
+++ net-2.6-quilt/include/linux/irda.h 2007-07-21 02:39:59.000000000 +0300
@@ -77,6 +77,7 @@
IRDA_ACT200L_DONGLE = 10,
IRDA_MA600_DONGLE = 11,
IRDA_TOIM3232_DONGLE = 12,
+ IRDA_EP7211_DONGLE = 13,
} IRDA_DONGLE;
/* Protocol types to be used for SOCK_DGRAM */
--
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply
* [PATCH] endianness bug in ip6_tunnel
From: Al Viro @ 2007-07-21 8:12 UTC (permalink / raw)
To: davem; +Cc: netdev
IPV6_TCLASS_MASK is net-endian; what happens here is that we take
a value and shove it into bits 20--27 of net-endian 32bit word.
IOW, it's misannotated (it's really htonl, not ntohl) *and* the
mask should be applied after conversion to net-endian, not before it.
The former is harmless, the latter gives the wrong value on little-endian;
As the matter of fact, on l-e it gives 0 - IPV6_TCLASS_MASK will be
htonl(0x0ff00000), i.e. on little-endian we have (something << 20) & 0xff0...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -962,8 +962,8 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
dsfield = ipv4_get_dsfield(iph);
if ((t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS))
- fl.fl6_flowlabel |= ntohl(((__u32)iph->tos << IPV6_TCLASS_SHIFT)
- & IPV6_TCLASS_MASK);
+ fl.fl6_flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+ & IPV6_TCLASS_MASK;
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl, encap_limit, &mtu);
if (err != 0) {
^ permalink raw reply
* Re: [Bugme-new] [Bug 8789] New: Error inserting ipt_LOG (mod_path): Device or resource busy
From: Andrew Morton @ 2007-07-21 8:02 UTC (permalink / raw)
To: netdev; +Cc: bugme-daemon, t.artem
In-Reply-To: <bug-8789-10286@http.bugzilla.kernel.org/>
On Sat, 21 Jul 2007 00:44:08 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=8789
>
> Summary: Error inserting ipt_LOG (mod_path): Device or resource
> busy
A 2.6.12 -> 2.6.22 regression.
> Product: Networking
> Version: 2.5
> KernelVersion: 2.6.22
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: blocking
> Priority: P1
> Component: Netfilter/Iptables
> AssignedTo: networking_netfilter-iptables@kernel-bugs.osdl.org
> ReportedBy: t.artem@mailcity.com
>
>
> Most recent kernel where this bug did not occur: 2.6.21.6
> Distribution: Fedora 7
> Hardware Environment: irrelevant
> Software Environment: Fedora 7 + vanilla kernel 2.6.22
> Problem Description:
>
> After I upgraded to 2.6.22 kernel, my iptables configuration no longer works
> and I get the above error message. When the error occurs I have these iptables
> modules loaded:
>
> [root@localhost sysconfig]# lsmod | egrep "x._|ipt" | awk '{print $1}'
> xt_limit
> xt_tcpudp
> xt_pkttype
> ipt_ULOG
> xt_multiport
> iptable_filter
> ip_tables
> x_tables
>
> [root@localhost sysconfig]# modprobe ipt_LOG
> FATAL: Error inserting ipt_LOG
> (/lib/modules/2.6.22-k8l/kernel/net/ipv4/netfilter/ipt_LOG.ko): Device or
> resource busy
>
> If I remove all iptables modules then I can successfully modprobe ipt_LOG.
>
> Steps to reproduce: boot the PC or # service iptables start
^ permalink raw reply
* Re: [PATCH]: Resurrect napi_poll patch.
From: Rusty Russell @ 2007-07-21 8:00 UTC (permalink / raw)
To: David Miller; +Cc: netdev, shemminger, jgarzik
In-Reply-To: <20070721.004234.122616332.davem@davemloft.net>
On Sat, 2007-07-21 at 00:42 -0700, David Miller wrote:
> From: Rusty Russell <rusty@rustcorp.com.au>
> Date: Sat, 21 Jul 2007 17:14:31 +1000
>
> > This looks good! It might be nice though to go further and remove the
> > internal napi_struct. It's kind of a wart for multi-queue drivers which
> > are going to have their own array (or whatever).
>
> I guess you're suggesting to pass in a "void *" cookie instead of the
> napi_struct? You'd need to pass in a slot number or similar as well
> with that kind of idea, and then it starts to push the limits or
> worthwhileness.
No, I was just thinking that drivers will put the napi_struct in their
driver-specific struct (eg. struct e1000_adapter *adapter =
container_of(container_of(napi, struct e1000_adapter, napi);).
Multi-queue drivers will have no use for a napi_struct in net_device,
right? They'll need some wrapper "my_queue" structure containing the
napi_struct anyway.
Hope that clarifies,
Rusty.
^ permalink raw reply
* Virtual device lo asks to queue packet! since -git15
From: Andi Kleen @ 2007-07-21 7:49 UTC (permalink / raw)
To: netdev
FYI
Since -git15 (probably David's merge) I see a lot of
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
during a LTP run on a nfsroot system
-Andi
^ permalink raw reply
* Re: [PATCH]: Resurrect napi_poll patch.
From: David Miller @ 2007-07-21 7:42 UTC (permalink / raw)
To: rusty; +Cc: netdev, shemminger, jgarzik
In-Reply-To: <1185002071.6344.21.camel@localhost.localdomain>
From: Rusty Russell <rusty@rustcorp.com.au>
Date: Sat, 21 Jul 2007 17:14:31 +1000
> This looks good! It might be nice though to go further and remove the
> internal napi_struct. It's kind of a wart for multi-queue drivers which
> are going to have their own array (or whatever).
I guess you're suggesting to pass in a "void *" cookie instead of the
napi_struct? You'd need to pass in a slot number or similar as well
with that kind of idea, and then it starts to push the limits or
worthwhileness.
^ permalink raw reply
* Re: [PATCH]: Resurrect napi_poll patch.
From: Rusty Russell @ 2007-07-21 7:14 UTC (permalink / raw)
To: David Miller; +Cc: netdev, shemminger, jgarzik
In-Reply-To: <20070720.223129.59470764.davem@davemloft.net>
On Fri, 2007-07-20 at 22:31 -0700, David Miller wrote:
> Stephen asked me if I could resurrect the last version of
> his napi_poll patch that I posted a long time ago, I finally
> got to that tonight.
>
> Basically, this disconnects the ->poll() object from the net
> device. This will allow drivers to handle multi RX queues
> cleanly without creating fake net_device objects and crap
> like that.
Hi Dave,
This looks good! It might be nice though to go further and remove the
internal napi_struct. It's kind of a wart for multi-queue drivers which
are going to have their own array (or whatever).
But I can do that as a separate patch if you think it's a decent idea.
The name "NAPI" is also a wart, but I guess it's everywhere now so one
more place isn't making things worse...
Cheers,
Rusty.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox