netdev
[Top] [All Lists]

Re: [PATCH] pktgen: reduce stack usage

To: davem@xxxxxxxxxxxxx
Subject: Re: [PATCH] pktgen: reduce stack usage
From: Robert Olsson <Robert.Olsson@xxxxxxxxxxx>
Date: Tue, 22 Feb 2005 16:41:31 +0100
Cc: "Randy.Dunlap" <rddunlap@xxxxxxxx>, Robert Olsson <Robert.Olsson@xxxxxxxxxxx>, Francois Romieu <romieu@xxxxxxxxxxxxx>, netdev <netdev@xxxxxxxxxxx>
In-reply-to: <421A0880.5070205@xxxxxxxx>
References: <20050218134219.3f079110.rddunlap@xxxxxxxx> <20050218221121.GA22845@xxxxxxxxxxxxxxxxxxxxxxxxxx> <42166E3F.2050304@xxxxxxxx> <16921.60572.951532.31861@xxxxxxxxxxxx> <421A0880.5070205@xxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
Randy.Dunlap writes:
 > >  Here is version with just one buffer.
 > 
 > Yep, even better:  few changes + using sizeof.

 Hello.

 OK! Then we ask DaveM to apply the patch.

                                    --ro


 
--- net/core/pktgen.c.050221    2005-02-21 14:02:40.000000000 +0100
+++ net/core/pktgen.c   2005-02-21 15:02:44.000000000 +0100
@@ -151,7 +151,7 @@
 #include <asm/timex.h>
 
 
-#define VERSION  "pktgen v2.57: Packet Generator for packet performance 
testing.\n"
+#define VERSION  "pktgen v2.58: Packet Generator for packet performance 
testing.\n"
 
 /* #define PG_DEBUG(a) a */
 #define PG_DEBUG(a) 
@@ -811,6 +811,7 @@
         struct pktgen_dev *pkt_dev = (struct pktgen_dev*)(data);
         char* pg_result = NULL;
         int tmp = 0;
+       char buf[128];
         
         pg_result = &(pkt_dev->result[0]);
         
@@ -1071,7 +1072,6 @@
                return count;
        }
        if (!strcmp(name, "dst_min") || !strcmp(name, "dst")) {
-                char buf[IP_NAME_SZ];
                len = strn_len(&user_buffer[i], sizeof(pkt_dev->dst_min) - 1);
                 if (len < 0) { return len; }
 
@@ -1091,7 +1091,6 @@
                return count;
        }
        if (!strcmp(name, "dst_max")) {
-                char buf[IP_NAME_SZ];
                len = strn_len(&user_buffer[i], sizeof(pkt_dev->dst_max) - 1);
                 if (len < 0) { return len; }
 
@@ -1112,9 +1111,7 @@
                return count;
        }
        if (!strcmp(name, "dst6")) {
-                char buf[128];
-
-               len = strn_len(&user_buffer[i], 128 - 1);
+               len = strn_len(&user_buffer[i], sizeof(buf) - 1);
                 if (len < 0) return len; 
 
                pkt_dev->flags |= F_IPV6;
@@ -1136,9 +1133,7 @@
                return count;
        }
        if (!strcmp(name, "dst6_min")) {
-                char buf[128];
-
-               len = strn_len(&user_buffer[i], 128 - 1);
+               len = strn_len(&user_buffer[i], sizeof(buf) - 1);
                 if (len < 0) return len; 
 
                pkt_dev->flags |= F_IPV6;
@@ -1159,9 +1154,7 @@
                return count;
        }
        if (!strcmp(name, "dst6_max")) {
-                char buf[128];
-
-               len = strn_len(&user_buffer[i], 128 - 1);
+               len = strn_len(&user_buffer[i], sizeof(buf) - 1);
                 if (len < 0) return len; 
 
                pkt_dev->flags |= F_IPV6;
@@ -1181,9 +1174,7 @@
                return count;
        }
        if (!strcmp(name, "src6")) {
-                char buf[128];
-
-               len = strn_len(&user_buffer[i], 128 - 1);
+               len = strn_len(&user_buffer[i], sizeof(buf) - 1);
                 if (len < 0) return len; 
 
                pkt_dev->flags |= F_IPV6;
@@ -1205,7 +1196,6 @@
                return count;
        }
        if (!strcmp(name, "src_min")) {
-                char buf[IP_NAME_SZ];
                len = strn_len(&user_buffer[i], sizeof(pkt_dev->src_min) - 1);
                 if (len < 0) { return len; }
                 if (copy_from_user(buf, &user_buffer[i], len))
@@ -1224,7 +1214,6 @@
                return count;
        }
        if (!strcmp(name, "src_max")) {
-                char buf[IP_NAME_SZ];
                len = strn_len(&user_buffer[i], sizeof(pkt_dev->src_max) - 1);
                 if (len < 0) { return len; }
                 if (copy_from_user(buf, &user_buffer[i], len))

<Prev in Thread] Current Thread [Next in Thread>