From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/eudev: tweak initscript
Date: Mon, 20 Oct 2014 20:10:45 +0200 [thread overview]
Message-ID: <20141020181045.GL3742@free.fr> (raw)
In-Reply-To: <54454D23.3060608@zacarias.com.ar>
Gustavo, All,
On 2014-10-20 14:57 -0300, Gustavo Zacarias spake thusly:
> On 10/20/2014 02:54 PM, Yann E. MORIN wrote:
>
> > Hmmm... This exit won't do much: it exits a sub-shell, so the initscript
> > will still continue...
>
> I've focused on fixing the one problem, i didn't audit the whole script.
Sorry, that was not a critcism of your patch. I just noticed it by
chance...
> >> - udevadm trigger --action=add
> >> - udevadm settle
> >> + udevadm trigger --type=subsystems --action=add
> >> + udevadm trigger --type=devices --action=add
> >> + udevadm settle --timeout=10
> >
> > Why did you add a timeout, and not explain it?
> >
> > Also, are 10 seconds really enough? What happens if a device takes
> > longer than 10s to initialise (and it is needed to boot, like a slow
> > USB mass-storage) ?
>
> It just seems prudent to avoid a stall, but yeah forgot to mention it,
> it's the usual practice in many distros.
Mine has no timeout, but from man udevadm, the default is 120s:
udevadm settle [options]
Watches the udev event queue, and exits if all current events are
handled.
--timeout=seconds
Maximum number of seconds to wait for the event queue to
become empty. The default value is 120 seconds. A value of
0 will check if the queue is empty and always return
immediately.
So, I think 10s are a bit too short, but can not really suggest a better
default. Maybe we could just keep the default timeout, even though it is
a bit long?
Whether we wait 10 or 120 seconds, if something's stuck, there's not
much we can do about it. My distro, however, does this:
# wait for the udevd childs to finish
log_action_begin_msg "Waiting for /dev to be fully populated"
if udevadm settle; then
log_action_end_msg 0
else
log_action_end_msg 0 'timeout'
fi
Which we could actually do (except in a simpler way, like log the
issue).
> You've got rootwait & friends for that, remember this is post mount-root
> so it doesn't matter there.
Not only USB mass-storage for root, but eth over USB, too. I've seen a
USB bus take about 8s to properly initialise and enumerate all the
devices, and a few seconds more for the USB-eth device to show up, and
there was an NFS resource to be mounted from /etc/fstab.
Anyway, this is a corner case.
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> And if you're doing initramfs then
> switching/pivoting to some other root, well, you're scripting it, you
> should take care of it there since you're doing the mount.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-10-20 18:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-20 17:45 [Buildroot] [PATCH] package/eudev: tweak initscript Gustavo Zacarias
2014-10-20 17:54 ` Yann E. MORIN
2014-10-20 17:57 ` Gustavo Zacarias
2014-10-20 18:10 ` Yann E. MORIN [this message]
2014-10-20 18:17 ` Gustavo Zacarias
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141020181045.GL3742@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox