From patchwork Wed Aug 26 09:10:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Uvarov X-Patchwork-Id: 52718 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f199.google.com (mail-lb0-f199.google.com [209.85.217.199]) by patches.linaro.org (Postfix) with ESMTPS id 011BD22E9E for ; Wed, 26 Aug 2015 09:15:44 +0000 (UTC) Received: by lbcue2 with SMTP id ue2sf59972530lbc.1 for ; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:delivered-to:from:to:date :message-id:in-reply-to:references:subject:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:list-subscribe :mime-version:content-type:content-transfer-encoding:errors-to :sender:x-original-sender:x-original-authentication-results :mailing-list; bh=7Tr3m/8JlIf5V8TUqn6g+veZbS3lUkPDBn7bHqz6xz4=; b=GEWKer7yWx+EsjH9OB4RPMIsfPP0AOAGJcHMP+QcDrkfrvLvfumy1h2UFZ5KnRLY3N MlBHmMTIe1H0DMjGsGAK8Rzlw4yRMrrVvTudLYtu3bgHE2MHjVnNjp9HL5JJZ23N2JmC UMS+Pv5fPn0KNo0HFN+uiStcbis1/Wg+KuOrtOjMaVQwI2mVHOXwDHlNeuytmdRb4Wev RMXC6AQLFa7FlAHPGnLAIN/XqcskcjLKFH4QIdnk9CT3rXcV28+ZpwRHF6SfuBlnj4mr 3++QIo8Z6r1HaZsHi6kAL+N0gioozksPKzK2G6HrkEdp4zivmofE5/Bd+E/zUsC3yhyp JCVQ== X-Gm-Message-State: ALoCoQnkxI3jeMUW7kGbOtrGz8yR+foBfuz/fYSGatDc2JFlH/L12i1i/BJ1EO4IYoV6FIeG2xYe X-Received: by 10.112.138.2 with SMTP id qm2mr9700059lbb.19.1440580542944; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.43.229 with SMTP id z5ls269773lal.8.gmail; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) X-Received: by 10.112.234.165 with SMTP id uf5mr29182793lbc.91.1440580542781; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) Received: from mail-la0-f46.google.com (mail-la0-f46.google.com. [209.85.215.46]) by mx.google.com with ESMTPS id wq1si18294300lac.103.2015.08.26.02.15.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 26 Aug 2015 02:15:42 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.46 as permitted sender) client-ip=209.85.215.46; Received: by labia3 with SMTP id ia3so50669405lab.3 for ; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) X-Received: by 10.152.203.134 with SMTP id kq6mr30059568lac.106.1440580542657; Wed, 26 Aug 2015 02:15:42 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.162.200 with SMTP id yc8csp3776385lbb; Wed, 26 Aug 2015 02:15:41 -0700 (PDT) X-Received: by 10.140.195.148 with SMTP id q142mr77237929qha.92.1440580540931; Wed, 26 Aug 2015 02:15:40 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id j86si30044377qkh.30.2015.08.26.02.15.40; Wed, 26 Aug 2015 02:15:40 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Received: by lists.linaro.org (Postfix, from userid 109) id 1E32061FBF; Wed, 26 Aug 2015 09:15:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 9346C62067; Wed, 26 Aug 2015 09:11:29 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 4569061E65; Wed, 26 Aug 2015 09:11:06 +0000 (UTC) Received: from mail-lb0-f171.google.com (mail-lb0-f171.google.com [209.85.217.171]) by lists.linaro.org (Postfix) with ESMTPS id B2E6962023 for ; Wed, 26 Aug 2015 09:10:51 +0000 (UTC) Received: by lbbtg9 with SMTP id tg9so116474881lbb.1 for ; Wed, 26 Aug 2015 02:10:50 -0700 (PDT) X-Received: by 10.112.168.100 with SMTP id zv4mr29427348lbb.117.1440580250619; Wed, 26 Aug 2015 02:10:50 -0700 (PDT) Received: from localhost.localdomain (ppp91-76-161-180.pppoe.mtu-net.ru. [91.76.161.180]) by smtp.gmail.com with ESMTPSA id kc4sm6569409lbc.39.2015.08.26.02.10.49 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 26 Aug 2015 02:10:50 -0700 (PDT) From: Maxim Uvarov To: lng-odp@lists.linaro.org Date: Wed, 26 Aug 2015 12:10:37 +0300 Message-Id: <1440580237-21578-8-git-send-email-maxim.uvarov@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1440580237-21578-1-git-send-email-maxim.uvarov@linaro.org> References: <1440580237-21578-1-git-send-email-maxim.uvarov@linaro.org> X-Topics: patch Subject: [lng-odp] [API-NEXT PATCHv4 7/7] linux-generic: default state for pktio is STOP X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: maxim.uvarov@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.46 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 After open pktio remains stopped. Inside worker thread (after all configuration done it should be started.) In that patch I just start it everywhere to keep original logic and be easy for review. Putting it inside worker threads will require thread arguments change and understanding logic of current app. It's better to do further changes in separate patches per app. Signed-off-by: Maxim Uvarov --- example/classifier/odp_classifier.c | 1 + example/generator/odp_generator.c | 2 +- example/ipsec/odp_ipsec.c | 1 + example/packet/odp_pktio.c | 1 + platform/linux-generic/pktio/loop.c | 2 +- platform/linux-generic/pktio/socket.c | 2 +- platform/linux-generic/pktio/socket_mmap.c | 2 +- test/performance/odp_l2fwd.c | 1 + test/performance/odp_pktio_perf.c | 2 +- test/validation/classification/odp_classification_tests.c | 1 + test/validation/pktio/pktio.c | 1 + 11 files changed, 11 insertions(+), 5 deletions(-) diff --git a/example/classifier/odp_classifier.c b/example/classifier/odp_classifier.c index ac204af..ffa39f8 100644 --- a/example/classifier/odp_classifier.c +++ b/example/classifier/odp_classifier.c @@ -210,6 +210,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool) EXAMPLE_ERR("pktio create failed for %s\n", dev); exit(EXIT_FAILURE); } + odp_pktio_start(pktio); /* @todo: move to worker thread */ odp_queue_param_init(&qparam); qparam.sched.prio = ODP_SCHED_PRIO_DEFAULT; diff --git a/example/generator/odp_generator.c b/example/generator/odp_generator.c index 35a6fa8..3cf99fa 100644 --- a/example/generator/odp_generator.c +++ b/example/generator/odp_generator.c @@ -333,10 +333,10 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool) /* Open a packet IO instance */ pktio = odp_pktio_open(dev, pool, &pktio_param); - if (pktio == ODP_PKTIO_INVALID) EXAMPLE_ABORT("Error: pktio create failed for %s\n", dev); + odp_pktio_start(pktio); /* @todo: move to worker thread */ /* * Create and set the default INPUT queue associated with the 'pktio' * resource diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c index d392925..c1401d7 100644 --- a/example/ipsec/odp_ipsec.c +++ b/example/ipsec/odp_ipsec.c @@ -529,6 +529,7 @@ void initialize_intf(char *intf) EXAMPLE_ERR("Error: pktio create failed for %s\n", intf); exit(EXIT_FAILURE); } + odp_pktio_start(pktio); /* @todo: move to worker thread */ outq_def = odp_pktio_outq_getdef(pktio); /* diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c index f4574a2..66dce07 100644 --- a/example/packet/odp_pktio.c +++ b/example/packet/odp_pktio.c @@ -138,6 +138,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool, int mode) pktio = odp_pktio_open(dev, pool, &pktio_param); if (pktio == ODP_PKTIO_INVALID) EXAMPLE_ABORT("Error: pktio create failed for %s\n", dev); + odp_pktio_start(pktio); /* @todo: move to worker thread */ snprintf(inq_name, sizeof(inq_name), "%" PRIu64 "-pktio_inq_def", odp_pktio_to_u64(pktio)); diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c index f61ccd5..ef77e34 100644 --- a/platform/linux-generic/pktio/loop.c +++ b/platform/linux-generic/pktio/loop.c @@ -41,7 +41,7 @@ static int loopback_open(odp_pktio_t id, pktio_entry_t *pktio_entry, if (pktio_entry->s.pkt_loop.loopq == ODP_QUEUE_INVALID) return -1; - pktio_entry->s.state = STATE_START; + pktio_entry->s.state = STATE_STOP; return 0; } diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c index 7db9747..f1dd39c 100644 --- a/platform/linux-generic/pktio/socket.c +++ b/platform/linux-generic/pktio/socket.c @@ -248,7 +248,7 @@ static int sock_setup_pkt(pktio_entry_t *pktio_entry, const char *netdev, goto error; } - pktio_entry->s.state = STATE_START; + pktio_entry->s.state = STATE_STOP; return 0; error: diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c index 2e55672..3fd2b0f 100644 --- a/platform/linux-generic/pktio/socket_mmap.c +++ b/platform/linux-generic/pktio/socket_mmap.c @@ -486,7 +486,7 @@ static int sock_mmap_open(odp_pktio_t id ODP_UNUSED, goto error; } - pktio_entry->s.state = STATE_START; + pktio_entry->s.state = STATE_STOP; return 0; error: diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c index 366bb15..2a8ed68 100644 --- a/test/performance/odp_l2fwd.c +++ b/test/performance/odp_l2fwd.c @@ -292,6 +292,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t pool, printf("created pktio %" PRIu64 " (%s)\n", odp_pktio_to_u64(pktio), dev); + odp_pktio_start(pktio); /* @todo: move to worker thread */ /* no further setup needed for burst mode */ if (mode == APPL_MODE_PKT_BURST) diff --git a/test/performance/odp_pktio_perf.c b/test/performance/odp_pktio_perf.c index 1552579..5d739bc 100644 --- a/test/performance/odp_pktio_perf.c +++ b/test/performance/odp_pktio_perf.c @@ -709,7 +709,7 @@ static odp_pktio_t create_pktio(const char *iface, int schedule) pktio_param.in_mode = ODP_PKTIN_MODE_POLL; pktio = odp_pktio_open(iface, pool, &pktio_param); - + odp_pktio_start(pktio); /* @todo: move to worker thread */ return pktio; } diff --git a/test/validation/classification/odp_classification_tests.c b/test/validation/classification/odp_classification_tests.c index c44ceb9..0592066 100644 --- a/test/validation/classification/odp_classification_tests.c +++ b/test/validation/classification/odp_classification_tests.c @@ -306,6 +306,7 @@ int classification_suite_init(void) fprintf(stderr, "unable to destroy pool.\n"); return -1; } + odp_pktio_start(pktio_loop); /* @todo: move to worker thread */ qparam.sched.prio = ODP_SCHED_PRIO_DEFAULT; qparam.sched.sync = ODP_SCHED_SYNC_ATOMIC; qparam.sched.group = ODP_SCHED_GROUP_ALL; diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c index e995de7..7f51fd6 100644 --- a/test/validation/pktio/pktio.c +++ b/test/validation/pktio/pktio.c @@ -242,6 +242,7 @@ static odp_pktio_t create_pktio(const char *iface, odp_queue_type_t q_type, CU_ASSERT(pktio != ODP_PKTIO_INVALID); CU_ASSERT(odp_pktio_to_u64(pktio) != odp_pktio_to_u64(ODP_PKTIO_INVALID)); + odp_pktio_start(pktio); return pktio; }