From patchwork Wed Oct 21 23:47:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Fischofer X-Patchwork-Id: 55410 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lf0-f71.google.com (mail-lf0-f71.google.com [209.85.215.71]) by patches.linaro.org (Postfix) with ESMTPS id AD4162303B for ; Thu, 22 Oct 2015 00:04:31 +0000 (UTC) Received: by lffz202 with SMTP id z202sf23771586lff.3 for ; Wed, 21 Oct 2015 17:04:30 -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:cc: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=KpiwK+tBAlzOkyX8T2b+9uzqwol72dSDdbZhp74NmNk=; b=hyJCciysM3/gHDHfVFde2XcFFDRkmFvw/OBcBTHsjuLKS+/nRSavlHHAZcgRQDF0g+ IOfcT0z95QG0+z1MI0xJG+I0Jud9y89CXmd2MwjDfXhTSwaJERZ4zpnlwlDMIcr54yLK QeUkX9E0QcYNOq3z/mrIS/Dn2f16Wt1Zr8L7ZQyaBv2bjTTANkzG9Pkr+u/skAFe8YMd uY+cllMOhiAXaAm0Wnf8MZQs1MWWzbjKk2d8MT8G9qN9mt3kTLLl20IVdbvC0BsPAd9f QGdHQTtm00PeC0ZiPkyzMrul8oTTor6VChH4HE0Gef9fBnVZUMKnNjeQ/TpCuEw9fiu7 f2VA== X-Gm-Message-State: ALoCoQl/6Jc2Dq7NXYdJPLjkGsliJcdWsaa4iG5+LU7H+cX9RBesV4pFvlTFTM+pfM7Pbi2WLEPW X-Received: by 10.195.18.100 with SMTP id gl4mr2866517wjd.4.1445472270377; Wed, 21 Oct 2015 17:04:30 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.25.25.67 with SMTP id 64ls298714lfz.41.gmail; Wed, 21 Oct 2015 17:04:30 -0700 (PDT) X-Received: by 10.112.128.162 with SMTP id np2mr6735870lbb.98.1445472270216; Wed, 21 Oct 2015 17:04:30 -0700 (PDT) Received: from mail-lf0-f46.google.com (mail-lf0-f46.google.com. [209.85.215.46]) by mx.google.com with ESMTPS id x204si8013141lfd.125.2015.10.21.17.04.29 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Oct 2015 17:04:29 -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 lffv3 with SMTP id v3so29713079lff.0 for ; Wed, 21 Oct 2015 17:04:29 -0700 (PDT) X-Received: by 10.112.64.41 with SMTP id l9mr5920857lbs.32.1445472269856; Wed, 21 Oct 2015 17:04:29 -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.59.35 with SMTP id w3csp269139lbq; Wed, 21 Oct 2015 17:04:28 -0700 (PDT) X-Received: by 10.55.25.105 with SMTP id k102mr14854826qkh.65.1445472268833; Wed, 21 Oct 2015 17:04:28 -0700 (PDT) Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id e11si10673921qgf.0.2015.10.21.17.04.28; Wed, 21 Oct 2015 17:04:28 -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 588B662C01; Thu, 22 Oct 2015 00:04:28 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id BC14962C05; Wed, 21 Oct 2015 23:49:10 +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 2A0F762050; Wed, 21 Oct 2015 23:48:39 +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 mail-ob0-f175.google.com (mail-ob0-f175.google.com [209.85.214.175]) by lists.linaro.org (Postfix) with ESMTPS id 155E462BF9 for ; Wed, 21 Oct 2015 23:47:52 +0000 (UTC) Received: by obctp1 with SMTP id tp1so28220032obc.2 for ; Wed, 21 Oct 2015 16:47:51 -0700 (PDT) X-Received: by 10.182.181.42 with SMTP id dt10mr8015891obc.54.1445471271465; Wed, 21 Oct 2015 16:47:51 -0700 (PDT) Received: from Ubuntu15.localdomain (cpe-66-68-129-43.austin.res.rr.com. [66.68.129.43]) by smtp.gmail.com with ESMTPSA id hc5sm4696964obb.27.2015.10.21.16.47.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 21 Oct 2015 16:47:50 -0700 (PDT) From: Bill Fischofer To: lng-odp@lists.linaro.org Date: Wed, 21 Oct 2015 18:47:41 -0500 Message-Id: <1445471262-27299-4-git-send-email-bill.fischofer@linaro.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1445471262-27299-1-git-send-email-bill.fischofer@linaro.org> References: <1445471262-27299-1-git-send-email-bill.fischofer@linaro.org> X-Topics: patch Cc: Barry Spinney Subject: [lng-odp] [API-NEXT PATCHv5 3/4] linux-generic: tm: add tm to build 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: bill.fischofer@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 From: Barry Spinney This commit causes the traffic_mgr to become part of the ODP linux-generic build. Signed-off-by: Barry Spinney Signed-off-by: Bill Fischofer --- platform/linux-generic/Makefile.am | 13 ++++++++ platform/linux-generic/include/odp_internal.h | 2 ++ platform/linux-generic/odp_init.c | 5 +++ platform/linux-generic/odp_packet_flags.c | 45 +++++++++++++++++++++++++++ 4 files changed, 65 insertions(+) diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 85c976d..71b85d2 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -49,6 +49,7 @@ odpinclude_HEADERS = \ $(srcdir)/include/odp/ticketlock.h \ $(srcdir)/include/odp/time.h \ $(srcdir)/include/odp/timer.h \ + $(srcdir)/include/odp/traffic_mngr.h \ $(srcdir)/include/odp/version.h odpplatincludedir= $(includedir)/odp/plat @@ -75,6 +76,7 @@ odpplatinclude_HEADERS = \ $(srcdir)/include/odp/plat/thrmask_types.h \ $(srcdir)/include/odp/plat/ticketlock_types.h \ $(srcdir)/include/odp/plat/timer_types.h \ + $(srcdir)/include/odp/plat/traffic_mngr_types.h \ $(srcdir)/include/odp/plat/version_types.h odpapiincludedir= $(includedir)/odp/api @@ -116,6 +118,7 @@ odpapiinclude_HEADERS = \ $(top_srcdir)/include/odp/api/ticketlock.h \ $(top_srcdir)/include/odp/api/time.h \ $(top_srcdir)/include/odp/api/timer.h \ + $(top_srcdir)/include/odp/api/traffic_mngr.h \ $(top_srcdir)/include/odp/api/version.h noinst_HEADERS = \ @@ -131,16 +134,21 @@ noinst_HEADERS = \ ${srcdir}/include/odp_debug_internal.h \ ${srcdir}/include/odp_forward_typedefs_internal.h \ ${srcdir}/include/odp_internal.h \ + ${srcdir}/include/odp_name_table_internal.h \ ${srcdir}/include/odp_packet_internal.h \ ${srcdir}/include/odp_packet_io_internal.h \ ${srcdir}/include/odp_packet_io_queue.h \ ${srcdir}/include/odp_packet_netmap.h \ ${srcdir}/include/odp_packet_socket.h \ + ${srcdir}/include/odp_pkt_queue_internal.h \ ${srcdir}/include/odp_pool_internal.h \ ${srcdir}/include/odp_queue_internal.h \ ${srcdir}/include/odp_schedule_internal.h \ + ${srcdir}/include/odp_sorted_list_internal.h \ ${srcdir}/include/odp_spin_internal.h \ ${srcdir}/include/odp_timer_internal.h \ + ${srcdir}/include/odp_timer_wheel_internal.h \ + ${srcdir}/include/odp_traffic_mngr_internal.h \ ${srcdir}/include/odp_cpu_internal.h \ ${srcdir}/Makefile.inc @@ -156,6 +164,7 @@ __LIB__libodp_la_SOURCES = \ odp_event.c \ odp_init.c \ odp_impl.c \ + odp_name_table.c \ odp_packet.c \ odp_packet_flags.c \ odp_packet_io.c \ @@ -164,12 +173,14 @@ __LIB__libodp_la_SOURCES = \ pktio/netmap.c \ pktio/socket.c \ pktio/socket_mmap.c \ + odp_pkt_queue.c \ odp_pool.c \ odp_queue.c \ odp_rwlock.c \ odp_rwlock_recursive.c \ odp_schedule.c \ odp_shared_memory.c \ + odp_sorted_list.c \ odp_spinlock.c \ odp_spinlock_recursive.c \ odp_system_info.c \ @@ -178,6 +189,8 @@ __LIB__libodp_la_SOURCES = \ odp_ticketlock.c \ odp_time.c \ odp_timer.c \ + odp_timer_wheel.c \ + odp_traffic_mngr.c \ odp_version.c \ odp_weak.c \ arch/@ARCH@/odp_cpu_cycles.c diff --git a/platform/linux-generic/include/odp_internal.h b/platform/linux-generic/include/odp_internal.h index 8a1a219..a852c5b 100644 --- a/platform/linux-generic/include/odp_internal.h +++ b/platform/linux-generic/include/odp_internal.h @@ -78,6 +78,8 @@ int odp_schedule_term_local(void); int odp_timer_init_global(void); int odp_timer_disarm_all(void); +int odp_tm_init_global(void); + void _odp_flush_caches(void); #ifdef __cplusplus diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c index 48d9b20..c4de602 100644 --- a/platform/linux-generic/odp_init.c +++ b/platform/linux-generic/odp_init.c @@ -71,6 +71,11 @@ int odp_init_global(const odp_init_t *params, return -1; } + if (odp_tm_init_global()) { + ODP_ERR("ODP traffic manager init failed\n"); + return -1; + } + return 0; } diff --git a/platform/linux-generic/odp_packet_flags.c b/platform/linux-generic/odp_packet_flags.c index ea308f7..67318a5 100644 --- a/platform/linux-generic/odp_packet_flags.c +++ b/platform/linux-generic/odp_packet_flags.c @@ -123,6 +123,51 @@ int odp_packet_has_flow_hash(odp_packet_t pkt) return pkt_hdr->has_hash; } +odp_packet_color_t odp_packet_color(odp_packet_t pkt) +{ + retflag(pkt, input_flags.color); +} + +void odp_packet_color_set(odp_packet_t pkt, odp_packet_color_t color) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + pkt_hdr->input_flags.color = color; +} + +odp_bool_t odp_packet_drop_eligible(odp_packet_t pkt) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + return !pkt_hdr->input_flags.nodrop; +} + +void odp_packet_drop_eligible_set(odp_packet_t pkt, odp_bool_t drop) +{ + setflag(pkt, input_flags.nodrop, !drop); +} + +int8_t odp_packet_shaper_len_adjust(odp_packet_t pkt) +{ + retflag(pkt, output_flags.shaper_len_adj); +} + +void odp_packet_shaper_len_adjust_set(odp_packet_t pkt, int8_t adj) +{ + odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); + + if (pkt_hdr->input_flags.unparsed) + _odp_packet_parse(pkt_hdr); + + pkt_hdr->output_flags.shaper_len_adj = adj; +} + /* Set Input Flags */ void odp_packet_has_l2_set(odp_packet_t pkt, int val)