I doubt we could really benefit from udev being ran in stage-2, but I would 
like to try it, however this is at the butt-end of my to-do-list.

> Date: Thu, 24 Jul 2014 04:49:48 +0300
> From: [email protected]
> To: [email protected]
> Subject: Re: initialization vs supervision
> 
> Hi!
> 
> On Thu, Jul 24, 2014 at 01:42:19AM +0100, Laurent Bercot wrote:
> > > Now granted some things are not able to be supervised such as udev on
> > > my end. But honestly, does udev really require supervision?
> > Yes, it does - why wouldn't it ? Or, if it doesn't, why would any
> > other service ?
> 

To be honest, I'm not sure how it could be supervised since by it's own actions 
it's a device supervision daemon anyway. Do we need supervision for a 
supervision daemon? Good question, and I won't answer.

> Any other service needed to keep system running and doing it's work, so I
> didn't wanna wake up in the middle of the night just to start WEB or SQL
> or EMAIL or DNS or CRON services if they've crashed. And I don't wanna lose
> access to server if SSH or GETTY services crash and won't restart
> automatically. But what's the point in bothering so much about udev?
> 

Udev really is a daemon all to itself because it sits quietly managing devices 
as they enter and leave the system state. To be honest, udev (eudev-1.9 on my 
end currently) crashes maybe 0.00001% of the time, which for me has been only 
once in the past 5 years.

> udevd is only service started from /etc/runit/1. And, honestly, I think
> it's much simpler to just kill it at end of /etc/runit/1 and (re-)start it
> as a normal service when /etc/runit/2 will be executed, than try to
> fork/delay parts of /etc/runit/1 - because most of other normal services
> expect all parts of /etc/runit/1 already done before they'll start.
> 

Actually do we need to kill it at all and just execute the recheck mode in 
stage-2, udevadm?

/bin/sed -e 's/#.*$//' /etc/sysconfig/udev_retry | /bin/grep -v '^$' | \
         while read line ; do
                  for subsystem in $line ; do
                            /sbin/udevadm trigger --subsystem-match=$subsystem 
--action=add
                  done
         done

> And I'll implement this right after udevd will crash for the first time.
> Not because I think it's special and don't need supervision, but just
> because I'm usually have other, more important things to do, than forcing
> supervising to all and every service.
> 
> At a glance at pstree output there a lot of other things which isn't run
> under runsv:
> 
> - mount.ntfs-3g
>   * this one uses FUSE and it's started by mount command - is it makes
>     sense or even possible to supervise it?

FUSE usually is handled by the kernel and udev I think and the checkfs triggers 
in stage-1.

> - usbhid-ups
>   * not sure what's this - I'm running upsmon and upsd services, both
>     live under runsv, probably someone of them has forked this process

I have seen scripts for upsmon and upsd, but I'm not certain of their 
functionality benefits.

> - console-kit-daemon
> - polkitd
>   * I didn't run this crap, probably it was automatically started by dbus
>     or some GUI apps

Console-kit-daemon is entirely optional as a service. Most desktops can run 
--with-ck-launch such as startxfce4 and ck-launch-session by startkde.

>- gpg-agent
> - ssh-agent
>   * these was run from ~/.xinitrc because I needed to import ENV vars they
>     provide - maybe it's possible to turn them into user-specific
>     services, not sure
> 
> - dbus-launch
> - dbus-daemon
> - at-spi-bus-launcher
> - at-spi2-registryd
>   * I'm running dbus-daemon under runsv, and have no idea about these
>     processes - probably they was either forked by supervised dbus-daemon
>     or started by GUI apps

I think those are forked, but I might not be sure.

> - gconfd-2
> - xfconfd
>   * I've no idea about these, also probably started by GUI apps
Looks to be Xfce4 related.

> - compton
>   * that's simple compositor for X11, started from ~/.xinitrc, probably
>     can be supervised - but there are actually a lot of similar background
>     apps started from ~/.xinitrc but didn't detached from their parent and
>     thus didn't noticeable in pstree output - parcellite, xxkb, unclutter,
>     conky, even goldendict or pidgin may be treat as "services" and run
>     under supervision… if this makes any sense. 
> 
> - pulseaudio
>   * crap needed only for latest skype and started by it

I never installed it.

> So, how udevd is more important to supervise than all these apps/services?
> 
> -- 
>                       WBR, Alex.
                                          

Reply via email to