From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id C198C293B for ; Wed, 6 Dec 2017 17:22:27 +0100 (CET) Received: by mail-wm0-f53.google.com with SMTP id f140so8064790wmd.2 for ; Wed, 06 Dec 2017 08:22:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=CM7+N8B+/QSWyhe1zEtOEtZGiN85/X4H270FVJ1wEqg=; b=oBDFuB4+0L4tJvIvluNMRhXCa+Vh0Q9VkS9UGyysns9ymZeA1P5VWUIiLGFT9RtK74 XJzedaFeosJ70euL05eUtBm70bh6zQVs0sfZBgZKeUyQw2tqXTjdZd3tZl8LowoL9j77 BWDgW/rfBb2nGLHjh7pXkmuUjU15JFD0lETwUrpkA7azgbcYdPgvYd7JOJzpehCgkkei NTkFv9n91RT16ZGvhSQIWkzlBXV7MNJuwIMjecZxtfeu05rXz0brqgVgiVvKPdtpOmHz WYg4IIc62NEuVdEqm+tk84JXtzRFQw6wXiOIsYYZ6Yr1OFsareoYAN3Z9Icp2l/TZAvC 1U9A== 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:references :mime-version:content-disposition:in-reply-to; bh=CM7+N8B+/QSWyhe1zEtOEtZGiN85/X4H270FVJ1wEqg=; b=NWoDUQJ8EYSpJwXpsI/bdTRraM5/eodwgX6ydwZ6OrZFV5XK9TtW5hv3ilmeCeC7cA N8/mEkUn7Pb0EERAm6JZuYT77MxIhZwiCNEhfu+od3nqpjfN673mk5fi+VEyJbnx+5Uh P3pLQVV39bZx/F2XOKAkW1wi0QngHQiWGDkuzNrvqbIPAkFDHRviJ9bTXMfdUp2e8xHM O0dObMogoQCiG7pFleuu+U3UdbG47vUsGek0vY3fYzOoE5LRV6/df+wD43DZUF6PxSmT FwcWeH6Q72YlcVnRNwWJ4cgafmSttW63F3E9D1PRzFL1sj7X1q8ZYtRZlobjNGN5JQs/ i8iw== X-Gm-Message-State: AKGB3mL1vah95mfQ5EEpjWKDH2tZcZ3dCCKwUvzYMJCYyjSM5N1Mfxno rebErJsJn2E/QQwcQ3ihoaRZGg== X-Google-Smtp-Source: AGs4zMaHr4sjHHtxLsk53PB4aSla8Q8W0PZtM25H3tWvAzpTV0063Uw4RaGTzFVlvJpwnq7odBcv0w== X-Received: by 10.28.4.146 with SMTP id 140mr8218478wme.38.1512577347272; Wed, 06 Dec 2017 08:22:27 -0800 (PST) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id d18sm3521419wrd.54.2017.12.06.08.22.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Dec 2017 08:22:26 -0800 (PST) Date: Wed, 6 Dec 2017 17:22:14 +0100 From: Adrien Mazarguil To: Matan Azrad Cc: dev@dpdk.org Message-ID: <20171206162214.GG4062@6wind.com> References: <1511871570-16826-1-git-send-email-matan@mellanox.com> <1512571693-15338-1-git-send-email-matan@mellanox.com> <1512571693-15338-5-git-send-email-matan@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1512571693-15338-5-git-send-email-matan@mellanox.com> Subject: Re: [dpdk-dev] [PATCH v2 4/8] net/mlx4: optimize Tx multi-segment case 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: Wed, 06 Dec 2017 16:22:27 -0000 On Wed, Dec 06, 2017 at 02:48:09PM +0000, Matan Azrad wrote: > mlx4 Tx block can handle up to 4 data segments or control segment + up > to 3 data segments. The first data segment in each not first Tx block > must validate Tx queue wraparound and must use IO memory barrier before > writing the byte count. > > The previous multi-segment code used "for" loop to iterate over all > packet segments and separated first Tx block data case by "if" > statements. > > Use switch case and unconditional branches instead of "for" loop can > optimize the case and prevents the unnecessary checks for each data > segment; This hints to compiler to create optimized jump table. > > Optimize this case by switch case and unconditional branches usage. > > Signed-off-by: Matan Azrad Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND