From patchwork Fri Aug 21 15:59:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 75821 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 290F6A04B0; Fri, 21 Aug 2020 18:00:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C45E21C0B0; Fri, 21 Aug 2020 18:00:02 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 17FA1AAD5 for ; Fri, 21 Aug 2020 18:00:00 +0200 (CEST) IronPort-SDR: KzARs8ZQxZtr2GgCQaqCUD9tElZCnl0225GEUQF5gJuW5h0fNXZXf3IXMMoP0IsWw+LQABYptb uA9TdsQHm5+g== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="173607821" X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="173607821" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2020 09:00:00 -0700 IronPort-SDR: 2rk69MhXl3rFVMJC1QXqIyAZXpacvlDPpfo7Z2w+E6YogjM/uQZyQwwuhL6fYCP3sIJM2qLfXQ B4IFCbZr5MRQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="473094248" Received: from silpixa00399126.ir.intel.com ([10.237.222.56]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2020 08:59:58 -0700 From: Bruce Richardson To: Hemant Agrawal , Nipun Gupta Cc: dev@dpdk.org, Bruce Richardson Date: Fri, 21 Aug 2020 16:59:42 +0100 Message-Id: <20200821155945.29415-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821155945.29415-1-bruce.richardson@intel.com> References: <20200821155945.29415-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/4] raw/ioat: support multiple devices being tested X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The current selftest function uses a single global variable to track state which implies that only a single instance can have the selftest function called on it. Change this to an array to allow multiple instances to be tested. Signed-off-by: Bruce Richardson --- drivers/raw/ioat/ioat_rawdev_test.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c index 724cdb9e74..6262995256 100644 --- a/drivers/raw/ioat/ioat_rawdev_test.c +++ b/drivers/raw/ioat/ioat_rawdev_test.c @@ -9,10 +9,13 @@ #include "rte_ioat_rawdev.h" #include "ioat_private.h" +#define MAX_SUPPORTED_RAWDEVS 64 +#define TEST_SKIPPED 77 + int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */ static struct rte_mempool *pool; -static unsigned short expected_ring_size; +static unsigned short expected_ring_size[MAX_SUPPORTED_RAWDEVS]; static int test_enqueue_copies(int dev_id) @@ -149,10 +152,16 @@ ioat_rawdev_test(uint16_t dev_id) unsigned int nb_xstats; unsigned int i; + if (dev_id >= MAX_SUPPORTED_RAWDEVS) { + printf("Skipping test. Cannot test rawdevs with id's greater than %d\n", + MAX_SUPPORTED_RAWDEVS); + return TEST_SKIPPED; + } + rte_rawdev_info_get(dev_id, &info, sizeof(p)); - if (p.ring_size != expected_ring_size) { + if (p.ring_size != expected_ring_size[dev_id]) { printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", - (int)p.ring_size, expected_ring_size); + (int)p.ring_size, expected_ring_size[dev_id]); return -1; } @@ -167,7 +176,7 @@ ioat_rawdev_test(uint16_t dev_id) IOAT_TEST_RINGSIZE, (int)p.ring_size); return -1; } - expected_ring_size = p.ring_size; + expected_ring_size[dev_id] = p.ring_size; if (rte_rawdev_start(dev_id) != 0) { printf("Error with rte_rawdev_start()\n"); From patchwork Fri Aug 21 15:59:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 75822 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A9457A04AF; Fri, 21 Aug 2020 18:00:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 262E31C0B6; Fri, 21 Aug 2020 18:00:04 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5F8EFAAD5 for ; Fri, 21 Aug 2020 18:00:02 +0200 (CEST) IronPort-SDR: yPWSnNZ9IjqMoEhzo1p4sifDnv5xZoXnz51C5vn+UiUMjaXyLI1YjlzGJ69S4sjKe60bHAMaDN WjEtx7euBLmA== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="173607832" X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="173607832" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2020 09:00:01 -0700 IronPort-SDR: lp1QtJ5Uju3GCnLbNf47X4YfpkLZrWirrrPayy2P1cY8dIT5o5S1WKN/WeSS8mNYLQvIPANra4 7tk7atmij1Hg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="473094274" Received: from silpixa00399126.ir.intel.com ([10.237.222.56]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2020 09:00:00 -0700 From: Bruce Richardson To: Hemant Agrawal , Nipun Gupta Cc: dev@dpdk.org, Bruce Richardson Date: Fri, 21 Aug 2020 16:59:43 +0100 Message-Id: <20200821155945.29415-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821155945.29415-1-bruce.richardson@intel.com> References: <20200821155945.29415-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/4] raw/ioat: include extra info in error messages X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In case of any failures, include the function name and the line number of the error message in the message, to make tracking down the failure easier. Signed-off-by: Bruce Richardson --- drivers/raw/ioat/ioat_rawdev_test.c | 52 +++++++++++++++++++---------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c index 6262995256..534b07b124 100644 --- a/drivers/raw/ioat/ioat_rawdev_test.c +++ b/drivers/raw/ioat/ioat_rawdev_test.c @@ -17,6 +17,22 @@ int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */ static struct rte_mempool *pool; static unsigned short expected_ring_size[MAX_SUPPORTED_RAWDEVS]; +#define PRINT_ERR(...) print_err(__func__, __LINE__, __VA_ARGS__) + +static inline int +print_err(const char *func, int lineno, const char *format, ...) +{ + va_list ap; + int ret; + + ret = fprintf(stderr, "In %s:%d - ", func, lineno); + va_start(ap, format); + ret += vfprintf(stderr, format, ap); + va_end(ap); + + return ret; +} + static int test_enqueue_copies(int dev_id) { @@ -46,7 +62,7 @@ test_enqueue_copies(int dev_id) (uintptr_t)src, (uintptr_t)dst, 0 /* no fence */) != 1) { - printf("Error with rte_ioat_enqueue_copy\n"); + PRINT_ERR("Error with rte_ioat_enqueue_copy\n"); return -1; } rte_ioat_do_copies(dev_id); @@ -54,18 +70,18 @@ test_enqueue_copies(int dev_id) if (rte_ioat_completed_copies(dev_id, 1, (void *)&completed[0], (void *)&completed[1]) != 1) { - printf("Error with rte_ioat_completed_copies\n"); + PRINT_ERR("Error with rte_ioat_completed_copies\n"); return -1; } if (completed[0] != src || completed[1] != dst) { - printf("Error with completions: got (%p, %p), not (%p,%p)\n", + PRINT_ERR("Error with completions: got (%p, %p), not (%p,%p)\n", completed[0], completed[1], src, dst); return -1; } for (i = 0; i < length; i++) if (dst_data[i] != src_data[i]) { - printf("Data mismatch at char %u\n", i); + PRINT_ERR("Data mismatch at char %u\n", i); return -1; } rte_pktmbuf_free(src); @@ -98,7 +114,7 @@ test_enqueue_copies(int dev_id) (uintptr_t)srcs[i], (uintptr_t)dsts[i], 0 /* nofence */) != 1) { - printf("Error with rte_ioat_enqueue_copy for buffer %u\n", + PRINT_ERR("Error with rte_ioat_enqueue_copy for buffer %u\n", i); return -1; } @@ -108,18 +124,18 @@ test_enqueue_copies(int dev_id) if (rte_ioat_completed_copies(dev_id, 64, (void *)completed_src, (void *)completed_dst) != RTE_DIM(srcs)) { - printf("Error with rte_ioat_completed_copies\n"); + PRINT_ERR("Error with rte_ioat_completed_copies\n"); return -1; } for (i = 0; i < RTE_DIM(srcs); i++) { char *src_data, *dst_data; if (completed_src[i] != srcs[i]) { - printf("Error with source pointer %u\n", i); + PRINT_ERR("Error with source pointer %u\n", i); return -1; } if (completed_dst[i] != dsts[i]) { - printf("Error with dest pointer %u\n", i); + PRINT_ERR("Error with dest pointer %u\n", i); return -1; } @@ -127,7 +143,7 @@ test_enqueue_copies(int dev_id) dst_data = rte_pktmbuf_mtod(dsts[i], char *); for (j = 0; j < length; j++) if (src_data[j] != dst_data[j]) { - printf("Error with copy of packet %u, byte %u\n", + PRINT_ERR("Error with copy of packet %u, byte %u\n", i, j); return -1; } @@ -160,26 +176,26 @@ ioat_rawdev_test(uint16_t dev_id) rte_rawdev_info_get(dev_id, &info, sizeof(p)); if (p.ring_size != expected_ring_size[dev_id]) { - printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", + PRINT_ERR("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", (int)p.ring_size, expected_ring_size[dev_id]); return -1; } p.ring_size = IOAT_TEST_RINGSIZE; if (rte_rawdev_configure(dev_id, &info, sizeof(p)) != 0) { - printf("Error with rte_rawdev_configure()\n"); + PRINT_ERR("Error with rte_rawdev_configure()\n"); return -1; } rte_rawdev_info_get(dev_id, &info, sizeof(p)); if (p.ring_size != IOAT_TEST_RINGSIZE) { - printf("Error, ring size is not %d (%d)\n", + PRINT_ERR("Error, ring size is not %d (%d)\n", IOAT_TEST_RINGSIZE, (int)p.ring_size); return -1; } expected_ring_size[dev_id] = p.ring_size; if (rte_rawdev_start(dev_id) != 0) { - printf("Error with rte_rawdev_start()\n"); + PRINT_ERR("Error with rte_rawdev_start()\n"); return -1; } @@ -190,7 +206,7 @@ ioat_rawdev_test(uint16_t dev_id) 2048, /* data room size */ info.socket_id); if (pool == NULL) { - printf("Error with mempool creation\n"); + PRINT_ERR("Error with mempool creation\n"); return -1; } @@ -199,14 +215,14 @@ ioat_rawdev_test(uint16_t dev_id) snames = malloc(sizeof(*snames) * nb_xstats); if (snames == NULL) { - printf("Error allocating xstat names memory\n"); + PRINT_ERR("Error allocating xstat names memory\n"); goto err; } rte_rawdev_xstats_names_get(dev_id, snames, nb_xstats); ids = malloc(sizeof(*ids) * nb_xstats); if (ids == NULL) { - printf("Error allocating xstat ids memory\n"); + PRINT_ERR("Error allocating xstat ids memory\n"); goto err; } for (i = 0; i < nb_xstats; i++) @@ -214,7 +230,7 @@ ioat_rawdev_test(uint16_t dev_id) stats = malloc(sizeof(*stats) * nb_xstats); if (stats == NULL) { - printf("Error allocating xstat memory\n"); + PRINT_ERR("Error allocating xstat memory\n"); goto err; } @@ -234,7 +250,7 @@ ioat_rawdev_test(uint16_t dev_id) rte_rawdev_stop(dev_id); if (rte_rawdev_xstats_reset(dev_id, NULL, 0) != 0) { - printf("Error resetting xstat values\n"); + PRINT_ERR("Error resetting xstat values\n"); goto err; } From patchwork Fri Aug 21 15:59:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 75823 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 68CECA04AF; Fri, 21 Aug 2020 18:00:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 331D71C0BF; Fri, 21 Aug 2020 18:00:06 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 7252C1C0BC for ; Fri, 21 Aug 2020 18:00:04 +0200 (CEST) IronPort-SDR: 95BoUfQlwqfGEL6VFt1Fgca3XsKzheNVqg17LtZ6t4pirEGRiaDyXc9qtR4YApeapIbbisWnMf 4jriXXEayPQA== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="173607845" X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="173607845" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2020 09:00:04 -0700 IronPort-SDR: gLncLYx1zWVTgbgpchrgv3/zHfQAnvirbeVgvH0uWvCt7Djn8tfRLulm9VX8FPYY6jdT5j5O6c wT2yMLHuDeOQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="473094323" Received: from silpixa00399126.ir.intel.com ([10.237.222.56]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2020 09:00:02 -0700 From: Bruce Richardson To: Hemant Agrawal , Nipun Gupta Cc: dev@dpdk.org, Bruce Richardson Date: Fri, 21 Aug 2020 16:59:44 +0100 Message-Id: <20200821155945.29415-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821155945.29415-1-bruce.richardson@intel.com> References: <20200821155945.29415-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/4] app/test: change rawdev autotest to run selftest on all devs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Rather than having each rawdev provide its own autotest command, we can instead just use the generic rawdev_autotest to test any and all available rawdevs. Signed-off-by: Bruce Richardson --- app/test/test_rawdev.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c index d8d9595be1..0e25ccf8dc 100644 --- a/app/test/test_rawdev.c +++ b/app/test/test_rawdev.c @@ -14,14 +14,38 @@ static int test_rawdev_selftest_impl(const char *pmd, const char *opts) { + int ret; + + printf("\n### Test rawdev infrastructure using skeleton driver\n"); rte_vdev_init(pmd, opts); - return rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd)); + ret = rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd)); + rte_vdev_uninit(pmd); + return ret; } static int test_rawdev_selftest_skeleton(void) { - return test_rawdev_selftest_impl("rawdev_skeleton", ""); + const int count = rte_rawdev_count(); + int ret = 0; + int i; + + /* basic sanity on rawdev infrastructure */ + if (test_rawdev_selftest_impl("rawdev_skeleton", "") < 0) + return -1; + + /* now run self-test on all rawdevs */ + if (count > 0) + printf("\n### Run selftest on each available rawdev\n"); + for (i = 0; i < count; i++) { + int result = rte_rawdev_selftest(i); + printf("Rawdev %u (%s) selftest: %s\n", i, + rte_rawdevs[i].name, + result == 0 ? "Passed" : "Failed"); + ret |= result; + } + + return ret; } REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftest_skeleton); From patchwork Fri Aug 21 15:59:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 75824 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8DC2BA04AF; Fri, 21 Aug 2020 18:00:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CDE261C0C6; Fri, 21 Aug 2020 18:00:08 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 50BAC1C0C2 for ; Fri, 21 Aug 2020 18:00:06 +0200 (CEST) IronPort-SDR: gTt2d+OqflM9YtuifddZjwxKZRtVd9caZg2mVI3ek5+pNb2Z1H9IhAXYh4+3F5LRb+eDJutAsO oH4f0yNMS+Qw== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="173607868" X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="173607868" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2020 09:00:05 -0700 IronPort-SDR: HzHG5lyI3kSIYBCbZxIFb9KKddignreLzXblZ49RSwHbdChZ8i/2H5XUocYLknuDnFxbb1BvP8 mVyAH/MlLz1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="473094356" Received: from silpixa00399126.ir.intel.com ([10.237.222.56]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2020 09:00:04 -0700 From: Bruce Richardson To: Hemant Agrawal , Nipun Gupta Cc: dev@dpdk.org, Bruce Richardson Date: Fri, 21 Aug 2020 16:59:45 +0100 Message-Id: <20200821155945.29415-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821155945.29415-1-bruce.richardson@intel.com> References: <20200821155945.29415-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 4/4] app/test: remove ioat-specific autotest X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Since the rawdev autotest can now be used to test all rawdevs on the system, there is no need for a dedicated ioat autotest command. Signed-off-by: Bruce Richardson --- app/test/test_rawdev.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c index 0e25ccf8dc..44651ba3cc 100644 --- a/app/test/test_rawdev.c +++ b/app/test/test_rawdev.c @@ -49,23 +49,3 @@ test_rawdev_selftest_skeleton(void) } REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftest_skeleton); - -static int -test_rawdev_selftest_ioat(void) -{ - const int count = rte_rawdev_count(); - int i; - - for (i = 0; i < count; i++) { - struct rte_rawdev_info info = { .dev_private = NULL }; - if (rte_rawdev_info_get(i, &info, 0) == 0 && - strstr(info.driver_name, "ioat") != NULL) - return rte_rawdev_selftest(i) == 0 ? - TEST_SUCCESS : TEST_FAILED; - } - - printf("No IOAT rawdev found, skipping tests\n"); - return TEST_SKIPPED; -} - -REGISTER_TEST_COMMAND(ioat_rawdev_autotest, test_rawdev_selftest_ioat);