Home
last modified time | relevance | path

Searched full:smr (Results 1 – 25 of 52) sorted by relevance

123

/freebsd/sys/sys/
H A Dsmr.h36 * algorithm, and smr_types.h for macros to define and access SMR-protected
40 * free directly to a SMR UMA zone or use smr_synchronize or wait.
57 /* Shared SMR state. */
72 /* Per-cpu SMR state. */
73 struct smr { struct
75 smr_shared_t c_shared; /* Shared SMR state. */
78 int c_flags; /* SMR Configuration */
96 smr_current(smr_t smr) in smr_current() argument
99 return (smr_shared_current(zpcpu_get(smr)->c_shared)); in smr_current()
106 smr_enter(smr_t smr) in smr_enter() argument
[all …]
H A D_smr.h34 typedef struct smr *smr_t;
36 #define SMR_ENTERED(smr) \ argument
37 (curthread->td_critnest != 0 && zpcpu_get((smr))->c_seq != SMR_SEQ_INVALID)
39 #define SMR_ASSERT_ENTERED(smr) \ argument
40 KASSERT(SMR_ENTERED(smr), ("Not in smr section"))
42 #define SMR_ASSERT_NOT_ENTERED(smr) \ argument
43 KASSERT(!SMR_ENTERED(smr), ("In smr section."));
H A Dsmr_types.h34 * SMR Accessors are meant to provide safe access to SMR protected
52 /* Type restricting pointer access to force smr accessors. */
59 * Read from an SMR protected pointer while in a read section.
61 #define smr_entered_load(p, smr) ({ \ argument
62 SMR_ASSERT(SMR_ENTERED((smr)), "smr_entered_load"); \
68 * Read from an SMR protected pointer while serialized by an
79 * Store 'v' to an SMR protected pointer while serialized by an
93 * swap 'v' with an SMR protected pointer and return the old value
109 * Read from an SMR protected pointer when no serialization is required
119 * Store to an SMR protected pointer when no serialiation is required
[all …]
H A Ddisk_zone.h43 * (SMR).
52 * its capacity using SMR zones. Sequential writes will yield better
H A Dpctrie.h76 #define PCTRIE_DEFINE_SMR(name, type, field, allocfn, freefn, smr) \ argument
84 key, (smr))); \
367 smr_t smr);
/freebsd/share/man/man9/
H A Dsmr.933 .Nm smr
39 .Fa "smr_t smr"
47 .Fa "smr_t smr"
51 .Fa "smr_t smr"
55 .Fa "smr_t smr"
59 .Fa "smr_t smr"
65 .Fa "smr_t smr"
69 .Fa "smr_t smr"
73 Safe Memory Reclamation (SMR) is a facility which enables the implementation of
75 In typical usage, read accesses to an SMR-protected data structure, such as a
[all …]
H A Dzone.9125 .Fn uma_zone_set_smr "uma_zone_t zone" "smr_t smr"
341 .Xr smr 9
410 functions allocate and free items from an SMR-enabled zone, that is,
565 .Xr smr 9
569 flag, except that a new SMR structure is not created.
616 .Xr smr 9
H A Dlocking.9150 .Xr smr 9 ,
156 .Xr smr 9
170 .Xr smr 9
434 .Xr smr 9 ,
H A DMakefile326 smr.9 \
2112 MLINKS+=smr.9 smr_advance.9 \
2113 smr.9 smr_create.9 \
2114 smr.9 smr_destroy.9 \
2115 smr.9 smr_enter.9 \
2116 smr.9 smr_exit.9 \
2117 smr.9 smr_poll.9 \
2118 smr.9 smr_synchronize.9 \
2119 smr.9 smr_wait.9
/freebsd/sys/kern/
H A Dsubr_smr.c35 #include <sys/smr.h>
171 * The grace period for lazy (tick based) SMR.
196 static SYSCTL_NODE(_debug, OID_AUTO, smr, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
197 "SMR Stats");
216 smr_lazy_advance(smr_t smr, smr_shared_t s) in smr_lazy_advance() argument
265 * Advance the write sequence number for a normal smr section. If the
270 smr_default_advance(smr_t smr, smr_shared_t s) in smr_default_advance() argument
275 KASSERT((zpcpu_get(smr)->c_flags & SMR_LAZY) == 0, in smr_default_advance()
276 ("smr_default_advance: called with lazy smr.")); in smr_default_advance()
292 smr_wait(smr, goal - SMR_SEQ_MAX_ADVANCE); in smr_default_advance()
[all …]
H A Dsubr_pctrie.c57 #include <sys/proc.h> /* smr.h depends on struct thread. */
58 #include <sys/smr.h>
117 pctrie_node_load(smr_pctnode_t *p, smr_t smr, enum pctrie_access access) in pctrie_node_load() argument
125 return (smr_entered_load(p, smr)); in pctrie_node_load()
141 panic("%s: Not supported in SMR section.", __func__); in pctrie_node_store()
162 pctrie_root_load(struct pctrie *ptree, smr_t smr, enum pctrie_access access) in pctrie_root_load() argument
164 return (pctrie_node_load(pctrie_root(ptree), smr, access)); in pctrie_root_load()
439 _pctrie_lookup(struct pctrie *ptree, uint64_t index, smr_t smr, in _pctrie_lookup() argument
445 node = pctrie_root_load(ptree, smr, access); in _pctrie_lookup()
448 node = pctrie_node_load(&node->pn_child[slot], smr, access); in _pctrie_lookup()
[all …]
H A Dkern_rangelock.c41 #include <sys/smr.h>
281 * rl_q_entry while in the smr section, and cannot reuse rl_q_next
284 * the smr section is dropped.
/freebsd/sys/netinet/
H A Dtcp_hostcache.c51 * SMR. This puts certain restrictions on writers, e.g. a writer shall only
81 #include <sys/smr.h>
125 smr_t smr; member
281 V_tcp_hostcache.smr = uma_zone_get_smr(V_tcp_hostcache.zone); in tcp_hc_init()
334 * On success returns in SMR section.
349 smr_enter(V_tcp_hostcache.smr); in tcp_hc_lookup()
363 smr_exit(V_tcp_hostcache.smr); in tcp_hc_lookup()
405 smr_exit(V_tcp_hostcache.smr); in tcp_hc_get()
428 smr_exit(V_tcp_hostcache.smr); in tcp_hc_getmtu()
545 * accessible by readers in SMR section. in tcp_hc_update()
H A Din_pcb.h141 * are be performed inside SMR section. Once desired PCB is found its own
142 * lock is to be obtained and SMR section exited.
146 * (e) - Protected by the SMR section
318 * The pcbs are protected with SMR section and thus all lists in inpcbinfo
326 * (e) Protected by SMR section
H A Din_pcb.c60 #include <sys/smr.h>
1461 * inpcb hash lookups are protected by SMR section.
1463 * Once desired pcb has been found, switching from SMR section to a pcb
1465 * here because SMR is a critical section.
1554 * will be executed for each inpcb in the SMR context, so it can not acquire
1637 * as long as we are in SMR, we can continue traversal. in inp_next()
1652 * SMR section we can no longer jump to 'next', and our only stable in inp_next()
1684 * SMR section exited.
2237 ("%s: not in SMR read section", __func__)); in in_pcblookup_hash_wild_smr()
2342 * for bind(2) operations, or is in SMR section, which happens when sorting
/freebsd/usr.sbin/zonectl/
H A Dzonectl.859 Magnetic Recording (SMR).
60 There are three types of SMR drives:
65 using SMR zones.
88 SMR drives are divided into zones (typically in the range of 256MB each)
/freebsd/tools/uma/smrstress/
H A Dsmrstress.c39 #include <sys/smr.h>
68 printf("SMR ERROR: wr_seq %d, rd_seq %d, c_seq %d, generation %d, count %d ", in smrs_error()
164 smrs_error(smrs, "ctor: Invalid smr generation on ctor\n"); in smrs_ctor()
/freebsd/sys/vm/
H A Duma.h276 * a unique SMR context for this
280 * See sys/smr.h for more details.
340 /* Use with SMR zones. */
394 /* Use with SMR zones. */
634 * Associate a zone with a smr context that is allocated after creation
637 void uma_zone_set_smr(uma_zone_t zone, smr_t smr);
640 * Fetch the smr context that was set or made in uma_zcreate().
H A Duma_core.c79 #include <sys/smr.h>
524 ("bucket_free: Freeing an SMR bucket.")); in bucket_free()
803 /* SMR Buckets can not be re-used until readers expire. */ in zone_fetch_bucket()
890 * protected by SMR, try to defer reuse to minimize polling. in zone_put_bucket()
1456 * Don't flush SMR zone buckets. This leaves the zone without a in cache_drain_safe_cpu()
2981 /* Caller requests a private SMR context. */ in zone_ctor()
3726 ("uma_zalloc_arg: called with non-SMR zone.")); in uma_zalloc_smr()
3757 ("uma_zalloc_arg: called with SMR zone.")); in uma_zalloc_arg()
3801 * SMR Zones can't re-use the free bucket until the sequence has in cache_alloc()
3896 ("uma_zalloc_domain: called with SMR zone.")); in uma_zalloc_domain()
[all …]
H A Dvm_radix.c63 #include <sys/smr.h>
/freebsd/contrib/file/magic/Magdir/
H A Dbiosig66 0 string (C)\x20CED\x2087 Biosig/CED SMR
67 !:mime biosig/ced-smr
/freebsd/crypto/openssl/test/recipes/04-test_pem_reading_data/
H A Ddsa-threecolumn.pem343 SMr
/freebsd/contrib/ofed/librdmacm/
H A Drsocket.c289 struct ibv_mr *smr; member
338 struct ibv_mr *smr; member
717 rs->smr = rdma_reg_msgs(rs->cm_id, rs->sbuf, total_sbuf_size); in rs_init_bufs()
718 if (!rs->smr) in rs_init_bufs()
749 rs->ssgl[0].lkey = rs->ssgl[1].lkey = rs->smr->lkey; in rs_init_bufs()
764 qp->smr = rdma_reg_msgs(qp->cm_id, qp->rs->sbuf, qp->rs->sbuf_size); in ds_init_bufs()
765 if (!qp->smr) in ds_init_bufs()
932 if (qp->smr) in ds_free_qp()
933 rdma_dereg_mr(qp->smr); in ds_free_qp()
998 if (rs->smr) in rs_free()
[all …]
/freebsd/sys/dev/wg/
H A Dwg_noise.c468 noise_remote_smr_free(struct epoch_context *smr) in noise_remote_smr_free() argument
471 r = __containerof(smr, struct noise_remote, r_smr); in noise_remote_smr_free()
752 noise_keypair_smr_free(struct epoch_context *smr) in noise_keypair_smr_free() argument
755 kp = __containerof(smr, struct noise_keypair, kp_smr); in noise_keypair_smr_free()
/freebsd/tools/build/test-includes/
H A Dbadfiles.inc114 sys/smr.h \

123