Announcement

Collapse
No announcement yet.

FreeBSD Developers Continue Work On Shortening Boot Time, Improving WiFi Driver Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • sinepgib
    replied
    Originally posted by dreich View Post
    In this context it would be "Principle of Least Astonishment".
    Thanks. Now, why it would violate that? IMO ad-hoc scripts tend to create more astonishment. I heard those are more polished and consistent than sysvinit ones on Linux tho, but I find having a consistent service definition to be much more intuitive in practice than having to read arbitrary scripts. Is it because of the non-determinism in ordering?

    Originally posted by Rallos Zek View Post
    It just means FreeBSD is easier to break if you go outside it's base system. FreeBSD is easier to slow down and break if you want an use-able system by adding ports and libs.
    I can't compare with FreeBSD as I only used Linux, but Linux is stupidly easy to break as soon as you try to use anything not shipped with your distro. IME the worst offender is Ubuntu and derivatives in that regard. And really mix-and-match tends to lead to poor integration and poor testing. I think an OS being an OS makes a lot of sense, and works for pretty much everyone except the odd one out: Linux distros.

    Leave a comment:


  • Rallos Zek
    replied
    Originally posted by kylew77 View Post
    but FreeBSD tries to strike a balance and is far and above the best "engineered" OS-- by that I mean that a team puts it together as a collective whole. Linux is piece meal distros with the kernel having Linus as its final say person and OpenBSD has Theo as its final say on everything. FreeBSD and NetBSD are team projects that build every part of the OS into a cohesive whole product. Debian is probably the closest Linux equivalent but is still built piece meal.
    It just means FreeBSD is easier to break if you go outside it's base system. FreeBSD is easier to slow down and break if you want an use-able system by adding ports and libs.

    Leave a comment:


  • dreich
    replied
    Originally posted by sinepgib View Post

    Sorry for the ignorance, but what does "POLA" mean?
    In this context it would be "Principle of Least Astonishment".

    Leave a comment:


  • kpedersen
    replied
    Originally posted by dreich View Post
    It would violate POLA and require an extensive rewrite (and testing) of service scripts throughout the entire ports tree. Improving boot performance without any of the above would bring freebsd on par with the average linux distro,
    I think something like systemd ported to FreeBSD would already break more than what the FreeBSD guys are willing to put up with. If this wasn't the case, I am sure there would be some merit in going the whole way and make it suitable for microservers rather than only going as far as systemd* which I personally still don't quite see a specific market for (needlessly fast for desktops/laptops/servers but still not fast enough for hyperscalers). That said, as it stands I believe the FreeBSD project is firmly in the camp of "no breakage".

    *Not to be harsh to systemd. Breakage aside, in many ways I actually liked that it provided some consistency to the very wild west state of Linux many years ago. I also quite like systemd .ini files. They have a quirky and retro feel of simplicity like back in the Windows 3.1 days
    Last edited by kpedersen; 16 June 2022, 04:15 PM.

    Leave a comment:


  • sinepgib
    replied
    Originally posted by dreich View Post
    You may be right but I suspect engineering such a solution into freebsd would be more than enough disruption regular freebsd users would appreciate. It would violate POLA and require an extensive rewrite (and testing) of service scripts throughout the entire ports tree. Improving boot performance without any of the above would bring freebsd on par with the average linux distro, which is a nice bonus for regular users and good enough a reason for customers looking for something other than linux on various cloud providers.
    Sorry for the ignorance, but what does "POLA" mean?

    Leave a comment:


  • dreich
    replied
    Originally posted by kpedersen View Post
    That said, I do feel a typical server / desktop init system such as sysv / systemd will never be perfectly suited for this and as such a more bespoke solution will be needed for hyperscalers anyway.
    You may be right but I suspect engineering such a solution into freebsd would be more than enough disruption regular freebsd users would appreciate. It would violate POLA and require an extensive rewrite (and testing) of service scripts throughout the entire ports tree. Improving boot performance without any of the above would bring freebsd on par with the average linux distro, which is a nice bonus for regular users and good enough a reason for customers looking for something other than linux on various cloud providers.

    Leave a comment:


  • kpedersen
    replied
    Originally posted by dreich View Post
    What does however are the thousands upon thousands of VM instances booting on hypervisors every minute for various applications which, for hyperscalers, results in a compound downtime amounting to wasted compute just waiting to boot.
    That is fair. In some ways containers rather than full blown VMs being fired up on an existing machine could offset that problem for many use-cases.

    That said, I do feel a typical server / desktop init system such as sysv / systemd will never be perfectly suited for this and as such a more bespoke solution will be needed for hyperscalers anyway.

    Ironically Alpine and OpenRC is often commonly used on these systems needing regular spinups and that system doesn't particularly have speed in mind.

    Leave a comment:


  • sinepgib
    replied
    Originally posted by dreich View Post
    Nowadays, there are more use cases than just booting laptops and servers. With s6, my laptop boots to a TTY in ~2 seconds but that hardly justifies the effort. What does however are the thousands upon thousands of VM instances booting on hypervisors every minute for various applications which, for hyperscalers, results in a compound downtime amounting to wasted compute just waiting to boot.
    There's also slower hardware out there and suspension is not appropriate or desirable in all cases (not even taking into account that suspension is broken in many systems). In richer countries it might be the case that everything has plenty of RAM, powerful CPUs and SSDs, but in many peripheral countries that's not the case. So what boots in 2 seconds for you may very well be 30+ seconds around here, possibly even minutes. From anecdotal evidence (i.e. seeing what people in my environment uses) I'd say the average age of a laptop in my country is probably about 6 years, and most of it wasn't even high end when it was new. Not that they use FreeBSD anyway, of course, they mostly suffer through Windows' absurdly long boot times (it's common to wait ~5 minutes for the computer to become usable).

    Leave a comment:


  • dreich
    replied
    Originally posted by kpedersen View Post
    Myself? I don't quite get the point of boot speed. Servers rarely boot (and their ie. hardware boot routines often dwarf that of the OS) and laptops are generally suspended anyway. I am guessing people just don't like the 10 second vs 3 second wait from their desktop/workstation in the morning?
    Nowadays, there are more use cases than just booting laptops and servers. With s6, my laptop boots to a TTY in ~2 seconds but that hardly justifies the effort. What does however are the thousands upon thousands of VM instances booting on hypervisors every minute for various applications which, for hyperscalers, results in a compound downtime amounting to wasted compute just waiting to boot.

    Leave a comment:


  • sinepgib
    replied
    Originally posted by kylew77 View Post
    From the last quarterly update they cut out a lot of 1 second waits. SystemD requires cgroups and other Linuxisms so for better and worse isn't portable to FreeBSD as is.
    Note they asked about something like systemd, not systemd itself. The boot time improvements in particular require no linuxisms, they are just proper dependency handling, socket activation, asynchronous and parallel execution, all things that can be done in FreeBSD without complications. At some point someone tried to port launchd, that is pretty much systemd-like sans socket activation (I think), but IIRC that effort died off.

    Leave a comment:

Working...
X