aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJustin T. Gibbs <gibbs@FreeBSD.org>2010-08-12 19:50:40 +0000
committerJustin T. Gibbs <gibbs@FreeBSD.org>2010-08-12 19:50:40 +0000
commit5ef8fb65f9c660828900812236eae0c851ef77ff (patch)
tree16218c233f1d4bac63d2bd0006c4445738e01ce0 /tools
parentaf7198501ce26a80a04b56ed572ed84cc114b6a3 (diff)
downloadsrc-5ef8fb65f9c660828900812236eae0c851ef77ff.tar.gz
src-5ef8fb65f9c660828900812236eae0c851ef77ff.zip
Allow interrupt driven config hooks to be registered from config hook callbacks.
Interrupt driven configuration hooks serve two purposes: they are a mechanism for registering for a callback that is invoked once interrupt services are available, and they hold off root device selection so long as any configuration hooks are still active. Before this change, it was not possible to safely register additional hooks from the context of a configuration hook callback. The need for this feature arises when interrupts are required to discover new devices (e.g. access to the XenStore to find para-virtualized devices) which in turn also require the ability to hold off root device selection until some lengthy, interrupt driven, configuration task has completed (e.g. Xen front/back device driver negotiation). More specifically, the mutex protecting the list of active configuration hooks is never held during a callback, and static information is used to ensure proper ordering and only a single callback to each hook even when faced with registration or removal of a hook during an active run. Sponsored by: Spectra Logic Corporation MFC after: 1 week.
Notes
Notes: svn path=/head/; revision=211236
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions