[PATCH] Optimize cxgb3 xmit path (a bit)

2008-01-29 Thread Krishna Kumar
hit even once). Thanks, - KK Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- sge.c | 35 +++ 1 files changed, 15 insertions(+), 20 deletions(-) diff -ruNp a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c --- a/drivers/net/cxgb3/sge.c 2

Re: [PATCH] PATCH 1/2 [SCHED 2.6.24]: Check subqueue status before calling hard_start_xmit

2007-11-13 Thread Krishna Kumar
Hi Peter, Peter wrote on 11/13/2007 11:14:50 PM: > @@ -134,7 +134,7 @@ static inline int qdisc_restart(struct net_device *dev) > { > struct Qdisc *q = dev->qdisc; > struct sk_buff *skb; > - int ret; > + int ret = NETDEV_TX_BUSY; > > /* Dequeue packet */ > if (unlikely((skb =

[PATCH] E1000: Do not allow requeue of freed skb

2007-09-20 Thread Krishna Kumar
Returning BUSY will make qdisc_restart enqueue the skb which was already freed. The bad skb was correctly freed and we should return NETDEV_TX_OK. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c --- a/drivers/net/

[Bug, PATCH and another Bug] Was: Fix refcounting problem with netif_rx_reschedule()

2007-09-19 Thread Krishna Kumar
Hi Dave, After applying Roland's NAPI patch, system panics when I run multiple thread iperf (no stack trace at this time, it shows that the panic is in net_tx_action). I think the problem is: In the "done < budget" case, ipoib_poll calls netif_rx_complete() netif_rx_complete() __netif_rx

[PATCH] IPoIB: Optimizations in poll handler.

2007-09-18 Thread Krishna Kumar
e variable being non-zero instead of comparing two vars for every iteration. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 15 --- 1 files changed, 8 insertions(+), 7 deletions(-) diff -ruNp new2/drivers/infiniband/ulp/ipoib/ipoib_ib

[PATCH 2/2] IPoIB: Code cleanup

2007-09-18 Thread Krishna Kumar
Follow-up cleanup and "while loop" optimization in the poll handler. net_rx_action guarantees that 'budget' is atleast 1. Note: This could also be done for poll handlers of other drivers. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 22 +

[PATCH 1/2] IPoIB: Fix unregister_netdev hang

2007-09-18 Thread Krishna Kumar
e receives (which again does a dev_put). This reduces refcount to < 0 (depending on how many times netif_rx_complete followed by netif_rx_reschedule was called). The following patch fixes the bug, but I don't know if there is some specific IB issue that prevents this approach. Signed-off-by: Kri

[PATCH 10/10 REV5] [E1000] Implement batching

2007-09-14 Thread Krishna Kumar
E1000: Implement batching capability (ported thanks to changes taken from Jamal). Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- e1000_main.c | 104 ++- 1 files changed, 75 insertions(+), 29 deletions(-) diff -ru

[PATCH 9/10 REV5] [IPoIB] Implement batching

2007-09-14 Thread Krishna Kumar
IPoIB: implement the new batching API. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_main.c | 248 +++ 1 files changed, 168 insertions(+), 80 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_main.c new/d

[PATCH 7/10 REV5] [IPoIB] Verbs changes

2007-09-14 Thread Krishna Kumar
IPoIB verb changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_verbs.c | 23 ++- 1 files changed, 14 insertions(+), 9 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c new/drivers/infiniband/ulp/ipoib/ipoib_v

[PATCH 8/10 REV5] [IPoIB] Post and work completion handler changes

2007-09-14 Thread Krishna Kumar
IPoIB internal post and work completion handler changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 212 - 1 files changed, 168 insertions(+), 44 deletions(-) diff -ruNp org/drivers/infiniband/ulp

[PATCH 5/10 REV5] [IPoIB] Header file changes

2007-09-14 Thread Krishna Kumar
IPoIB header file changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib.h |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib.h new/drivers/infiniband/ulp/ipoib/ipoib.h --- org/drivers/infiniba

[PATCH 6/10 REV5] [IPoIB] CM & Multicast changes

2007-09-14 Thread Krishna Kumar
IPoIB CM & Multicast changes based on header file changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_cm.c| 13 + ipoib_multicast.c |4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib

[PATCH 3/10 REV5] [sched] Modify qdisc_run to support batching

2007-09-14 Thread Krishna Kumar
Modify qdisc_run() to support batching. Modify callers of qdisc_run to use batching, modify qdisc_restart to implement batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/netdevice.h |2 include/net/pkt_sched.h | 17 +-- net/core/dev.c

[PATCH 4/10 REV5] [ethtool] Add ethtool support

2007-09-14 Thread Krishna Kumar
Add ethtool support to enable/disable batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/ethtool.h |2 ++ include/linux/netdevice.h |2 ++ net/core/dev.c| 44 net/core/ethtool.c

[PATCH 2/10 REV5] [core] Add skb_blist & support for batching

2007-09-14 Thread Krishna Kumar
Introduce skb_blist, NETIF_F_BATCH_SKBS, use single API for batching/no-batching, etc. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/netdevice.h |8 ++-- net/core/dev.c| 29 ++--- 2 files changed, 32 insertions(+), 5 del

[PATCH 1/10 REV5] [Doc] HOWTO Documentation for batching

2007-09-14 Thread Krishna Kumar
Add Documentation describing batching skb xmit capability. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- batching_skb_xmit.txt | 107 ++ 1 files changed, 107 insertions(+) diff -ruNp org/Documentation/networking/batching_skb_xmit.tx

[PATCH 0/10 REV5] Implement skb batching and support in IPoIB/E1000

2007-09-14 Thread Krishna Kumar
This set of patches implements the batching xmit capability, and adds support for batching in IPoIB and E1000 (E1000 driver changes is ported, thanks to changes taken from Jamal's code from an old kernel). List of changes from previous revision: 1. [Dave] E

[PATCH 2/2] [RFC] E1000: Fix hang in netdev_wait_allrefs()

2007-08-23 Thread Krishna Kumar
After applying patch1, I started getting "waiting for count" messages when doing ifdown. Not sure if this is the right fix since the count was already showing as -1 in that message, but this patch fixes the problem. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- e1000_main

[PATCH 1/2] E1000: Fix ifdown hang in git-2.6.24

2007-08-23 Thread Krishna Kumar
Doing napi_disable twice hangs "ifdown" of the device. e1000_down is the common place to call napi_disable. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- e1000_main.c |4 1 files changed, 4 deletions(-) diff -ruNp org/drivers/net/e1000/e1000_main.c new/d

[PATCH 10/10 Rev4] [E1000] Implement batching

2007-08-22 Thread Krishna Kumar
E1000: Implement batching capability (ported thanks to changes taken from Jamal). Not all changes are made in this as in IPoIB, eg, handling out of order skbs (see XXX in the first mail). Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- e1000_main.c

[PATCH 8/10 Rev4] [IPoIB] Post and work completion handler changes

2007-08-22 Thread Krishna Kumar
IPoIB internal post and work completion handler changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 207 - 1 files changed, 163 insertions(+), 44 deletions(-) diff -ruNp org/drivers/infiniband/ulp

[PATCH 9/10 Rev4] [IPoIB] Implement batching

2007-08-22 Thread Krishna Kumar
IPoIB: implement the new batching API. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_main.c | 251 --- 1 files changed, 171 insertions(+), 80 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_main.c new/d

[PATCH 6/10 Rev4] [IPoIB] CM & Multicast changes

2007-08-22 Thread Krishna Kumar
IPoIB CM & Multicast changes based on header file changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_cm.c| 13 + ipoib_multicast.c |4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib

[PATCH 7/10 Rev4] [IPoIB] Verbs changes

2007-08-22 Thread Krishna Kumar
IPoIB verb changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_verbs.c | 23 ++- 1 files changed, 14 insertions(+), 9 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c new/drivers/infiniband/ulp/ipoib/ipoib_v

[PATCH 4/10 Rev4] [ethtool] Add ethtool support

2007-08-22 Thread Krishna Kumar
Add ethtool support to enable/disable batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/ethtool.h |2 ++ include/linux/netdevice.h |2 ++ net/core/dev.c| 36 net/core/ethtool.c

[PATCH 5/10 Rev4] [IPoIB] Header file changes

2007-08-22 Thread Krishna Kumar
IPoIB header file changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib.h |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib.h new/drivers/infiniband/ulp/ipoib/ipoib.h --- org/drivers/infiniba

[PATCH 2/10 Rev4] [core] Add skb_blist & support for batching

2007-08-22 Thread Krishna Kumar
Introduce skb_blist, NETIF_F_BATCH_SKBS, use single API for batching/no-batching, etc. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/netdevice.h |4 net/core/dev.c| 21 ++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff

[PATCH 3/10 Rev4] [sched] Modify qdisc_run to support batching

2007-08-22 Thread Krishna Kumar
Modify qdisc_run() to support batching. Modify callers of qdisc_run to use batching, modify qdisc_restart to implement batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/netdevice.h |2 + include/net/pkt_sched.h |6 +-- net/core/dev.c

[PATCH 0/10 Rev4] Implement skb batching and support in IPoIB

2007-08-22 Thread Krishna Kumar
This set of patches implements the batching xmit capability (changed from API), and adds support for batching in IPoIB. Also included is a sample patch for E1000 (ported - thanks to Jamal's E1000 changes from earlier kernel). I will use this patch for testing E1000 TSO vs batching after the weekend

[PATCH 1/10 Rev4] [Doc] HOWTO Documentation for batching

2007-08-22 Thread Krishna Kumar
Add Documentation describing batching skb xmit capability. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- batching_skb_xmit.txt | 78 ++ 1 files changed, 78 insertions(+) diff -ruNp org/Documentation/networking/batching_skb_xmit.tx

[PATCH 6/9 Rev3] [IPoIB] CM & Multicast changes

2007-08-08 Thread Krishna Kumar
IPoIB CM & Multicast changes based on header file changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_cm.c| 13 + ipoib_multicast.c |4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff -ruNp ORG/drivers/infiniband/ulp/ipoib/ipoib

[PATCH 5/9 Rev3] [IPoIB] Header file changes

2007-08-08 Thread Krishna Kumar
IPoIB header file changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib.h | 11 --- 1 files changed, 8 insertions(+), 3 deletions(-) diff -ruNp ORG/drivers/infiniband/ulp/ipoib/ipoib.h NEW/drivers/infiniband/ulp/ipoib/ipoib.h --- ORG/drivers/infi

[PATCH 7/9 Rev3] [IPoIB] Verb changes

2007-08-08 Thread Krishna Kumar
IPoIB verb changes to use batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_verbs.c | 23 ++- 1 files changed, 14 insertions(+), 9 deletions(-) diff -ruNp ORG/drivers/infiniband/ulp/ipoib/ipoib_verbs.c NEW/drivers/infiniband/ulp/ipoib/ipoib_v

[PATCH 0/9 Rev3] Implement batching skb API and support in IPoIB

2007-08-08 Thread Krishna Kumar
This set of patches implements the batching API, and adds support for this API in IPoIB. List of changes from original submission: - 1. [Patrick] Suggestion to remove tx_queue_len check for enabling batching. 2. [Patrick] Move queue purging to dev_deactiva

[PATCH 4/9 Rev3] [ethtool] Add ethtool support

2007-08-08 Thread Krishna Kumar
Add ethtool support to enable/disable batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/ethtool.h |2 ++ include/linux/netdevice.h |2 ++ net/core/ethtool.c| 26 ++ 3 files changed, 30 insertions(+) diff -ruNp ORG/i

[PATCH 8/9 Rev3] [IPoIB] Post and work completion handler changes

2007-08-08 Thread Krishna Kumar
IPoIB internal post and work completion handler changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 217 - 1 files changed, 173 insertions(+), 44 deletions(-) diff -ruNp ORG/drivers/infiniband/ulp

[PATCH 9/9 Rev3] [IPoIB] Implement the new batching API

2007-08-08 Thread Krishna Kumar
IPoIB: implement the new batching API. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_main.c | 189 +-- 1 files changed, 184 insertions(+), 5 deletions(-) diff -ruNp ORG/drivers/infiniband/ulp/ipoib/ipoib_main.c NEW/d

[PATCH 3/9 Rev3] [sched] Modify qdisc_run to support batching

2007-08-08 Thread Krishna Kumar
Modify qdisc_run() to support batching. Modify callers of qdisc_run to use batching, modify qdisc_restart to implement batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/net/pkt_sched.h |6 +-- net/core/dev.c |5 +-- net/sched/sch_generic.c

[PATCH 1/9 Rev3] [Doc] HOWTO Documentation for batching

2007-08-08 Thread Krishna Kumar
Add Documentation describing batching API. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- Batching_skb_API.txt | 82 +++ 1 files changed, 82 insertions(+) diff -ruNp ORG/Documentation/networking/Batching_skb_API.txt NEW/Documen

[PATCH 2/9 Rev3] [core] Add skb_blist & hard_start_xmit_batch

2007-08-08 Thread Krishna Kumar
Introduce skb_blist and hard_start_xmit_batch API, handle driver's usage of the new API, and add support routines. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- include/linux/netdevice.h |8 +++ net/core/dev.c| 98

[PATCH 12/12 -Rev2] IPoIB xmit internals changes (ipoib_ib.c)

2007-07-22 Thread Krishna Kumar
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_main.c rev2/drivers/infiniband/ulp/ipoib/ipoib_main.c --- org/drivers/infiniband/ulp/ipoib/ipoib_main.c 2007-07-20 07:49:28.0 +0530 +++ rev2/drivers/infiniband/ulp/ipoib/ipoib_main.c 2007-07-22 00:08:28.0 +0530 @@ -558,

[PATCH 09/12 -Rev2] IPoIB verbs changes

2007-07-22 Thread Krishna Kumar
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c rev2/drivers/infiniband/ulp/ipoib/ipoib_verbs.c --- org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c 2007-07-20 07:49:28.0 +0530 +++ rev2/drivers/infiniband/ulp/ipoib/ipoib_verbs.c 2007-07-20 16:09:45.0 +0530 @@ -15

[PATCH 10/12 -Rev2] IPoIB multicast, CM changes

2007-07-22 Thread Krishna Kumar
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_cm.c rev2/drivers/infiniband/ulp/ipoib/ipoib_cm.c --- org/drivers/infiniband/ulp/ipoib/ipoib_cm.c 2007-07-20 07:49:28.0 +0530 +++ rev2/drivers/infiniband/ulp/ipoib/ipoib_cm.c2007-07-20 16:09:45.0 +0530 @@ -493,14 +493,19 @

[PATCH 11/12 -Rev2] IPoIB xmit API addition

2007-07-22 Thread Krishna Kumar
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_ib.c rev2/drivers/infiniband/ulp/ipoib/ipoib_ib.c --- org/drivers/infiniband/ulp/ipoib/ipoib_ib.c 2007-07-20 07:49:28.0 +0530 +++ rev2/drivers/infiniband/ulp/ipoib/ipoib_ib.c2007-07-22 00:08:37.0 +0530 @@ -242,8 +242,9 @@

[PATCH 08/12 -Rev2] IPoIB include file changes.

2007-07-22 Thread Krishna Kumar
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib.h rev2/drivers/infiniband/ulp/ipoib/ipoib.h --- org/drivers/infiniband/ulp/ipoib/ipoib.h2007-07-20 07:49:28.0 +0530 +++ rev2/drivers/infiniband/ulp/ipoib/ipoib.h 2007-07-20 16:09:45.0 +0530 @@ -269,8 +269,8 @@ struct ipoib_d

[PATCH 06/12 -Rev2] rtnetlink changes.

2007-07-22 Thread Krishna Kumar
diff -ruNp org/include/linux/if_link.h rev2/include/linux/if_link.h --- org/include/linux/if_link.h 2007-07-20 16:33:35.0 +0530 +++ rev2/include/linux/if_link.h2007-07-20 16:35:08.0 +0530 @@ -78,6 +78,8 @@ enum IFLA_LINKMODE, IFLA_LINKINFO, #define IFLA_LINK

[PATCH 07/12 -Rev2] Change qdisc_run & qdisc_restart API, callers

2007-07-22 Thread Krishna Kumar
diff -ruNp org/include/net/pkt_sched.h rev2/include/net/pkt_sched.h --- org/include/net/pkt_sched.h 2007-07-20 07:49:28.0 +0530 +++ rev2/include/net/pkt_sched.h2007-07-20 16:09:45.0 +0530 @@ -80,13 +80,13 @@ extern struct qdisc_rate_table *qdisc_ge struct rta

[PATCH 03/12 -Rev2] dev.c changes.

2007-07-22 Thread Krishna Kumar
diff -ruNp org/net/core/dev.c rev2/net/core/dev.c --- org/net/core/dev.c 2007-07-20 07:49:28.0 +0530 +++ rev2/net/core/dev.c 2007-07-21 23:08:33.0 +0530 @@ -875,6 +875,48 @@ void netdev_state_change(struct net_devi } } +/* + * dev_change_tx_batching - Enable or disable b

[PATCH 04/12 -Rev2] Ethtool changes

2007-07-22 Thread Krishna Kumar
diff -ruNp org/include/linux/ethtool.h rev2/include/linux/ethtool.h --- org/include/linux/ethtool.h 2007-07-21 13:39:50.0 +0530 +++ rev2/include/linux/ethtool.h2007-07-21 13:40:57.0 +0530 @@ -414,6 +414,8 @@ struct ethtool_ops { #define ETHTOOL_SUFO 0x0022 /*

[PATCH 05/12 -Rev2] sysfs changes.

2007-07-22 Thread Krishna Kumar
diff -ruNp org/net/core/net-sysfs.c rev2/net/core/net-sysfs.c --- org/net/core/net-sysfs.c2007-07-20 07:49:28.0 +0530 +++ rev2/net/core/net-sysfs.c 2007-07-21 22:56:32.0 +0530 @@ -230,6 +230,21 @@ static ssize_t store_weight(struct devic return netdev_store(dev, attr,

[PATCH 01/12 -Rev2] HOWTO documentation for Batching SKB.

2007-07-22 Thread Krishna Kumar
diff -ruNp org/Documentation/networking/Batching_skb_API.txt rev2/Documentation/networking/Batching_skb_API.txt --- org/Documentation/networking/Batching_skb_API.txt 1970-01-01 05:30:00.0 +0530 +++ rev2/Documentation/networking/Batching_skb_API.txt 2007-07-20 16:09:45.0 +0530

[PATCH 02/12 -Rev2] Changes to netdevice.h

2007-07-22 Thread Krishna Kumar
diff -ruNp org/include/linux/netdevice.h rev2/include/linux/netdevice.h --- org/include/linux/netdevice.h 2007-07-20 07:49:28.0 +0530 +++ rev2/include/linux/netdevice.h 2007-07-22 13:20:16.0 +0530 @@ -340,6 +340,7 @@ struct net_device #define NETIF_F_VLAN_CHALLENGED

[PATCH 00/12 -Rev2] Implement batching skb API

2007-07-22 Thread Krishna Kumar
This set of patches implements the batching API, and makes the following changes resulting from the review of the first set: Changes : - 1. Changed skb_blist from pointer to static as it saves only 12 bytes (i386), but bloats the code. 2. Removed requirement for driver to set "featur

[PATCH 07/10] IPoIB verb changes.

2007-07-20 Thread Krishna Kumar
IPoIB verb changes to support batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_verbs.c | 23 ++- 1 files changed, 14 insertions(+), 9 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c new/drivers/infiniband/ulp/ipoib/ipoib_v

[PATCH 03/10] dev.c changes.

2007-07-20 Thread Krishna Kumar
Changes in dev.c to support batching : add dev_add_skb_to_blist, register_netdev recognizes batch aware drivers, and net_tx_action is the sole user of batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- dev.c | 77 +++

[PATCH 01/10] HOWTO documentation for Batching SKB.

2007-07-19 Thread Krishna Kumar
Add HOWTO documentation on what batching is, how to implement drivers to use it, and how users can enable/disable batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- Batching_skb_API.txt | 91 +++ 1 files changed, 91 inse

[PATCH 00/10] Implement batching skb API

2007-07-19 Thread Krishna Kumar
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" @ ht

[PATCH 08/10] IPoIB multicast/CM changes.

2007-07-19 Thread Krishna Kumar
IPoIB Multicast and CM changes for batching support. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_cm.c| 13 + ipoib_multicast.c |4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_cm.c new/d

[PATCH 10/10] IPoIB batching in internal xmit/handler routines.

2007-07-19 Thread Krishna Kumar
Add batching support to IPoIB post_send and TX completion handler. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_ib.c | 233 - 1 files changed, 187 insertions(+), 46 deletions(-) diff -ruNp org/drivers/infiniba

[PATCH 05/10] sch_generic.c changes.

2007-07-19 Thread Krishna Kumar
net/sched/sch_generic.c changes to support batching. Adds a batch aware function (get_skb) to get skbs to send. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- sch_generic.c | 94 +++--- 1 files changed, 71 insertions(+), 23 del

[PATCH 06/10] IPoIB header file changes.

2007-07-19 Thread Krishna Kumar
IPoIB header file changes. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib.h |9 ++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib.h new/drivers/infiniband/ulp/ipoib/ipoib.h --- org/drivers/infiniband/ulp/ipoib/i

[PATCH 04/10] net-sysfs.c changes.

2007-07-19 Thread Krishna Kumar
Support to turn on/off batching from /sys. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- net-sysfs.c | 70 1 files changed, 70 insertions(+) diff -ruNp org/net/core/net-sysfs.c new/net/core/net-sysfs.c --- org/net/co

[PATCH 02/10] Networking include file changes.

2007-07-19 Thread Krishna Kumar
Networking include file changes for batching. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- linux/netdevice.h | 10 ++ net/pkt_sched.h |6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff -ruNp org/include/linux/netdevice.h new/include/linux/netde

[PATCH 09/10] IPoIB batching xmit handler support.

2007-07-19 Thread Krishna Kumar
Add a IPoIB batching xmit handler. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- ipoib_main.c | 215 +-- 1 files changed, 210 insertions(+), 5 deletions(-) diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_main.c new/d

Re: [PATCH 1/2 - rev2] qdisc_restart - readability changes plus onebug fix.

2007-06-24 Thread Krishna Kumar
Hi Jamal, Dave (and anyone else interested), Could you review this patch ? Thanks, - KK On Tue, 2007-06-19 at 12:15 -0400, jamal wrote: > On Mon, 2007-18-06 at 20:58 -0700, David Miller wrote: > > From: Krishna Kumar2 <[EMAIL PROTECTED]> > > Date: Tue, 19 Jun 2007 09:05:28 +0530 > > > > > Dav

[PATCH 2/2 - rev2] qdisc_restart - couple of optimizations.

2007-06-17 Thread Krishna Kumar
his check is not required. Hopefully Herbert can validate this change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch

[PATCH 1/2 - rev2] qdisc_restart - readability changes plus one bug fix.

2007-06-17 Thread Krishna Kumar
ues and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic.c --- org/net/sched/sch_generic.c 2007-06-18 09:55:56.0 +0530 +++ new/net/sched/sch_generic.c 2007-0

RE: [PATCH 1/2] qdisc_restart - readability changes, one bug fix.

2007-06-17 Thread Krishna Kumar
On Fri, 2007-06-15 at 11:01 -0700, Waskiewicz Jr, Peter P wrote: Hi Peter, > I agree that the case shouldn't happen, and will only surface if the > driver is indeed buggy. I've thought about this conditional being > removed for awhile, since it will protect against a poorly written > driver wrt

[PATCH 2/2] qdisc_restart - couple of optimizations.

2007-06-13 Thread Krishna Kumar
is change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic.c --- org/net/sched/sch_generic.c 2007-06-11 13:12:11.0

[PATCH 1/2] qdisc_restart - readability changes, one bug fix.

2007-06-13 Thread Krishna Kumar
is was related to batch skb WIP, Jamal ?). Converted some functions to original coding style of having the return values and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic

[PATCH 0/2] qdisc_restart - readability changes, one bug fix plus couple of optimizations.

2007-06-13 Thread Krishna Kumar
Hi Dave, I am splitting this patch to two, to differentiate between readability changes (plus a bug fix) and optimization changes. Please review. Thanks, - KK -- I am sorry to miss out during Jamal's original effort to make q

[PATCH] qdisc_restart - readability changes (plus couple of optimizations)

2007-06-11 Thread Krishna Kumar
lso, as per Jamal's mail from May 25th). Thanks, - KK Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic.c --- org/net/sched/sch_generic.c 2007-06-11 13:12:11.0 +0530 +++ new/net/sched/sch_generic.c 2007-06-11 15:3

[RFC] New driver API to speed up small packets xmits

2007-05-10 Thread Krishna Kumar
Hi all, While looking at common packet sizes on xmits, I found that most of the packets are small. On my personal system, the statistics of packets after using (browsing, mail, ftp'ing two linux kernels from www.kernel.org) for about 6 hours is : --

[PATCH] sched: teql_enqueue can check limits before skb enqueue

2007-05-08 Thread Krishna Kumar
Optimize teql_enqueue so that it first checks limits before enqueing. Patch against net-2.6.22.git Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_teql.c new/net/sched/sch_teql.c --- org/net/sched/sch_teql.c2007-04-09 12:37:41.0 +0530 +++ n

[PATCH] e1000: Simple optimizations in e1000_xmit_frame

2007-05-08 Thread Krishna Kumar
Some simple optimizations in e1000_xmit_frame. Patch against net-2.6.22.git Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/drivers/net/e1000/e1000_main.c new/drivers/net/e1000/e1000_main.c --- org/drivers/net/e1000/e1000_main.c 2007-04-09 12:40:02.0 +0530 +

[PATCH] core: Call net_tx_action only if work pending

2007-05-08 Thread Krishna Kumar
Optimize call to net_tx_action only if work is pending. Patch against net-2.6.22.git Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/core/dev.c new/net/core/dev.c --- org/net/core/dev.c 2007-04-09 12:43:15.0 +0530 +++ new/net/core/dev.c 2007-04-09

[PATCH] sched: Optimize return value of qdisc_restart

2007-05-08 Thread Krishna Kumar
-2.6.22.git Signed-off-by: Krishna Kumar <[EMAIL PROTECTED]> --- diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic.c --- org/net/sched/sch_generic.c 2007-05-07 17:25:25.0 +0530 +++ new/net/sched/sch_generic.c 2007-05-07 17:39:04.0 +0530 @@ -115,7 +115,7 @@