rte_rcu_qs...parameters(3)

๐Ÿ’– NAME ๐Ÿ’–

rte_rcu_qsbr_dq_parameters โ€” bestie, this is the struct you fill out when you're creating a defer queue. That's it, that's the whole vibe.

Heads up babes, this comes from the DPDK Library Functions Manual โ€” so if you're lost in the docs, you're in the right place ๐Ÿซถ

โœจ SYNOPSIS โœจ

#include <rte_rcu_qsbr.h>

๐ŸŽ€ Data Fields ๐ŸŽ€

  • const char * name
  • uint32_t flags
  • uint32_t size
  • uint32_t esize
  • uint32_t trigger_reclaim_limit
  • uint32_t max_reclaim_size
  • rte_rcu_qsbr_free_resource_t free_fn
  • void * p
  • struct rte_rcu_qsbr * v

๐ŸŒธ Detailed Description ๐ŸŒธ

These are the parameters you hand over when you're creating a defer queue. Like, it's the lil form you fill in so the queue knows what it's about. Periodt.

Definition at line 148 of file rte_rcu_qsbr.h.


๐Ÿ’… Field Documentation ๐Ÿ’…

๐ŸŒˆ const char* name

Name of the queue. Give her a name, she deserves one. ๐Ÿ’–

Definition at line 149 of file rte_rcu_qsbr.h.

๐ŸŒˆ uint32_t flags

Flags to control API behaviors โ€” the knobs that decide how the API acts. ๐Ÿ”ฅ

Definition at line 151 of file rte_rcu_qsbr.h.

๐ŸŒˆ uint32_t size

Number of entries in the queue. Typically, this will be the same as the maximum number of entries supported in the lock free data structure. Data structures with unbounded number of entries is not supported currently. So like, don't ask for infinity, bestie, she will not deliver. ๐Ÿ’€

Definition at line 153 of file rte_rcu_qsbr.h.

๐ŸŒˆ uint32_t esize

Size (in bytes) of each element in the defer queue. This has to be multiple of 4B โ€” a multiple of 4B, no exceptions, so do the math before you commit. ๐Ÿงฎโœจ

Definition at line 160 of file rte_rcu_qsbr.h.

๐ŸŒˆ uint32_t trigger_reclaim_limit

Trigger automatic reclamation after the defer queue has at least these many resources waiting. This auto reclamation is triggered in rte_rcu_qsbr_dq_enqueue API call. If this is greater than size, auto reclamation is not triggered. If this is set to 0, auto reclamation is triggered in every call to rte_rcu_qsbr_dq_enqueue API. The way that this one field has three whole moods ๐Ÿ˜ญ read it carefully fr fr.

Definition at line 164 of file rte_rcu_qsbr.h.

๐ŸŒˆ uint32_t max_reclaim_size

When automatic reclamation is enabled, reclaim at the max these many resources. This should contain a valid value, if auto reclamation is on โ€” don't leave it empty if you turned that on, that's not the move. Setting this to size or greater will reclaim all possible resources currently on the defer queue. ๐Ÿ‘‘

Definition at line 174 of file rte_rcu_qsbr.h.

๐ŸŒˆ rte_rcu_qsbr_free_resource_t free_fn

Function to call to free the resource. Your cleanup bestie. ๐Ÿซถ

Definition at line 180 of file rte_rcu_qsbr.h.

๐ŸŒˆ void* p

Pointer passed to the free function. Typically, this is the pointer to the data structure to which the resource to free belongs. This can be NULL. Lowkey chill like that.

Definition at line 182 of file rte_rcu_qsbr.h.

๐ŸŒˆ struct rte_rcu_qsbr* v

RCU QSBR variable to use for this defer queue. She needs her RCU QSBR variable, it's giving main character energy. โญ

Definition at line 187 of file rte_rcu_qsbr.h.


๐Ÿ‘‘ Author ๐Ÿ‘‘

Generated automatically by Doxygen for DPDK from the source code. Not me writing it by hand, the robots did that. ๐Ÿค–โœจ


And that's the whole page, bestie โ€” DPDK, Version 25.11.3, straight from the rte_rcu_qs...parameters(3) corner of the Library Functions Manual. Slay, go build your defer queue, and don't forget that esize multiple-of-4B thing. ๐Ÿ’…๐Ÿ’–๐ŸŽ€๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from