logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ibv_create_counters, ibv_destroy_counters - Create or destroy a counters handle

Arguments

context RDMA device context to create the counters on. init_attr Is an ibv_counters_init_attr struct, as defined in verbs.h. init_attr Argument struct ibv_counters_init_attr { int comp_mask; }; comp_mask Bitmask specifying what fields in the structure are valid.

Authors

Raed Salem raeds@mellanox.com Alex Rosenbaum alexr@mellanox.com libibverbs 2018-04-02 ibv_create_counters(3)

Description

ibv_create_counters() creates a new counters handle for the RDMA device context. An ibv_counters handle can be attached to a verbs resource (e.g.: QP, WQ, Flow) statically when these are created. For example attach an ibv_counters statically to a Flow (struct ibv_flow) during creation of a new Flow by calling ibv_create_flow(). Counters are cleared upon creation and values will be monotonically increasing. ibv_destroy_counters() releases the counters handle, user should detach the counters object before destroying it.

Errors

EOPNOTSUPP ibv_create_counters() is not currently supported on this device (ENOSYS may sometimes be returned by old versions of libibverbs). ENOMEM ibv_create_counters() could not create ibv_counters object, not enough memory EINVAL invalid parameter supplied ibv_destroy_counters()

Example

An example of use of ibv_counters is shown in ibv_read_counters

Name

ibv_create_counters, ibv_destroy_counters - Create or destroy a counters handle

Return Value

ibv_create_counters() returns a pointer to the allocated ibv_counters object, or NULL if the request fails (and sets errno to indicate the failure reason) ibv_destroy_counters() returns 0 on success, or the value of errno on failure (which indicates the failure reason)

See Also

ibv_attach_counters_point_flow, ibv_read_counters, ibv_create_flow

Synopsis

#include <infiniband/verbs.h> struct ibv_counters * ibv_create_counters(struct ibv_context *context, struct ibv_counters_init_attr *init_attr); int ibv_destroy_counters(struct ibv_counters *counters);

See Also