Scroll to navigation

IBV_IS_FORK_INITIALIZED(3) Libibverbs Programmer's Manual IBV_IS_FORK_INITIALIZED(3)

NAME

ibv_is_fork_initialized - check if fork support (ibv_fork_init) is enabled

SYNOPSIS

#include <infiniband/verbs.h>
enum ibv_fork_status {
    IBV_FORK_DISABLED,
    IBV_FORK_ENABLED,
    IBV_FORK_UNNEEDED,
};
enum ibv_fork_status ibv_is_fork_initialized(void);
    

DESCRIPTION

ibv_is_fork_initialized() checks whether libibverbs fork() support was enabled through the ibv_fork_init() verb.

RETURN VALUE

ibv_is_fork_initialized() returns IBV_FORK_DISABLED if fork support is disabled, or IBV_FORK_ENABLED if enabled. IBV_FORK_UNNEEDED return value indicates that the kernel copies DMA pages on fork, hence a call to ibv_fork_init() is unneeded.

NOTES

The IBV_FORK_UNNEEDED return value takes precedence over IBV_FORK_DISABLED and IBV_FORK_ENABLED. If the kernel supports copy-on-fork for DMA pages then IBV_FORK_UNNEEDED will be returned regardless of whether ibv_fork_init() was called or not.

SEE ALSO

fork(2), ibv_fork_init(3)

AUTHOR

Gal Pressman <galpress@amazon.com>

2020-10-09 libibverbs