|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
df866676 |
| 15-Sep-2021 |
Alexander Motin <[email protected]> |
ipmi(4): Limit maximum watchdog pre-timeout interval.
Previous code by default setting pre-timeout interval to 120 seconds made impossible to set timeout interval below that, resulting in error 0xcc
ipmi(4): Limit maximum watchdog pre-timeout interval.
Previous code by default setting pre-timeout interval to 120 seconds made impossible to set timeout interval below that, resulting in error 0xcc (Invalid data field in Request) at least on Supermicro boards.
To fix that limit maximum pre-timeout interval to ~1/4 of the timeout interval, that sounds like a reasonable default: not too short to fire too late, but also not too long to give many false reports.
MFC after: 2 weeks
(cherry picked from commit 6c2d4404161aa2bac1c7992afbf5a763f1a6f66e)
show more ...
|
| #
aac5428f |
| 18-Aug-2021 |
Wojciech Macek <[email protected]> |
ipmi: fix negative logic in watchdog control flag
Use wd_enable instead of wd_disable
(cherry picked from commit e3500c602b13f8252eb8bb779849c41d47306cee)
|
| #
8fe53617 |
| 17-Aug-2021 |
Wojciech Macek <[email protected]> |
ipmi: New tunable to deactivate IPMI watchdog
In case we want to use other WD than IPMI-provided, add sysctl to disable initialization.
Obtained from: Semihalf Sponsored by: Stormshield Different
ipmi: New tunable to deactivate IPMI watchdog
In case we want to use other WD than IPMI-provided, add sysctl to disable initialization.
Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D31548
(cherry picked from commit e8ad0a0059afe1cd0af39bab49018ae7bc9be937)
show more ...
|
| #
b41b86b6 |
| 30-Jul-2021 |
Alexander Motin <[email protected]> |
ipmi(4): Add more watchdog error checks.
Add request submission status checks before checking req->ir_compcode, otherwise it may be zero just because of initialization.
Add checks for req->ir_compc
ipmi(4): Add more watchdog error checks.
Add request submission status checks before checking req->ir_compcode, otherwise it may be zero just because of initialization.
Add checks for req->ir_compcode errors in ipmi_reset_watchdog() and ipmi_set_watchdog(). In first case explicitly check for 0x80, which means timer was not previously set, that I found happening after BMC cold reset. This change makes watchdog timer to recover instead of permanently ignoring reset errors after BMC reset or upgraded.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
(cherry picked from commit 9d3b47abbba74830661e90206cc0f692b159c432)
show more ...
|
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0 |
|
| #
562894f0 |
| 14-Apr-2020 |
Brooks Davis <[email protected]> |
Centralize compatability translation macros.
Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat.h and replace existing definitation with includes where required. This eliminates d
Centralize compatability translation macros.
Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat.h and replace existing definitation with includes where required. This eliminates duplicate code and allows Linux and FreeBSD compatability headers to be included in the same files.
Input from: cem, jhb Obtained from: CheriBSD MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24275
show more ...
|
| #
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <[email protected]> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0 |
|
| #
e2e050c8 |
| 20-May-2019 |
Conrad Meyer <[email protected]> |
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially.
EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).
As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files.
LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change).
No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
show more ...
|
| #
26649bb5 |
| 15-Dec-2018 |
Conrad Meyer <[email protected]> |
efirt: When present, attempt to use EFI runtime services to shutdown
PR: maybe related to 233998 (inconclusive at this time) Submitted by: byuu <byuu AT tutanota.com> (previous version) Reviewed by
efirt: When present, attempt to use EFI runtime services to shutdown
PR: maybe related to 233998 (inconclusive at this time) Submitted by: byuu <byuu AT tutanota.com> (previous version) Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D18506
show more ...
|
|
Revision tags: release/12.0.0 |
|
| #
3991dbf3 |
| 16-Aug-2018 |
Doug Ambrisko <[email protected]> |
Fix a module Makefile error on amd64 so the IPMI HW interfaces are built. When the module is being unloaded and no HW interfaces were created don't clean up. This was exposed by the amd64 module bui
Fix a module Makefile error on amd64 so the IPMI HW interfaces are built. When the module is being unloaded and no HW interfaces were created don't clean up. This was exposed by the amd64 module build issue.
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
| #
9ee3ea71 |
| 05-Nov-2017 |
Peter Wemm <[email protected]> |
As a follow-on to r325378, make the shutdown timer default to 0 as well.
Otherwise an orderly shutdown will initiate a watchdog that will cause a 7 minute delayed reboot *by default*, In the freebs
As a follow-on to r325378, make the shutdown timer default to 0 as well.
Otherwise an orderly shutdown will initiate a watchdog that will cause a 7 minute delayed reboot *by default*, In the freebsd.org cluster's case this often worked out be a surprise reboot a minute or two after the machine came back up.
show more ...
|
| #
c154763d |
| 04-Nov-2017 |
Warner Losh <[email protected]> |
Make the startup timeout 0 seconds by default rathern than 420s. This makes the default fail safe when watchdogd is disabled (which is also the default).
Sponsored by
|
| #
16f0063e |
| 26-Oct-2017 |
Warner Losh <[email protected]> |
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: Netf
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
show more ...
|
| #
14d00450 |
| 26-Oct-2017 |
Warner Losh <[email protected]> |
Various IPMI watchdog timer improvements
o Make hw.ipmi.on a tuneable o Changes to keep shutdown from hanging indefinitately after the wd would normally have been disabled. o Add support for setti
Various IPMI watchdog timer improvements
o Make hw.ipmi.on a tuneable o Changes to keep shutdown from hanging indefinitately after the wd would normally have been disabled. o Add support for setting pretimeout (which fires an interrupt some time before the actual watchdog expires) o Allow refinement of the actions to take when the watchdog expires o Allow special startup timeout to keep us from hanging in boot before watchdogd is started, but after we've loaded the kernel.
Obtained From: Netflix OCA Firmware
show more ...
|
| #
1170c2fe |
| 25-Oct-2017 |
Warner Losh <[email protected]> |
Implement IPMI support for RB_POWRECYCLE
Some BMCs support power cycling the chassis via the chassis control command 2 subcommand 2 (ipmitool called it 'chassis power cycle'). If the BMC supports t
Implement IPMI support for RB_POWRECYCLE
Some BMCs support power cycling the chassis via the chassis control command 2 subcommand 2 (ipmitool called it 'chassis power cycle'). If the BMC supports the chassis device, register a shutdown_final handler that sends the power cycle command if request and waits up to 10s for it to take effect. To minimize stack strain, we preallocate a ipmi request in the softc. At the moment, we're verbose about what we're doing.
Sponsored by: Netflix
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0 |
|
| #
ea2ef993 |
| 22-Mar-2016 |
Alexander Motin <[email protected]> |
Optimize IPMI watchdog patting.
Set watchdog timer parameters only when they really need to be changed. In other cases just restart the timer with single Reset command instead of two (Set and Reset)
Optimize IPMI watchdog patting.
Set watchdog timer parameters only when they really need to be changed. In other cases just restart the timer with single Reset command instead of two (Set and Reset).
From one side this visually reduces amount of CPU time burned in tight loop waiting while some slow BMC configures its watchdog hardware, that seems to be much more complicated task then just resetting the timer.
From another side on some BMCs those slow Set commands sometimes tend to timeout, that leads to noisy log messages and even more CPU time burned, so avoiding them can provide even bigger bonuses.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
9662eef5 |
| 24-Apr-2015 |
John Baldwin <[email protected]> |
Watchdog drivers need to support rearming the watchdog in contexts which are not permitted to sleep. Only use the IPMI watchdog with backends which poll driver-initiated requests to meet this requir
Watchdog drivers need to support rearming the watchdog in contexts which are not permitted to sleep. Only use the IPMI watchdog with backends which poll driver-initiated requests to meet this requirement.
In practice this means that watchdogs will no longer be used on systems that use the SSIF backend.
Differential Revision: https://reviews.freebsd.org/D2062 MFC after: 2 weeks
show more ...
|
| #
c869aa71 |
| 06-Feb-2015 |
John Baldwin <[email protected]> |
Use direct hardware access for internal requests for KCS and SMIC. In particular, updates to the watchdog should no longer sleep. - Add a new IPMI_IO_LOCK for low-level I/O access. Use this for k
Use direct hardware access for internal requests for KCS and SMIC. In particular, updates to the watchdog should no longer sleep. - Add a new IPMI_IO_LOCK for low-level I/O access. Use this for kcs_polled_request() and smic_polled_request(). - Add a new backend callback "ipmi_driver_request" to handle a driver request. The new callback performs the request sychronously for KCS and SMIC. SSIF still defers the work to the worker thread since the worker thread sleeps during request processing anyway. - Allocate driver requests on the stack rather than using malloc().
Differential Revision: https://reviews.freebsd.org/D1723 Tested by: scottl MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.1.0, release/9.3.0, release/10.0.0 |
|
| #
a9b3c1bf |
| 31-Oct-2013 |
Gleb Smirnoff <[email protected]> |
Provide a crutch that prevents watchdog to interrupt dumping on a box with IPMI enabled.
Okay from: jhb Sponsored by: Netflix Sponsored by: Nginx, Inc.
|
|
Revision tags: release/9.2.0, release/8.4.0, release/9.1.0 |
|
| #
1710852e |
| 07-Aug-2012 |
John Baldwin <[email protected]> |
Don't try to stop the IPMI watchdog timer if it is not running. Starting or stopping the IPMI watchdog is rather expensive with the current implementation as all IPMI requests are bounced via thread.
Don't try to stop the IPMI watchdog timer if it is not running. Starting or stopping the IPMI watchdog is rather expensive with the current implementation as all IPMI requests are bounced via thread. This is not viable during shutdown or dumps, and this avoids headache in the common case that the watchdog is not enabled. The IPMI watchdog should probably be reworked to not use a separate thread to fix this in the case when the watchdog timer is enabled.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/8.3.0_cvs, release/8.3.0, release/9.0.0 |
|
| #
6472ac3d |
| 07-Nov-2011 |
Ed Schouten <[email protected]> |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else,
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
show more ...
|
| #
d745c852 |
| 07-Nov-2011 |
Ed Schouten <[email protected]> |
Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.
This means that their use is restricted to a single C file.
|
| #
14689886 |
| 14-Apr-2011 |
Ruslan Ermilov <[email protected]> |
Fixed firmware revision decoding: - the major is 7-bit binary encoded - the minor is BCD encoded
PR: kern/151586 MFC after: 3 days
|
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0 |
|
| #
3135744c |
| 21-Dec-2009 |
Ruslan Ermilov <[email protected]> |
MFC r200666: Fixed incorrect watchdog timeout setting.
PR: kern/130512
|
| #
a46a1e76 |
| 18-Dec-2009 |
Ruslan Ermilov <[email protected]> |
- Fixed incorrect watchdog timeout setting: MSB of a 2-byte value is obtained by dividing it by 256, not by 2550; also, one second is 10^9 nanoseconds, not 1800000000 nanoseconds.
- Due to round
- Fixed incorrect watchdog timeout setting: MSB of a 2-byte value is obtained by dividing it by 256, not by 2550; also, one second is 10^9 nanoseconds, not 1800000000 nanoseconds.
- Due to rounding error, setting watchdog to a really small timeout (<1 sec) was turning the watchdog off. It should set the watchdog to a small timeout instead.
- Implemented error checking in ipmi_wd_event(), as required by watchdog(9).
PR: kern/130512 Submitted by: Dmitrij Tejblum
- Additionally, check that the timeout value is within the supported range, and if it's too large, act as required by watchdog(9).
MFC after: 3 days
show more ...
|