Date: Thu, 26 Oct 2017 22:53:02 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r325025 - head/sys/dev/ipmi Message-ID: <201710262253.v9QMr2Vw009421@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Thu Oct 26 22:53:02 2017 New Revision: 325025 URL: https://svnweb.freebsd.org/changeset/base/325025 Log: Make time we wait for a power cycle tunable. hw.ipmi.cycle_time is the time to wait for the power down phase of the ipmi power cycle before falling back to either reboot or halt. Sponsored by: Netflix Modified: head/sys/dev/ipmi/ipmi.c Modified: head/sys/dev/ipmi/ipmi.c ============================================================================== --- head/sys/dev/ipmi/ipmi.c Thu Oct 26 22:52:51 2017 (r325024) +++ head/sys/dev/ipmi/ipmi.c Thu Oct 26 22:53:02 2017 (r325025) @@ -86,6 +86,7 @@ static int wd_timer_actions = IPMI_SET_WD_ACTION_POWER static int wd_shutdown_countdown = 420; /* sec */ static int wd_startup_countdown = 420; /* sec */ static int wd_pretimeout_countdown = 120; /* sec */ +static int cycle_wait = 10; /* sec */ static SYSCTL_NODE(_hw, OID_AUTO, ipmi, CTLFLAG_RD, 0, "IPMI driver parameters"); @@ -103,6 +104,9 @@ SYSCTL_INT(_hw_ipmi, OID_AUTO, wd_startup_countdown, C SYSCTL_INT(_hw_ipmi, OID_AUTO, wd_pretimeout_countdown, CTLFLAG_RW, &wd_pretimeout_countdown, 0, "IPMI watchdog pre-timeout countdown (seconds)"); +SYSCTL_INT(_hw_ipmi, OID_AUTO, cyle_wait, CTLFLAG_RWTUN, + &cycle_wait, 0, + "IPMI power cycle on reboot delay time (seconds)"); static struct cdevsw ipmi_cdevsw = { .d_version = D_VERSION, @@ -797,11 +801,11 @@ ipmi_power_cycle(void *arg, int howto) } /* - * BMCs are notoriously slow, give it up to 10s to effect the power + * BMCs are notoriously slow, give it cyle_wait seconds for the power * down leg of the power cycle. If that fails, fallback to the next * hanlder in the shutdown_final chain and/or the platform failsafe. */ - DELAY(10 * 1000 * 1000); + DELAY(cycle_wait * 1000 * 1000); device_printf(sc->ipmi_dev, "Power cycling via IPMI timed out\n"); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710262253.v9QMr2Vw009421>