View previous topic :: View next topic |
Author |
Message |
pun_guin Apprentice
Joined: 06 Feb 2018 Posts: 204
|
Posted: Tue Feb 20, 2018 10:20 pm Post subject: OpenRC vs runit |
|
|
Since we were talking about that:
I noticed that Gentoo with OpenRC has a notably slower startup than Void/runit.
Is that a Gentoo or a pun_guin problem? _________________ I already use the new Genthree. |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6051 Location: Removed by Neddy
|
Posted: Tue Feb 20, 2018 11:05 pm Post subject: |
|
|
How slow is slow?
Have you enabled parallel startup in /etc/rc.conf _________________
Quote: | Removed by Chiitoo |
|
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Tue Feb 20, 2018 11:31 pm Post subject: |
|
|
*takes cover in a bomb shelter*
This might not end well...
Anyway. What I've read, runit is lighter and faster generally than OpenRC (so a big YMMV here.). I think runit can run with only busybox alongside of it. That would make it quite light at least.
But I really haven't bothered to switch. My uptimes tend to be around 60d, so boot time isn't a factor for me. :P
(I mainly posted here to follow replies. I'd like to know the technical differences on speed etc. *grabs popcorn*) _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Wed Feb 21, 2018 7:52 pm Post subject: |
|
|
OpenRC is built around the completely broken Debian-ism of starting processes, forcing them into the background, inserting ad-hoc delays, and then checking to see if they've crashed or not (via pidfiles, another dirty hack). This is pretty ironic considering it usually runs atop sysvinit, which could do service management the right way already but gets completely bypassed in this arrangement.
So you've got artificial delays everywhere, made worse by the fact it's serial by default and parallelism is a hack that's still considered experimental (and with OpenRC's current maintaner, will likely never become safe to use). |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Wed Feb 21, 2018 10:54 pm Post subject: |
|
|
Ant P. wrote: | inserting ad-hoc delays, and then checking to see if they've crashed or not (via pidfiles, another dirty hack). | This is because in case if some other service depends on the just started service? This basically adds every other yet to be started service in the delay line unless rc_parallel is enabled?
Shame it's still considered ~feature. :\ _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Thu Feb 22, 2018 1:10 am Post subject: |
|
|
It was probably done that way because it was easy to implement in shell scripts (which is what nearly all rc layers were built in back in the day). Most of OpenRC nowadays is compiled C code but they can't get rid of the original APIs without breaking everything. Which is to say, they probably will at some point without asking. |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Thu Feb 22, 2018 9:51 am Post subject: |
|
|
Ant P. wrote: | Most of OpenRC nowadays is compiled C code but they can't get rid of the original APIs without breaking everything. Which is to say, they probably will at some point without asking. | There should be at least config switch for people to choose which method to use then (if it's feasible). Then slowly deprecate the old way.
Anyway, how does runit handle process failure checks? Can runit do parallel starvice startups? _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Thu Feb 22, 2018 7:54 pm Post subject: |
|
|
runit is like sysvinit, where it autostarts every service and any that exit are auto-restarted (with a 1 second delay, to avoid crash loops eating all the CPU). There's no need for pid files because processes send a SIGCHLD when they exit. Everything is parallel by default, unless you go out of your way in writing service scripts to force them to serialize.
For the few cases where things need to be started strictly in order (e.g. nfsd) the common idiom is to have the service script check if all the dependencies are ready and exit/retry until they are, which is a one-liner. |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Thu Feb 22, 2018 8:52 pm Post subject: |
|
|
I have to admit, I really like the simplistic nature of runit. I think I like epoch (github project) even more. Sadly its development seem to ceased.
Then another alternative I've been looking is nosh. But it seems to be too complex. It, however, has some tools to convert systemd service units to nosh service files. :P _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Thu Mar 08, 2018 7:50 pm Post subject: |
|
|
I've installed Void Linux on my laptop (musl variant), and I have to say... So far runit has been an excellent. Maybe it's its simplicity that makes it perform so well/fast.
I might try runit out on my desktop. I just need to go more deep into the features of it vs. OpenRC. _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6103 Location: Dallas area
|
Posted: Thu Mar 08, 2018 8:18 pm Post subject: |
|
|
Haven't heard of void linux before, of course I don't typically look around for a binary distro.
But it does sound interesting, I'll have to give it a look sometime. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
Marcih Apprentice
Joined: 19 Feb 2018 Posts: 213
|
Posted: Thu Mar 08, 2018 8:32 pm Post subject: |
|
|
Ant P. wrote: | OpenRC is shit. |
Everyone not named Lennart wrote: | systemd is shit. |
Well, shit... Time to stop browsing the forums and go write my own init scripts I suppose. _________________
Bones McCracker wrote: | It wouldn't be so bad, if it didn't suck. |
NeddySeagoon wrote: | The problem with leaving is that you can only do it once and it reduces your influence. |
|
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3374 Location: Rasi, Finland
|
Posted: Thu Mar 08, 2018 9:52 pm Post subject: |
|
|
Marcih wrote: | Time to stop browsing the forums and go write my own init scripts I suppose. | ... for runit. _________________ ..: Zucca :..
Gentoo IRC channels reside on Libera.Chat.
--
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
pun_guin Apprentice
Joined: 06 Feb 2018 Posts: 204
|
Posted: Mon Mar 19, 2018 1:02 am Post subject: |
|
|
I totally forgot to check for answers here - ha!
Naib wrote: | Have you enabled parallel startup in /etc/rc.conf |
I have not modified that. But according to what followed, OpenRC will never be as fast as runit ...?
So I'll leave it at that. One second more or less - probably not worth the ~feature.
Thank you all! _________________ I already use the new Genthree. |
|
Back to top |
|
|
|