Project

General

Profile

Submit #2373 » wakedelay.better.diff

fgudin, 08/26/2012 01:02 PM

View differences:

sys/boot/common/loader.8
.Nm initrd .
See
.Xr mkinitrd 8 .
.It Va vfs.root.wakedelay
Specify an additional delay (default is 2 seconds if unspecified) before trying to mount root.
.El
.Sh FILES
.Bl -tag -width /boot/defaults/dloader.menu -compact
sys/boot/dloader/loader.conf
#kern.ipc.nmbufs="" # Set the maximum number of mbufs
#kern.vm.kmem.size="" # Sets the size of kernel memory (bytes)
#net.inet.tcp.tcbhashsize="" # Set the value of TCBHASHSIZE
#vfs.root.wakedelay="" # Delay in seconds before trying to mount the root
#vfs.root.mountfrom="" # Specify root partition in a way the
# kernel understands. You can specify a semicolon
# separated device list which will be tried.
sys/kern/vfs_conf.c
static int setrootbyname(char *name);
SYSINIT(mountroot, SI_SUB_MOUNT_ROOT, SI_ORDER_SECOND, vfs_mountroot, NULL);
static int wakedelay = 2; /* delay before mounting root: defaults to 2 seconds */
TUNABLE_INT("vfs.root.wakedelay", &wakedelay);
/*
* Find and mount the root filesystem
*/
......
* Messages can fly around here so get good synchronization
* coverage.
*
* XXX - Delay an additional 2 seconds to help drivers which pickup
* XXX - Delay some more (default: 2s) to help drivers which pickup
* devices asynchronously and are not caught by CAM's initial
* probe.
*/
sync_devs();
tsleep(&dummy, 0, "syncer", hz*2);
tsleep(&dummy, 0, "syncer", hz*wakedelay);
/*
(2-2/2)