compat: backport alloc_etherdev_mqs()
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>
Mon, 3 Dec 2012 19:38:20 +0000 (11:38 -0800)
committerLuis R. Rodriguez <mcgrof@do-not-panic.com>
Mon, 3 Dec 2012 19:44:09 +0000 (11:44 -0800)
This backports support for alloc_netdev_mqs(). The routine adds
support for specifying different TX queues and RX queues. In older
kernels we were only able to request the equal amount of queues for
both TX and RX. To backport this simply ignore the RX queue count.

The commit that added alloc_netdev_mq() with equal amount of TX
and RX queues was added via f25f4e44 onto kernel v2.6.23.

mcgrof@frijol ~/linux-next (git::master)$ git describe --contains  36909ea4
v2.6.38-rc1~50^2~46

mcgrof@frijol ~/linux-next (git::master)$ git describe --contains f25f4e44
v2.6.23-rc1~1109^2~115

commit 36909ea43814cba34f7c921e99cba33d770a54e1
Author: Tom Herbert <therbert@google.com>
Date:   Sun Jan 9 19:36:31 2011 +0000

    net: Add alloc_netdev_mqs function

    Added alloc_netdev_mqs function which allows the number of transmit and
    receive queues to be specified independenty.  alloc_netdev_mq was
    changed to a macro to call the new function.  Also added
    alloc_etherdev_mqs with same purpose.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2
Author: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date:   Fri Jul 6 13:36:20 2007 -0700

    [CORE] Stack changes to add multiqueue hardware support API

    Add the multiqueue hardware device support API to the core network
    stack.  Allow drivers to allocate multiple queues and manage them at
    the netdev level if they choose to do so.

    Added a new field to sk_buff, namely queue_mapping, for drivers to
    know which tx_ring to select based on OS classification of the flow.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
include/linux/compat-2.6.38.h

index 676d5540788188b63452e9f49d6207b66327921f..b397c74db4a99b2ebf849b4e8e80214b08430137 100644 (file)
@@ -10,6 +10,8 @@
 #include <linux/etherdevice.h>
 #include <net/sch_generic.h>
 
+#define alloc_etherdev_mqs(sizeof_priv, tx_q, rx_q) alloc_etherdev_mq(sizeof_priv, tx_q)
+
 /* MSI-X entry's format */
 #define PCI_MSIX_ENTRY_SIZE            16
 #define  PCI_MSIX_ENTRY_LOWER_ADDR     0