From patchwork Fri Jan 19 16:00:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 125188 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp354929ljf; Fri, 19 Jan 2018 08:02:05 -0800 (PST) X-Google-Smtp-Source: AH8x226rKWEY1rIevD9U/S01EZ80A11ASN2of0PMVZZrQndgfow+z3DmqsganL+k2ALOhit+U/7U X-Received: by 10.55.110.194 with SMTP id j185mr1284781qkc.327.1516377725437; Fri, 19 Jan 2018 08:02:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516377725; cv=none; d=google.com; s=arc-20160816; b=OOG+tH5AQWGh5fLEcLpQgMwIj+s88s7sLGZ2PD1CwqMfUJ9PxQioyq3UlbwgzVxzy6 JUNMqppetdk88GOv6GVv97nqAVNlSWPXd9akIFA2ndCyV4jyAqkS9B4sqz2Pm82cT5cC xOXvrTL2No6k9d2NDisCOwjH+CHC5vViDvcGPYVW6o+8KaHREx+foQ/rbCXoqaUPyW5o 92X0GayR19PvYmDJacGuxAYWkE7wpMaS9TraGorvfIWQ90TSb7fmSLG2dsftj31d+FJG eLVf9YGXS5X6ymFB5a/D7hDTRlyfXPYiKN73SE+PDVo4vylHC3cX4HqaaneGApoK9NP8 cUFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=Nj8r7iPcq1yauiBgvglvWf92IL2HUaaL17cqgtL8VFQ=; b=CDyVjN8z7JBUE13GZHz69lL7xir2RhJwXXjY74eX6cG9u/zRfb1D2VivUKySUcaUCb F5WJEReNaCiXv+16KV4l50Y53kfhCHEqIfPgBs68QE75qeDNNXLr05wV7F3FId9znTDj JP06oreywwGB/tRry1u26dC+7MU0cqDyul11NjJf6OS1ycDw/TyHmQsWq86jmI018GzL 922J+7+LJNqzNIW+2EOPi1oDbTQnChMpgsy3e1xYMgNxbol5+I9v1/TYVQCzd3HIVJpt N7dX1JqLHE6fN754+Amu0a/k8ZUAjodc8qVQrEuVr6UjckwXuVUFFgOF8SiA+QGGMnj3 ys+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id z22si4335054qti.386.2018.01.19.08.02.05; Fri, 19 Jan 2018 08:02:05 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 10718627D5; Fri, 19 Jan 2018 16:02:05 +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,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2 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 769B46281E; Fri, 19 Jan 2018 16:00:54 +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 E57BA617FC; Fri, 19 Jan 2018 16:00:43 +0000 (UTC) Received: from forward104p.mail.yandex.net (forward104p.mail.yandex.net [77.88.28.107]) by lists.linaro.org (Postfix) with ESMTPS id 0A61B60852 for ; Fri, 19 Jan 2018 16:00:42 +0000 (UTC) Received: from mxback4j.mail.yandex.net (mxback4j.mail.yandex.net [IPv6:2a02:6b8:0:1619::10d]) by forward104p.mail.yandex.net (Yandex) with ESMTP id 03A3A183323 for ; Fri, 19 Jan 2018 19:00:40 +0300 (MSK) Received: from smtp4j.mail.yandex.net (smtp4j.mail.yandex.net [2a02:6b8:0:1619::15:6]) by mxback4j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id DYZssKCeUW-0dPKOfVS; Fri, 19 Jan 2018 19:00:39 +0300 Received: by smtp4j.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id L1KkttjRid-0deGJRVr; Fri, 19 Jan 2018 19:00:39 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Fri, 19 Jan 2018 19:00:20 +0300 Message-Id: <1516377621-1467-3-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516377621-1467-1-git-send-email-odpbot@yandex.ru> References: <1516377621-1467-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 410 Subject: [lng-odp] [PATCH API-NEXT v1 2/3] linux-generic: pktio: drop support for indefinite waits in recv_tmo X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Bill Fischofer Drop support for the deprecated ODP_PKTIN_WAIT option on odp_pktin_recv_tmo() and odp_pktin_recv_mq_tmo() Signed-off-by: Bill Fischofer --- /** Email created from pull request 410 (Bill-Fischofer-Linaro:pktio-dropwait) ** https://github.com/Linaro/odp/pull/410 ** Patch: https://github.com/Linaro/odp/pull/410.patch ** Base sha: e77675624b9cfcd6ea83d11804ed0715b7fad2ec ** Merge commit sha: 203a819ff5a42c5c91240db386f4759a47813c99 **/ .../include/odp/api/plat/packet_io_types.h | 1 - platform/linux-generic/odp_packet_io.c | 60 ++++++++++------------ 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/platform/linux-generic/include/odp/api/plat/packet_io_types.h b/platform/linux-generic/include/odp/api/plat/packet_io_types.h index 68ec964ca..7436bd3aa 100644 --- a/platform/linux-generic/include/odp/api/plat/packet_io_types.h +++ b/platform/linux-generic/include/odp/api/plat/packet_io_types.h @@ -45,7 +45,6 @@ typedef struct odp_pktout_queue_t { #define ODP_PKTIO_MACADDR_MAXSIZE 16 #define ODP_PKTIN_NO_WAIT 0 -#define ODP_PKTIN_WAIT UINT64_MAX /** Get printable format of odp_pktio_t */ static inline uint64_t odp_pktio_to_u64(odp_pktio_t hdl) diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index e8cfc7584..eb514ea55 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -1692,29 +1692,26 @@ int odp_pktin_recv_tmo(odp_pktin_queue_t queue, odp_packet_t packets[], int num, if (wait == 0) return 0; - if (wait != ODP_PKTIN_WAIT) { - /* Avoid unnecessary system calls. Record the start time - * only when needed and after the first call to recv. */ - if (odp_unlikely(!started)) { - odp_time_t t; - - t = odp_time_local_from_ns(wait * SLEEP_NSEC); - started = 1; - t1 = odp_time_sum(odp_time_local(), t); - } - - /* Check every SLEEP_CHECK rounds if total wait time - * has been exceeded. */ - if ((wait & (SLEEP_CHECK - 1)) == 0) { - t2 = odp_time_local(); + /* Avoid unnecessary system calls. Record the start time + * only when needed and after the first call to recv. */ + if (odp_unlikely(!started)) { + odp_time_t t; + + t = odp_time_local_from_ns(wait * SLEEP_NSEC); + started = 1; + t1 = odp_time_sum(odp_time_local(), t); + } - if (odp_time_cmp(t2, t1) > 0) - return 0; - } + /* Check every SLEEP_CHECK rounds if total wait time + * has been exceeded. */ + if ((wait & (SLEEP_CHECK - 1)) == 0) { + t2 = odp_time_local(); - wait--; + if (odp_time_cmp(t2, t1) > 0) + return 0; } + wait--; nanosleep(&ts, NULL); } } @@ -1746,25 +1743,22 @@ int odp_pktin_recv_mq_tmo(const odp_pktin_queue_t queues[], unsigned num_q, if (wait == 0) return 0; - if (wait != ODP_PKTIN_WAIT) { - if (odp_unlikely(!started)) { - odp_time_t t; + if (odp_unlikely(!started)) { + odp_time_t t; - t = odp_time_local_from_ns(wait * SLEEP_NSEC); - started = 1; - t1 = odp_time_sum(odp_time_local(), t); - } - - if ((wait & (SLEEP_CHECK - 1)) == 0) { - t2 = odp_time_local(); + t = odp_time_local_from_ns(wait * SLEEP_NSEC); + started = 1; + t1 = odp_time_sum(odp_time_local(), t); + } - if (odp_time_cmp(t2, t1) > 0) - return 0; - } + if ((wait & (SLEEP_CHECK - 1)) == 0) { + t2 = odp_time_local(); - wait--; + if (odp_time_cmp(t2, t1) > 0) + return 0; } + wait--; nanosleep(&ts, NULL); } }