DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org, John McNamara <john.mcnamara@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>,
	stable@dpdk.org, Tom Barbette <barbette@kth.se>,
	Yongseok Koh <yskoh@mellanox.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	Bruce Richardson <bruce.richardson@intel.com>,
	Vipin Varghese <vipin.varghese@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4] mk: fix scope of disabling AVX512F support
Date: Mon, 14 Jan 2019 12:55:42 +0100	[thread overview]
Message-ID: <1573462.QHEBVEx1sm@xps> (raw)
In-Reply-To: <20190107164942.88785-1-ferruh.yigit@intel.com>

Hi,
Few details reviewed below,

07/01/2019 17:49, Ferruh Yigit:
> --- a/doc/guides/rel_notes/known_issues.rst
> +++ b/doc/guides/rel_notes/known_issues.rst
> +AVX-512 support disabled
> +------------------------
> +
> +**Description**:
> +   ``AVX-512`` support has been disabled on some conditions.
> +   This shouldn't be confused with ``CONFIG_RTE_ENABLE_AVX512`` config option which is already
> +   disabled by default. This config option defines if ``AVX-512`` specific implementations of
> +   some file to be used or not. What has been disabled is compiler feature to produce ``AVX-512``
> +   instructions from any source code.
> +
> +   On DPDK v18.11 ``AVX-512`` disabled for all ``GCC`` builds which reported to cause a performance
> +   drop.

*is* disabled

> +
> +   On DPDK v19.02 ``AVX-512`` disable scope reduced to ``GCC`` and ``binutils version 2.30`` based

*is* reduced

> +   on information accured from the GCC community defect.
> +
> +**Reason**:
> +   Generated ``AVX-512`` code cause crash:
> +   https://bugs.dpdk.org/show_bug.cgi?id=97
> +   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096
> +
> +**Resolution/Workaround**:
> +   Update ``binutils`` to newer version than ``2.30``.
> +   Use different compiler, like ``clang`` for this case.

These are 2 possible workarounds. Should we say "Or" ?

> +
> +**Affected Environment/Platform**:
> +    ``GCC`` and ``binutils version 2.30``.
> --- a/doc/guides/rel_notes/release_19_02.rst
> +++ b/doc/guides/rel_notes/release_19_02.rst
> @@ -276,6 +276,19 @@ Known Issues
>     Also, make sure to start the actual text at the margin.
>     =========================================================
>  
> +* ``AVX-512`` support has been disabled for ``GCC`` builds when ``binutils 2.30``
> +  is detected [1] because of a crash [2]. This can affect ``native`` machine type
> +  build targets on the platforms that support ``AVX512F`` like ``Intel Skylake``
> +  processors, and can cause a possible performance drop. The immediate workaround
> +  is to use ``clang`` compiler on these platforms.
> +  Initial workaround in DPDK v18.11 was to disable ``AVX-512`` support for ``GCC``
> +  completely, but based on information on defect submitted to GCC community [3],
> +  issue has been identified as ``binutils 2.30`` issue. Since currently only GCC
> +  generates ``AVX-512`` instructions, scope limited to ``GCC`` and ``binutils 2.30``

*the* scope *is* limited

> +
> +  - [1]: Commit ("mk: fix scope of disabling AVX512F support")
> +  - [2]: https://bugs.dpdk.org/show_bug.cgi?id=97
> +  - [3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096
>  

Space missing here

>  Tested Platforms
>  ----------------
> --- a/mk/toolchain/gcc/rte.toolchain-compat.mk
> +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
> +LD_VERSION = $(shell $(LD) -v)
> +# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
> +ifneq ($(filter 2.30%,$(LD_VERSION)),)
> +FORCE_DISABLE_AVX512 := y
> +# print warning only once for librte_eal
> +ifneq ($(filter %librte_eal,$(lastword $(CURDIR))),)

Do we need lastword for CURDIR?

  parent reply	other threads:[~2019-01-14 11:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 19:29 [dpdk-dev] [PATCH] " Ferruh Yigit
2018-12-19 19:58 ` Thomas Monjalon
2018-12-19 20:20   ` Ferruh Yigit
2018-12-19 20:28     ` Thomas Monjalon
2018-12-19 20:53       ` Ferruh Yigit
2018-12-20 11:29         ` Bruce Richardson
2018-12-19 21:00 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
2018-12-22 23:02   ` Thomas Monjalon
2019-01-03 16:23   ` [dpdk-dev] [PATCH v3] " Ferruh Yigit
2019-01-03 22:46     ` Yongseok Koh
2019-01-04  2:40       ` Varghese, Vipin
2019-01-04 10:27         ` Ferruh Yigit
2019-01-04 10:28           ` Varghese, Vipin
2019-01-07 16:49     ` [dpdk-dev] [PATCH v4] " Ferruh Yigit
2019-01-08  3:50       ` Varghese, Vipin
2019-01-14 11:55       ` Thomas Monjalon [this message]
2019-01-14 15:49       ` [dpdk-dev] [PATCH v5] " Ferruh Yigit
2019-01-14 16:28         ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1573462.QHEBVEx1sm@xps \
    --to=thomas@monjalon.net \
    --cc=barbette@kth.se \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=stable@dpdk.org \
    --cc=vipin.varghese@intel.com \
    --cc=yskoh@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).