diff mbox series

rust: rustdoc reproducibility - disable PGO

Message ID 20240603144545.163535-1-sundeep.kokkonda@windriver.com
State New
Headers show
Series rust: rustdoc reproducibility - disable PGO | expand

Commit Message

Sundeep KOKKONDA June 3, 2024, 2:45 p.m. UTC
From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>

The rustdoc binaries are differed on their .llvm.<hash> suffixes between the builds.
This is a test patch to verify the PGO effect on rustdoc binaries. The issue discussion is here:
https://internals.rust-lang.org/t/rustdoc-binary-is-not-reproducible/20027

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
---
 meta/lib/oeqa/selftest/cases/reproducible.py | 2 --
 meta/recipes-devtools/rust/rust_1.75.0.bb    | 4 ++++
 2 files changed, 4 insertions(+), 2 deletions(-)

Comments

Alexander Kanavin June 3, 2024, 2:50 p.m. UTC | #1
Wait, did you test this patch locally? What was the outcome?

Alex

On Mon, 3 Jun 2024 at 16:46, Sundeep KOKKONDA via
lists.openembedded.org
<sundeep.kokkonda=windriver.com@lists.openembedded.org> wrote:
>
> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>
> The rustdoc binaries are differed on their .llvm.<hash> suffixes between the builds.
> This is a test patch to verify the PGO effect on rustdoc binaries. The issue discussion is here:
> https://internals.rust-lang.org/t/rustdoc-binary-is-not-reproducible/20027
>
> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> ---
>  meta/lib/oeqa/selftest/cases/reproducible.py | 2 --
>  meta/recipes-devtools/rust/rust_1.75.0.bb    | 4 ++++
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
> index 97a9c3da90..80e830136f 100644
> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> @@ -16,8 +16,6 @@ import os
>  import datetime
>
>  exclude_packages = [
> -       'rust-rustdoc',
> -       'rust-dbg'
>         ]
>
>  def is_excluded(package):
> diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb b/meta/recipes-devtools/rust/rust_1.75.0.bb
> index c66c14cc5a..4caa5892e6 100644
> --- a/meta/recipes-devtools/rust/rust_1.75.0.bb
> +++ b/meta/recipes-devtools/rust/rust_1.75.0.bb
> @@ -153,6 +153,10 @@ python do_configure() {
>      rustc = d.getVar('RUSTC_BOOTSTRAP')
>      config.set("build", "rustc", e(rustc))
>
> +    # Support for the profiler runtime to generate e.g. coverage report,
> +    # PGO etc.
> +    config.set("build", "profiler", e(False))
> +
>      cargo = d.getVar('CARGO_BOOTSTRAP')
>      config.set("build", "cargo", e(cargo))
>
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#200260): https://lists.openembedded.org/g/openembedded-core/message/200260
> Mute This Topic: https://lists.openembedded.org/mt/106463035/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Sundeep KOKKONDA June 3, 2024, 3:07 p.m. UTC | #2
On 03-Jun-24 20:20, Alexander Kanavin wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> Wait, did you test this patch locally? What was the outcome?
rust-rustdoc_1.75.0-r0_amd64.deb is generated and the binaries are 
identical.
>
> Alex
>
> On Mon, 3 Jun 2024 at 16:46, Sundeep KOKKONDA via
> lists.openembedded.org
> <sundeep.kokkonda=windriver.com@lists.openembedded.org> wrote:
>> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>>
>> The rustdoc binaries are differed on their .llvm.<hash> suffixes between the builds.
>> This is a test patch to verify the PGO effect on rustdoc binaries. The issue discussion is here:
>> https://internals.rust-lang.org/t/rustdoc-binary-is-not-reproducible/20027
>>
>> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>> ---
>>   meta/lib/oeqa/selftest/cases/reproducible.py | 2 --
>>   meta/recipes-devtools/rust/rust_1.75.0.bb    | 4 ++++
>>   2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
>> index 97a9c3da90..80e830136f 100644
>> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
>> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
>> @@ -16,8 +16,6 @@ import os
>>   import datetime
>>
>>   exclude_packages = [
>> -       'rust-rustdoc',
>> -       'rust-dbg'
>>          ]
>>
>>   def is_excluded(package):
>> diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb b/meta/recipes-devtools/rust/rust_1.75.0.bb
>> index c66c14cc5a..4caa5892e6 100644
>> --- a/meta/recipes-devtools/rust/rust_1.75.0.bb
>> +++ b/meta/recipes-devtools/rust/rust_1.75.0.bb
>> @@ -153,6 +153,10 @@ python do_configure() {
>>       rustc = d.getVar('RUSTC_BOOTSTRAP')
>>       config.set("build", "rustc", e(rustc))
>>
>> +    # Support for the profiler runtime to generate e.g. coverage report,
>> +    # PGO etc.
>> +    config.set("build", "profiler", e(False))
>> +
>>       cargo = d.getVar('CARGO_BOOTSTRAP')
>>       config.set("build", "cargo", e(cargo))
>>
>> --
>> 2.43.0
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#200260): https://lists.openembedded.org/g/openembedded-core/message/200260
>> Mute This Topic: https://lists.openembedded.org/mt/106463035/1686489
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Sundeep KOKKONDA June 3, 2024, 3:25 p.m. UTC | #3
On 03-Jun-24 20:37, Sundeep KOKKONDA via lists.openembedded.org wrote:
>
> On 03-Jun-24 20:20, Alexander Kanavin wrote:
>> CAUTION: This email comes from a non Wind River email account!
>> Do not click links or open attachments unless you recognize the 
>> sender and know the content is safe.
>>
>> Wait, did you test this patch locally? What was the outcome?
> rust-rustdoc_1.75.0-r0_amd64.deb is generated and the binaries are 
> identical.
Also, as I mentioned in commit message it is a test patch to see the 
issue is fixed or not on autobuilder.
>>
>> Alex
>>
>> On Mon, 3 Jun 2024 at 16:46, Sundeep KOKKONDA via
>> lists.openembedded.org
>> <sundeep.kokkonda=windriver.com@lists.openembedded.org> wrote:
>>> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>>>
>>> The rustdoc binaries are differed on their .llvm.<hash> suffixes 
>>> between the builds.
>>> This is a test patch to verify the PGO effect on rustdoc binaries. 
>>> The issue discussion is here:
>>> https://internals.rust-lang.org/t/rustdoc-binary-is-not-reproducible/20027 
>>>
>>>
>>> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>>> ---
>>>   meta/lib/oeqa/selftest/cases/reproducible.py | 2 --
>>>   meta/recipes-devtools/rust/rust_1.75.0.bb    | 4 ++++
>>>   2 files changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py 
>>> b/meta/lib/oeqa/selftest/cases/reproducible.py
>>> index 97a9c3da90..80e830136f 100644
>>> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
>>> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
>>> @@ -16,8 +16,6 @@ import os
>>>   import datetime
>>>
>>>   exclude_packages = [
>>> -       'rust-rustdoc',
>>> -       'rust-dbg'
>>>          ]
>>>
>>>   def is_excluded(package):
>>> diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb 
>>> b/meta/recipes-devtools/rust/rust_1.75.0.bb
>>> index c66c14cc5a..4caa5892e6 100644
>>> --- a/meta/recipes-devtools/rust/rust_1.75.0.bb
>>> +++ b/meta/recipes-devtools/rust/rust_1.75.0.bb
>>> @@ -153,6 +153,10 @@ python do_configure() {
>>>       rustc = d.getVar('RUSTC_BOOTSTRAP')
>>>       config.set("build", "rustc", e(rustc))
>>>
>>> +    # Support for the profiler runtime to generate e.g. coverage 
>>> report,
>>> +    # PGO etc.
>>> +    config.set("build", "profiler", e(False))
>>> +
>>>       cargo = d.getVar('CARGO_BOOTSTRAP')
>>>       config.set("build", "cargo", e(cargo))
>>>
>>> -- 
>>> 2.43.0
>>>
>>>
>>>
>>>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#200262): https://lists.openembedded.org/g/openembedded-core/message/200262
> Mute This Topic: https://lists.openembedded.org/mt/106463035/7677583
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [sundeep.kokkonda@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Richard Purdie June 4, 2024, 9:45 a.m. UTC | #4
On Mon, 2024-06-03 at 20:55 +0530, Sundeep KOKKONDA via
lists.openembedded.org wrote:
> 
> On 03-Jun-24 20:37, Sundeep KOKKONDA via lists.openembedded.org
> wrote:
> > 
> > On 03-Jun-24 20:20, Alexander Kanavin wrote:
> > > CAUTION: This email comes from a non Wind River email account!
> > > Do not click links or open attachments unless you recognize the 
> > > sender and know the content is safe.
> > > 
> > > Wait, did you test this patch locally? What was the outcome?
> > rust-rustdoc_1.75.0-r0_amd64.deb is generated and the binaries are 
> > identical.
> Also, as I mentioned in commit message it is a test patch to see the 
> issue is fixed or not on autobuilder.
> > 

I started a few runs with this patch included:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4897
https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4898
https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4899
https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4900

They all failed.

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index 97a9c3da90..80e830136f 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,8 +16,6 @@  import os
 import datetime
 
 exclude_packages = [
-       'rust-rustdoc',
-       'rust-dbg'
 	]
 
 def is_excluded(package):
diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb b/meta/recipes-devtools/rust/rust_1.75.0.bb
index c66c14cc5a..4caa5892e6 100644
--- a/meta/recipes-devtools/rust/rust_1.75.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.75.0.bb
@@ -153,6 +153,10 @@  python do_configure() {
     rustc = d.getVar('RUSTC_BOOTSTRAP')
     config.set("build", "rustc", e(rustc))
 
+    # Support for the profiler runtime to generate e.g. coverage report,
+    # PGO etc.
+    config.set("build", "profiler", e(False))
+
     cargo = d.getVar('CARGO_BOOTSTRAP')
     config.set("build", "cargo", e(cargo))