]> err.no Git - linux-2.6/commitdiff
[PATCH] sky2: copy threshold as module parameter
authorStephen Hemminger <shemminger@osdl.org>
Fri, 9 Dec 2005 19:34:55 +0000 (11:34 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Mon, 12 Dec 2005 20:27:20 +0000 (15:27 -0500)
Make the copy threshold a module parameter for those who
may want to turn it off.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/sky2.c

index 0f694a917fbdef017e1d1fd799a960737c5dbe2a..f2f8f60a09114bc34c756dbb02d8a73fb4b212ff 100644 (file)
@@ -76,7 +76,6 @@
 #define RX_LE_BYTES            (RX_LE_SIZE*sizeof(struct sky2_rx_le))
 #define RX_MAX_PENDING         (RX_LE_SIZE/2 - 2)
 #define RX_DEF_PENDING         RX_MAX_PENDING
-#define RX_COPY_THRESHOLD      256
 
 #define TX_RING_SIZE           512
 #define TX_DEF_PENDING         (TX_RING_SIZE - 1)
@@ -99,6 +98,10 @@ static int debug = -1;               /* defaults above */
 module_param(debug, int, 0);
 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
 
+static int copybreak __read_mostly = 256;
+module_param(copybreak, int, 0);
+MODULE_PARM_DESC(copybreak, "Receive copy threshold");
+
 static const struct pci_device_id sky2_id_table[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9000) },
        { PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, 0x9E00) },
@@ -1653,7 +1656,7 @@ static struct sk_buff *sky2_receive(struct sky2_port *sky2,
        if (!(status & GMR_FS_RX_OK))
                goto resubmit;
 
-       if (length < RX_COPY_THRESHOLD) {
+       if (length < copybreak) {
                skb = alloc_skb(length + 2, GFP_ATOMIC);
                if (!skb)
                        goto resubmit;