[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-07-21 Thread Harry van Haaren (Intel)
Hi All,

I have enabled the bionic-proposed repo as described in link. OVS-master
is used for testing, containing the build-time binutils bug check as
described above.

1) Can confirm that old binutils version (2.30-21ubuntu1~18.04.3) had
issue, and OVS was correctly DISabling AVX512.

2) Can confirm that with -proposed binutils (2.30-21ubuntu1~18.04.4),
OVS build system is correctly ENabling AVX512 support, as linker checks
are passing.

After the configure step, I have tested OVS, running traffic and
enabling the AVX512 optimizations. It is working as expected, with
AVX512 instructions running in the datapath.

I believe you have already added the "verification-done" and bionic
versions Christian, so I'll not change the status... please let me know
if I misunderstood the process.

Thanks Robie & Christian for your support on this issue! -Harry

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  Fix Committed
Status in binutils package in Debian:
  Confirmed

Bug description:
  [Impact]

   * the assembler scales non 8 bit cases which was identified
 to break e.g. some AVX512 code. It is nasty as it isn't a compile/link/ 
 time error. Instead the instructions might silently be corrupted until 
 running. Things might even work on some but fail on other systems if 
 e.g. the AVX code paths only run on newer chips.

* The fix is upstream for a while and not re-changed again. Furthermore 
  it is in several Ubuntu releases without bugs due to that, which should 
  make the backport rather safe.

  [Test Case]

   * Simple example to trigger the bug:

  echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d
  avx.o | grep vmovaps

  The expected output is that the objdump output matches the vmovaps
  instruction input. When using binutils with the bug, the initial 0x40
  will be incorrect.

  Working:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax,1),%zmm0
  Failing:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x1(,%rax,1),%zmm0

  [Regression Potential]

   * Well, this is a double edged sword. On one hand this is fortunately a 
 small change and only affects something formerly clearly broken. So it 
 should be good and only change cases formerly being bad.
 But OTOH binutils areused in so many cases that I feel unable to say
 "nothing will happen". The change goes to the gnu assembler, so that is 
 the place to look out for regressions.

  [Other Info]
   
   * needs a sponsor experienced with binutils to check potential pitfalls


  
  ---

  
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-08-04 Thread Harry van Haaren (Intel)
Thanks Lukasz, Christian, Robie, Matthias, and the various robots and
launchpad janitors: appreciate your help!

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  Fix Released
Status in binutils package in Debian:
  Confirmed

Bug description:
  [Impact]

   * the assembler scales non 8 bit cases which was identified
 to break e.g. some AVX512 code. It is nasty as it isn't a compile/link/ 
 time error. Instead the instructions might silently be corrupted until 
 running. Things might even work on some but fail on other systems if 
 e.g. the AVX code paths only run on newer chips.

* The fix is upstream for a while and not re-changed again. Furthermore 
  it is in several Ubuntu releases without bugs due to that, which should 
  make the backport rather safe.

  [Test Case]

   * Simple example to trigger the bug:

  echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d
  avx.o | grep vmovaps

  The expected output is that the objdump output matches the vmovaps
  instruction input. When using binutils with the bug, the initial 0x40
  will be incorrect.

  Working:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax,1),%zmm0
  Failing:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x1(,%rax,1),%zmm0

  [Regression Potential]

   * Well, this is a double edged sword. On one hand this is fortunately a 
 small change and only affects something formerly clearly broken. So it 
 should be good and only change cases formerly being bad.
 But OTOH binutils areused in so many cases that I feel unable to say
 "nothing will happen". The change goes to the gnu assembler, so that is 
 the place to look out for regressions.

  [Other Info]
   
   * needs a sponsor experienced with binutils to check potential pitfalls


  
  ---

  
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-06-30 Thread Harry van Haaren (Intel)
Hey Folks,

Apologies I'm not familiar with the SRU testing process. I'd like to
help - have an 18.04 setup for testing here. Is there an easy way to add
the test-build PPA and just do an apt update && apt install binutils?

https://launchpad.net/~ci-train-ppa-
service/+archive/ubuntu/4105/+packages

Regards, -Harry

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  In Progress

Bug description:
  [Impact]

   * the assembler scales non 8 bit cases which was identified
 to break e.g. some AVX512 code. It is nasty as it isn't a compile/link/ 
 time error. Instead the instructions might silently be corrupted until 
 running. Things might even work on some but fail on other systems if 
 e.g. the AVX code paths only run on newer chips.

* The fix is upstream for a while and not re-changed again. Furthermore 
  it is in several Ubuntu releases without bugs due to that, which should 
  make the backport rather safe.

  [Test Case]

   * Simple example to trigger the bug:

  echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d
  avx.o | grep vmovaps

  The expected output is that the objdump output matches the vmovaps
  instruction input. When using binutils with the bug, the initial 0x40
  will be incorrect.

  Working:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax,1),%zmm0
  Failing:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x1(,%rax,1),%zmm0

  [Regression Potential]

   * Well, this is a double edged sword. On one hand this is fortunately a 
 small change and only affects something formerly clearly broken. So it 
 should be good and only change cases formerly being bad.
 But OTOH binutils areused in so many cases that I feel unable to say
 "nothing will happen". The change goes to the gnu assembler, so that is 
 the place to look out for regressions.

  [Other Info]
   
   * needs a sponsor experienced with binutils to check potential pitfalls


  
  ---

  
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-07-01 Thread Harry van Haaren (Intel)
Hi Christian,

Thanks for the additional info! Confirm that with the PPA the proposed
checks now pass:

$ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
  8:   0: 62 f1 7c 48 28 04 05vmovaps 0x40(,%rax,1),%zmm0


Also the proposed OVS automake build-system changes will enable avx512 
correctly:
checking binutils avx512 assembler checks passing... yes

I'll wait for the SRU team to accept into proposed. Regards, -Harry

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  In Progress

Bug description:
  [Impact]

   * the assembler scales non 8 bit cases which was identified
 to break e.g. some AVX512 code. It is nasty as it isn't a compile/link/ 
 time error. Instead the instructions might silently be corrupted until 
 running. Things might even work on some but fail on other systems if 
 e.g. the AVX code paths only run on newer chips.

* The fix is upstream for a while and not re-changed again. Furthermore 
  it is in several Ubuntu releases without bugs due to that, which should 
  make the backport rather safe.

  [Test Case]

   * Simple example to trigger the bug:

  echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d
  avx.o | grep vmovaps

  The expected output is that the objdump output matches the vmovaps
  instruction input. When using binutils with the bug, the initial 0x40
  will be incorrect.

  Working:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax,1),%zmm0
  Failing:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x1(,%rax,1),%zmm0

  [Regression Potential]

   * Well, this is a double edged sword. On one hand this is fortunately a 
 small change and only affects something formerly clearly broken. So it 
 should be good and only change cases formerly being bad.
 But OTOH binutils areused in so many cases that I feel unable to say
 "nothing will happen". The change goes to the gnu assembler, so that is 
 the place to look out for regressions.

  [Other Info]
   
   * needs a sponsor experienced with binutils to check potential pitfalls


  
  ---

  
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-06-18 Thread Harry van Haaren (Intel)
Proposed patch on OVS Mailing list to check status at configure time for OVS 
2.14 using the method Bruce mentioned above:
https://patchwork.ozlabs.org/project/openvswitch/patch/20200618165354.87787-7-harry.van.haa...@intel.com/

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  New

Bug description:
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1883880] Re: fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

2020-07-31 Thread Harry van Haaren (Intel)
Hey Folks,

Does the -proposed changes get automatically integrated to -updates
after a certain time has passed, or does this require somebody to take
action?

It would be great to have this update rolled out to 18.04 before OVS
2.14 is released in a week or two.

Regards, -Harry

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1883880

Title:
  fix non-8-bit x86 displacements breaking AVX512 builds on Bionic

Status in binutils package in Ubuntu:
  Fix Released
Status in binutils source package in Bionic:
  Fix Committed
Status in binutils package in Debian:
  Confirmed

Bug description:
  [Impact]

   * the assembler scales non 8 bit cases which was identified
 to break e.g. some AVX512 code. It is nasty as it isn't a compile/link/ 
 time error. Instead the instructions might silently be corrupted until 
 running. Things might even work on some but fail on other systems if 
 e.g. the AVX code paths only run on newer chips.

* The fix is upstream for a while and not re-changed again. Furthermore 
  it is in several Ubuntu releases without bugs due to that, which should 
  make the backport rather safe.

  [Test Case]

   * Simple example to trigger the bug:

  echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d
  avx.o | grep vmovaps

  The expected output is that the objdump output matches the vmovaps
  instruction input. When using binutils with the bug, the initial 0x40
  will be incorrect.

  Working:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x40(,%rax,1),%zmm0
  Failing:
  $ echo "vmovaps 0x40(,%rax,1),%zmm0" | as --64 -o avx.o && objdump -d avx.o | 
grep vmovaps
 0: 62 f1 7c 48 28 04 05 vmovaps 0x1(,%rax,1),%zmm0

  [Regression Potential]

   * Well, this is a double edged sword. On one hand this is fortunately a 
 small change and only affects something formerly clearly broken. So it 
 should be good and only change cases formerly being bad.
 But OTOH binutils areused in so many cases that I feel unable to say
 "nothing will happen". The change goes to the gnu assembler, so that is 
 the place to look out for regressions.

  [Other Info]
   
   * needs a sponsor experienced with binutils to check potential pitfalls


  
  ---

  
  Hi,
  DPDK has run into some issues in the past
   https://bugs.dpdk.org/show_bug.cgi?id=97
   https://bugs.dpdk.org/show_bug.cgi?id=249

  Eventually the issues got resolved in binutils via
   https://sourceware.org/bugzilla/show_bug.cgi?id=23465

  After binutils is fixed people rebuilding DPDK themselve can use
   http://patches.dpdk.org/patch/71679/
  to gain more performance while on Bionics bintuils level.

  Note: Bionic is on DPDK 17.11.x which will not get further stable release 
afaik. But quite often people build their own DPDK. In fact this came up as a 
request from Openvswitch upstream/Intel to allow such builds on Bionic.
  I'd ping those people about the bug and ask them to participate in the 
verification if this becomes an SRU.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1883880/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp