Date: Sat, 9 Feb 2019 19:18:52 +0100 From: "D. Ebdrup" <debdrup@gmail.com> To: freebsd-hackers <freebsd-hackers@freebsd.org> Subject: Re: nosh init system Message-ID: <CANtgGBpo-_%2BB6k86ZLEh71O%2BJ3QyTeRzwLc1OV-F__vbjNAhvQ@mail.gmail.com> In-Reply-To: <CF8D2DCD-F63A-4E79-9CBC-CD45D5D596DD@gmail.com> References: <c8sxY3L8OrRosQ0UdftF6FrqHGRs_uJal0l7YlID7b_xwVG05yeU8DGoS78wo5089zww5pDdvbM_gwCkXxCVjaPYiDS-kNJLxN7b9iGwfxk=@sidju.se> <CAG6CVpXy4q16QhG1ycFnVZ8cgEfb%2BpS8tmPJykv8Wa-GthginQ@mail.gmail.com> <alpine.BSF.2.20.1902091830490.45199@puchar.net> <CF8D2DCD-F63A-4E79-9CBC-CD45D5D596DD@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/9/19, Enji Cooper <yaneurabeya@gmail.com> wrote: > On Feb 9, 2019, at 09:32, Wojciech Puchar <wojtek@puchar.net> wrote: > >>> pid 2 and reap zombies. We're missing a half-decent service >>> management system. On Linux, systemd performs both roles. On >>> FreeBSD, init(8) serves one role, and rc(8) is a tiny subset of a real >>> service management system like systemd. >> >> systemd is overcomplex crap. And a reason many people migrated to FreeBS= D >> from linux. >> >>> >>> (I think the piece we would consider replacing or supplementing would >>> be rc(8). Part of that might be migrating some responsibilities from >>> pid 1 to pid 2, such as spawning gettys. I don't hold strong opinions >>> about that.) >> >> this make sense but with spawning gettys left to init. >> >> >> what do you want to improve in rc? starting services in parallel doesn't >> seem to be major problem to make i think. > > Starting and stopping services based on logical events and =E2=80=9Crun l= evels=E2=80=9D, > apart from what devd handles with hardware events is what comes to mind f= or > me. > > rc(8) is also incredibly fragile when it comes to starting or stopping > services beyond first boot, or when dealing with =E2=80=9Coptional=E2=80= =9D services, like > nis/yp. I tried to clean this up a few years ago, but it=E2=80=99s not cl= ose to my > ideal design (it feels like a bubblegum and duct tape solution). > > Cheers, > -Enji > >> _______________________________________________ >> freebsd-hackers@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.or= g" > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org= " > It seems to me that while there isn't that much to be gained from the base system being parallel, trasz@ effort to get rcorder -p (which is ready for review at [1]) is still something that can massively improve startup when you're running a lot of jails that don't necessarily have any or very little interdependence. I've also heard talk of improving devd to make it react to a lot more hardware events, which I think is a laudible goal if anyone uses FreeBSD on a desktop or laptop as I do. As I see it, FreeBSD already has the basis for something similar to SMF or systemd - and while I'd prefer whatever FreeBSD gets to be closer to SMF, I still think there are valuable lessons to be learned from both systemd and launchd with regard to what's missing. I also find it a little interesting that not a lot of people seem to know about the 6th paragraph of init(8) [2]. Since I found out about it, I've referred often enough to it that I can probably paraphrase it pretty accurately: "The init utility can also be used to keep arbitrary daemons running, automatically restarting them if they die." Also, not to toot my own horn here, but in editing the latest batch of status reports, I noticed that nosh has a section that people might wanna read. [1] https://reviews.freebsd.org/D3715 [2] https://man.freebsd.org/init(8) --=20 Daniel Ebdrup aka. D. Ebdrup.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtgGBpo-_%2BB6k86ZLEh71O%2BJ3QyTeRzwLc1OV-F__vbjNAhvQ>