Lines Matching +full:time +full:- +full:slot
57 .Fa "u_int slot"
63 .Fa "u_int slot"
68 .Fa "u_int slot"
74 .Fa "u_int slot"
86 .Fa "u_int slot"
92 .Fa "u_int slot"
110 run-time with any kernel data structure which has been suitably modified for use
113 The one-off modification required involves embedding a
133 framework using a type/slot identifier pair.
136 and provide a high-level grouping for slots to be registered under.
137 Slot identifiers are dynamically assigned by the framework when a data type is
145 function registers a type/slot identifier pair with the
148 The function may sleep and therefore cannot be called from a non-sleepable
152 argument specifies which high-level type grouping from
154 the slot identifier should be allocated under.
175 function deregisters a previously registered type/slot identifier pair.
176 The function may sleep and therefore cannot be called from a non-sleepable
180 argument specifies which high-level type grouping from
182 the slot identifier is allocated under.
184 .Fa slot
185 argument specifies the slot identifier which is being deregistered and should be
197 argument specifies which high-level type grouping from
199 the slot identifier is allocated under.
208 .Fa slot
209 argument specifies the slot identifier to assign the
223 that is internal-use memory previously allocated via
230 member from the specified type/slot identifier pair.
233 argument specifies which high-level type grouping from
235 the slot identifier is allocated under.
242 .Fa slot
243 argument specifies the slot identifier to retrieve the data pointer from.
249 member from the specified type/slot identifier pair.
252 argument specifies which high-level type grouping from
254 the slot identifier is allocated under.
261 .Fa slot
262 argument specifies the slot identifier to remove the data pointer from.
263 If an osd_destructor_t function pointer was specified at registration time, the
264 destructor function will be called and passed the data pointer for the type/slot
275 The function may sleep and therefore cannot be called from a non-sleepable
279 argument specifies which high-level type grouping from
290 arguments are passed to the method function pointer of each slot.
300 argument specifies which high-level type grouping from
314 The type identifier is used as the index into the outer array, and the slot
316 To set or retrieve a data pointer for a given type/slot identifier pair,
320 perform the equivalent of array[type][slot], which is both constant time and
327 for the first time, the array for storing data pointers is dynamically allocated
330 with M_NOWAIT to a size appropriate for the slot identifier being set.
333 attempts to set a slot identifier which is numerically larger than the slot used
338 is used to grow the array to the appropriate size such that the slot identifier
342 sequentially on a number of different slot identifiers (e.g., during an
343 initialisation phase) one should loop through the slot identifiers in descending
347 call to create an array of the largest slot size and all subsequent calls to
358 may be called (in a non-blocking context), and it will pre-allocate the
362 Then this pre-allocated memory is passed to
374 API is geared towards slot identifiers storing pointers to the same underlying
404 returns the slot identifier for the newly registered data type.
409 return zero on success or ENOMEM if the specified type/slot identifier pair
417 is non-NULL).
420 returns the data pointer for the specified type/slot identifier pair, or NULL if
421 the slot has not been initialised yet.
430 returns zero if no method is run or the method for each slot runs successfully.
431 If a method for a slot returns non-zero,
441 .An -nosplit