Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add compilers.rules #80

Merged
merged 3 commits into from
Apr 20, 2024
Merged

Add compilers.rules #80

merged 3 commits into from
Apr 20, 2024

Conversation

JohnRTitor
Copy link
Contributor

C and C++, Go, Java, and Rust compilers are added
Also added Bazel, Cmake, Ninja, and Meson build systems

@ptr1337
Copy link
Member

ptr1337 commented Mar 31, 2024

C and C++, Go, Java, and Rust compilers are added Also added Bazel, Cmake, Ninja, and Meson build systems

We have explicity removed compiler, because when it spawns many tasks/threads, ananicy-cpp will quite much cpu power at some point.
Additionally there was a regression, in the BORE compiler, when the compiler rules were set. We maybe need to retest this.

@Shendisx
Copy link
Contributor

Shendisx commented Apr 1, 2024

On my testing, it got completely fixed on BORE +4.5.2 with -9, -1, 1, 5, 10, and 19 niceness values with the scan interval set to 1 second.

@JohnRTitor
Copy link
Contributor Author

It should be stable on nice 10 and 19.

@ptr1337
Copy link
Member

ptr1337 commented Apr 9, 2024

Maybe linkers, like lld, ld, ld.bfd, mold can be also added.

@ptr1337
Copy link
Member

ptr1337 commented Apr 9, 2024

We should also check, if this brings a noticeable performance regression.

@JohnRTitor JohnRTitor force-pushed the patch-compiler branch 2 times, most recently from b877dc5 to d5f49e6 Compare April 10, 2024 19:01
@JohnRTitor
Copy link
Contributor Author

Maybe linkers, like lld, ld, ld.bfd, mold can be also added.

Added. Seems fine on my end, then again, it should be tested by the reviewers.

00-default/compilers.rules Outdated Show resolved Hide resolved
00-types.types Outdated Show resolved Hide resolved
@JohnRTitor JohnRTitor force-pushed the patch-compiler branch 2 times, most recently from 2fd8f7f to b60161d Compare April 10, 2024 19:08
@ptr1337
Copy link
Member

ptr1337 commented Apr 10, 2024

@aarrayy
Could you please make some testing with 13, 11 and 9?

@Shendisx
Copy link
Contributor

@aarrayy Could you please make some testing with 13, 11 and 9?

What kind of testing? How much time does it adds? or...

@ptr1337
Copy link
Member

ptr1337 commented Apr 10, 2024

@aarrayy Could you please make some testing with 13, 11 and 9?

What kind of testing? How much time does it adds? or...

Likely if BORE shows issue together with it again.
Ill also start testing it on my machine for some days.

@Shendisx
Copy link
Contributor

I currently use 10 and its fine on my system, it leaves room for multitasking without hurting too much the build process itself, for example web browsing while compiling the linux kernel with thin lto i got a total time of 22 mins

@Shendisx
Copy link
Contributor

@aarrayy Could you please make some testing with 13, 11 and 9?

What kind of testing? How much time does it adds? or...

Likely if BORE shows issue together with it again. Ill also start testing it on my machine for some days.

Sure, i'll do some testing with 13 and 9

@JohnRTitor
Copy link
Contributor Author

I currently use 10 and its fine on my system, it leaves room for multitasking without hurting too much the build process itself, for example web browsing while compiling the linux kernel with thin lto i got a total time of 22 mins

I agree. Though I am using 9 on normal cachyos kernel with sched-ext rustland

@ptr1337
Copy link
Member

ptr1337 commented Apr 10, 2024

Ill also need to do in the coming days some throughput tests, since ananicy-cpp uses quite much cpu time, when applying this compiler rules

@Shendisx
Copy link
Contributor

BORE is totally fine with any nice value, on 4.5.2 i tested from 1, 3, 6, 9, 12, 19 and couldn't manage to get a lockup and ananicy is set to an scan interval of 1 second so it has to happen no matter what, 5.0.3 is the same history

Passed on 10 and 13

@vnepogodin
Copy link
Member

vnepogodin commented Apr 10, 2024

ananicy is set to an scan interval of 1 second

there is no scan interval. it does push into buffer on every sched_process_exec and sched_process_fork.

the poll from that buffer is done "non-stop" with non-configurable timeout of 500ms

@Shendisx
Copy link
Contributor

ananicy is set to an scan interval of 1 second

there is no scan interval. it does push into buffer on every sched_process_exec and sched_process_fork.

the poll from that buffer is done "non-stop" with non-configurable timeout of 500ms

I was referring to check_freq in ananicy.conf that by default is set to 15 seconds and i personally use 1 second

@vnepogodin
Copy link
Member

check_freq

thats only for when flag --manual-scanning is being passed

@Shendisx
Copy link
Contributor

check_freq

thats only for when flag --manual-scanning is being passed

Oh.

@JohnRTitor
Copy link
Contributor Author

So... should I modify the config "nice" "latency-nice" to 13 in this PR?

C and C++, Go, Java, and Rust compilers are added
Also added Bazel, Cmake, Ninja, and Meson build systems
Change to uppercase Compiler
@JohnRTitor
Copy link
Contributor Author

@aarrayy @ptr1337 I have been daily driving at 13 nice for two weeks now. It stays stable on high load.

Waiting for your final approval :)

@Shendisx
Copy link
Contributor

@aarrayy @ptr1337 I have been daily driving at 13 nice for two weeks now. It stays stable on high load.

Waiting for your final approval :)

I approve these rules, i haven't had any lockup with any nice value since BORE +4.5.2

@ptr1337 ptr1337 merged commit e9f8494 into CachyOS:master Apr 20, 2024
@JohnRTitor JohnRTitor deleted the patch-compiler branch April 21, 2024 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants