Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-26 Thread Kinney, Michael D
to:ler...@redhat.com] > Sent: Tuesday, September 25, 2018 12:26 PM > To: Ni, Ruiyu ; edk2- > de...@lists.01.org > Cc: Kinney, Michael D ; Yao, > Jiewen ; Gao, Liming > > Subject: Re: [edk2] [PATCH v3] > MdePkg/SynchronizationLib: fix Interlocked[De|In]crement > return val

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-25 Thread Laszlo Ersek
On 09/25/18 20:29, Laszlo Ersek wrote: > So here's what I'm going to do. I will submit a standalone, "surgical" > patch, for fixing the regression introduced in 17634d026f96. Filed about that. > Additionally, I will file a TianoCore BZ about

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-25 Thread Laszlo Ersek
On 09/25/18 18:18, Laszlo Ersek wrote: > On 09/25/18 16:22, Laszlo Ersek wrote: >> On 09/13/18 11:50, Ruiyu Ni wrote: >> >>> diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c >>> b/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c >>> index 5224dd063f..4c4d6e3fc7 100644 >>>

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-25 Thread Laszlo Ersek
On 09/25/18 16:22, Laszlo Ersek wrote: > On 09/13/18 11:50, Ruiyu Ni wrote: > >> diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c >> b/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c >> index 5224dd063f..4c4d6e3fc7 100644 >> ---

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-25 Thread Laszlo Ersek
On 09/13/18 11:50, Ruiyu Ni wrote: > diff --git a/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c > b/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c > index 5224dd063f..4c4d6e3fc7 100644 > --- a/MdePkg/Library/BaseSynchronizationLib/X64/GccInline.c > +++

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-25 Thread Laszlo Ersek
Hi, On 09/13/18 11:50, Ruiyu Ni wrote: > Today's InterlockedIncrement()/InterlockedDecrement() guarantees to > perform atomic increment/decrement but doesn't guarantee the return > value equals to the new value. > > The patch fixes the behavior to use "XADD" instruction to guarantee > the return

Re: [edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-21 Thread Gao, Liming
The patch is good. Could you submit BZ to track this change? Thanks Liming >-Original Message- >From: Ni, Ruiyu >Sent: Thursday, September 13, 2018 5:51 PM >To: edk2-devel@lists.01.org >Cc: Yao, Jiewen ; Gao, Liming >; Kinney, Michael D >Subject: [PATCH v3] MdePkg/SynchronizationLib: fix

[edk2] [PATCH v3] MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value

2018-09-13 Thread Ruiyu Ni
Today's InterlockedIncrement()/InterlockedDecrement() guarantees to perform atomic increment/decrement but doesn't guarantee the return value equals to the new value. The patch fixes the behavior to use "XADD" instruction to guarantee the return value equals to the new value. The patch calls