From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f49.google.com (mail-pg0-f49.google.com [74.125.83.49]) by dpdk.org (Postfix) with ESMTP id 046996841 for ; Sun, 10 Sep 2017 19:48:34 +0200 (CEST) Received: by mail-pg0-f49.google.com with SMTP id j16so1475087pga.1 for ; Sun, 10 Sep 2017 10:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CnDOlSmNmixeYI6ZlF0T97xh5YE9CX/B02V/+UoDx1c=; b=1GmysgIMcuf9/3dyLHGz8bOFpMOj+1WE+XdxRtWiJ4DCVn4znX1faCsf6TwOiGQTRg CYM38ALXxffwVe0sN9SQ3n9HDCko2shgxLpmgwiOpecT8p9PQwK57WxUv9HhOekbrzSP x5KkbJ3bYdxxHciFYRObn1PAJtVePUPAIuwo5l/whnxt3fVWXsR4gXpvNkv56rBaUSyJ sH/tZrQq8XBNtH83g3Odm+6wboUy+IEI/Tyono06YqDlGoS7GmkH/9CbgOYKvXYpQhRY uucFoay+AexPnEsZzRXV7EchsGRJJnCcQASGtUIBsWOIhU8UmL2TOU2jqvo3Vo/GD/oQ D67A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CnDOlSmNmixeYI6ZlF0T97xh5YE9CX/B02V/+UoDx1c=; b=ObxT8KvNzTzek5iLQ+iiILWiBKQ790dZCJMpdfgd6zjPZAbo7x8kkSVBE7ZK0BEtXE 7s5Buyq8SbG4Yf0SRAu2wWFGJMLNQvbzZguVY+QvmnK7Dtf79P1AFXax3ADtiaw2K7Ov 0oQPbt4texsiEfvdvlnIh7ybPbv2C58dOYC0Mnj7P8R7e/Q236wrZsltS/QEaVZ4mdVo kmjbjM7/dmU7KE7dr+Qwz7Pfqg8OVBFrIKO2ZJQm/SsRsbNyQRWGYMgeHWwLwJjUJWbr S7QfshVzgmZ97KNH0uJ7BrKhST6tnz9utM52dRC8BM1FXfYwCr8Utpqnu2yTP21sUWhO JnaA== X-Gm-Message-State: AHPjjUgCSW5khi+NPeVFYWa3yxJcTFJgFpf2S6rFMXiOnc7ig5pfclQC YR95i3blY02PAuVqIrq5EQ== X-Google-Smtp-Source: ADKCNb4pEEJZtqSYCKvhyNgTSzOmpGh2BcJvNLZHeECm/qmGy6aOn5CginPxg9sjaLCVxDahW6GpIg== X-Received: by 10.84.238.130 with SMTP id v2mr10931879plk.175.1505065714091; Sun, 10 Sep 2017 10:48:34 -0700 (PDT) Received: from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240]) by smtp.gmail.com with ESMTPSA id b90sm3031925pfm.17.2017.09.10.10.48.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 10 Sep 2017 10:48:34 -0700 (PDT) Date: Sun, 10 Sep 2017 10:48:27 -0700 From: Stephen Hemminger To: Shahaf Shuler Cc: thomas@monjalon.net, dev@dpdk.org Message-ID: <20170910104827.11da9230@xeon-e3> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 2/2] ethdev: introduce Tx queue offloads API 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: , X-List-Received-Date: Sun, 10 Sep 2017 17:48:35 -0000 On Sun, 10 Sep 2017 15:07:49 +0300 Shahaf Shuler wrote: > Introduce a new API to configure Tx offloads. > > In the new API, offloads are divided into per-port and per-queue > offloads. The PMD reports capability for each of them. > Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags. > To enable per-port offload, the offload should be set on both device > configuration and queue configuration. To enable per-queue offload, the > offloads can be set only on queue configuration. > > In addition the Tx offloads will be disabled by default and be > enabled per application needs. This will much simplify PMD management of > the different offloads. > > The new API does not have an equivalent for the below, benchmark > specific, flags: > > - ETH_TXQ_FLAGS_NOREFCOUNT > - ETH_TXQ_FLAGS_NOMULTMEMP > > Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags > field in order to move to the new API. > > The old Tx offloads API is kept for the meanwhile, in order to enable a > smooth transition for PMDs and application to the new API. > > Signed-off-by: Shahaf Shuler > --- Agree on a conceptual and hardware level, that this is a property that could be per queue. But is there really an application that would want to have refcounting on one queue and not another? If application is cloning mbuf's it needs refcounting. One could even argue that for safety these should be library wide. That way if an application tried to manipulate ref count on an mbuf and refcountin was enabled it could be panic'd.