mbuf: fix performance with 128-byte cache line
[dpdk.git] / app / test / autotest_data.py
index 7c5b964..6f34d6b 100644 (file)
@@ -1,36 +1,35 @@
 #!/usr/bin/python
 
 #   BSD LICENSE
-# 
-#   Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
+#
+#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
 #   All rights reserved.
-# 
-#   Redistribution and use in source and binary forms, with or without 
-#   modification, are permitted provided that the following conditions 
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
 #   are met:
-# 
-#     * Redistributions of source code must retain the above copyright 
+#
+#     * Redistributions of source code must retain the above copyright
 #       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright 
-#       notice, this list of conditions and the following disclaimer in 
-#       the documentation and/or other materials provided with the 
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
 #       distribution.
-#     * Neither the name of Intel Corporation nor the names of its 
-#       contributors may be used to endorse or promote products derived 
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
 #       from this software without specific prior written permission.
-# 
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# 
 
 # Test data for autotests
 
@@ -39,13 +38,15 @@ from autotest_test_funcs import *
 
 # quick and dirty function to find out number of sockets
 def num_sockets():
-       return len(glob("/sys/devices/system/node/node*"))
+       result = len(glob("/sys/devices/system/node/node*"))
+       if result == 0:
+               return 1
+       return result
 
-# multiply given number for all sockets
-# e.g. 32 becomes 32,32 or 32,32,32,32 etc.
-def all_sockets(num):
-       mem_per_socket = num / num_sockets()
-       return ",".join([str(mem_per_socket)] * num_sockets())
+# Assign given number to each socket
+# e.g. 32 becomes 32,32 or 32,32,32,32
+def per_sockets(num):
+    return ",".join([str(num)] * num_sockets())
 
 # groups of tests that can be run in parallel
 # the grouping has been found largely empirically
@@ -53,8 +54,8 @@ parallel_test_group_list = [
 
 {
        "Prefix":       "group_1",
-       "Memory" :      "2",
-       "Tests" :       
+       "Memory" :      per_sockets(8),
+       "Tests" :
        [
                {
                 "Name" :       "Timer autotest",
@@ -74,6 +75,18 @@ parallel_test_group_list = [
                 "Func" :       default_autotest,
                 "Report" :     None,
                },
+               {
+                "Name" :       "Meter autotest",
+                "Command" :    "meter_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+               {
+                "Name" :       "Common autotest",
+                "Command" :    "common_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
                {
                 "Name" :       "Dump log history",
                 "Command" :    "dump_log_history",
@@ -96,8 +109,8 @@ parallel_test_group_list = [
 },
 {
        "Prefix":       "group_2",
-       "Memory" :      "32",
-       "Tests" :       
+       "Memory" :      "64",
+       "Tests" :
        [
                {
                 "Name" :       "Memory autotest",
@@ -151,8 +164,8 @@ parallel_test_group_list = [
 },
 {
        "Prefix":       "group_3",
-       "Memory" :      all_sockets(256),
-       "Tests" :       
+       "Memory" :      per_sockets(1024),
+       "Tests" :
        [
                {
                 "Name" :       "LPM autotest",
@@ -160,6 +173,12 @@ parallel_test_group_list = [
                 "Func" :       default_autotest,
                 "Report" :     None,
                },
+               {
+                "Name" :       "IVSHMEM autotest",
+                "Command" :    "ivshmem_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
                {
                 "Name" :       "Memcpy autotest",
                 "Command" :    "memcpy_autotest",
@@ -188,8 +207,8 @@ parallel_test_group_list = [
 },
 {
        "Prefix":       "group_4",
-       "Memory" :      all_sockets(128),
-       "Tests" :       
+       "Memory" :      per_sockets(128),
+       "Tests" :
        [
                {
                 "Name" :       "PCI autotest",
@@ -221,12 +240,18 @@ parallel_test_group_list = [
                 "Func" :       default_autotest,
                 "Report" :     None,
                },
+               {
+                "Name" :       "Ring autotest",
+                "Command" :    "ring_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
        ]
 },
 {
        "Prefix":       "group_5",
-       "Memory" :      "16",
-       "Tests" :       
+       "Memory" :      "32",
+       "Tests" :
        [
                {
                 "Name" :       "Spinlock autotest",
@@ -262,8 +287,8 @@ parallel_test_group_list = [
 },
 {
        "Prefix":       "group_6",
-       "Memory" :      all_sockets(588),
-       "Tests" :       
+       "Memory" :      per_sockets(620),
+       "Tests" :
        [
                {
                 "Name" :       "Function reentrancy autotest",
@@ -288,7 +313,13 @@ parallel_test_group_list = [
                 "Command" :    "prefetch_autotest",
                 "Func" :       default_autotest,
                 "Report" :     None,
-               },
+                },
+               {
+                "Name" :"Red autotest",
+                "Command" : "red_autotest",
+                "Func" :default_autotest,
+                "Report" :None,
+                },
        ]
 },
 {
@@ -297,17 +328,23 @@ parallel_test_group_list = [
        "Tests" :
        [
                {
-                "Name" :       "Access list control autotest",
-                "Command" :    "acl_autotest",
+                "Name" :       "PMD ring autotest",
+                "Command" :    "ring_pmd_autotest",
                 "Func" :       default_autotest,
                 "Report" :     None,
                },
                {
-                "Name" :       "Pattern match autotest",
-                "Command" :    "pm_autotest",
+                "Name" :       "Access list control autotest",
+                "Command" :    "acl_autotest",
                 "Func" :       default_autotest,
                 "Report" :     None,
                },
+                {
+                "Name" :"Sched autotest",
+                "Command" : "sched_autotest",
+                "Func" :default_autotest,
+                "Report" :None,
+                },
        ]
 },
 ]
@@ -315,10 +352,23 @@ parallel_test_group_list = [
 # tests that should not be run when any other tests are running
 non_parallel_test_group_list = [
 
+{
+       "Prefix" :      "kni",
+       "Memory" :      "512",
+       "Tests" :
+       [
+               {
+                "Name" :       "KNI autotest",
+                "Command" :    "kni_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+       ]
+},
 {
        "Prefix":       "mempool_perf",
-       "Memory" :      all_sockets(256),
-       "Tests" :       
+       "Memory" :      per_sockets(256),
+       "Tests" :
        [
                {
                 "Name" :       "Cycles autotest",
@@ -336,8 +386,8 @@ non_parallel_test_group_list = [
 },
 {
        "Prefix":       "memcpy_perf",
-       "Memory" :      all_sockets(512),
-       "Tests" :       
+       "Memory" :      per_sockets(512),
+       "Tests" :
        [
                {
                 "Name" :       "Memcpy performance autotest",
@@ -349,8 +399,8 @@ non_parallel_test_group_list = [
 },
 {
        "Prefix":       "hash_perf",
-       "Memory" :      all_sockets(512),
-       "Tests" :       
+       "Memory" :      per_sockets(512),
+       "Tests" :
        [
                {
                 "Name" :       "Hash performance autotest",
@@ -361,17 +411,85 @@ non_parallel_test_group_list = [
        ]
 },
 {
-       "Prefix":       "ring_perf",
-       "Memory" :      all_sockets(512),
-       "Tests" :       
+       "Prefix" :      "power",
+       "Memory" :      per_sockets(512),
+       "Tests" :
        [
                {
-                "Name" :       "Ring autotest",
-                "Command" :    "ring_autotest",
-                "Func" :       ring_autotest,
+                "Name" :       "Power autotest",
+                "Command" :    "power_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+       ]
+},
+{
+       "Prefix" :      "power_acpi_cpufreq",
+       "Memory" :      per_sockets(512),
+       "Tests" :
+       [
+               {
+                "Name" :       "Power ACPI cpufreq autotest",
+                "Command" :    "power_acpi_cpufreq_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+       ]
+},
+{
+       "Prefix" :      "power_kvm_vm",
+       "Memory" :      "512",
+       "Tests" :
+       [
+               {
+                "Name" :       "Power KVM VM  autotest",
+                "Command" :    "power_kvm_vm_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+       ]
+},
+{
+       "Prefix" :      "lpm6",
+       "Memory" :      "512",
+       "Tests" :
+       [
+               {
+                 "Name" :       "LPM6 autotest",
+                 "Command" :    "lpm6_autotest",
+                 "Func" :       default_autotest,
+                 "Report" :     None,
+                },
+       ]
+},
+{
+       "Prefix":       "timer_perf",
+       "Memory" :      per_sockets(512),
+       "Tests" :
+       [
+               {
+                "Name" :       "Timer performance autotest",
+                "Command" :    "timer_perf_autotest",
+                "Func" :       default_autotest,
                 "Report" :     None,
                },
        ]
 },
 
+#
+# Please always make sure that ring_perf is the last test!
+#
+{
+       "Prefix":       "ring_perf",
+       "Memory" :      per_sockets(512),
+       "Tests" :
+       [
+               {
+                "Name" :       "Ring performance autotest",
+                "Command" :    "ring_perf_autotest",
+                "Func" :       default_autotest,
+                "Report" :     None,
+               },
+       ]
+},
 ]