Lines Matching full:segment
20 * Segment in a queue of running buffers. Each segment can hold a number of
30 struct folio_batch vec; /* Folios in the queue segment */
32 struct folio_queue *next; /* Next queue segment or NULL */
33 struct folio_queue *prev; /* Previous queue segment of NULL */
43 * folioq_init - Initialise a folio queue segment
44 * @folioq: The segment to initialise
46 * Initialise a folio queue segment. Note that the folio pointers are
60 * folioq_nr_slots: Query the capacity of a folio queue segment
61 * @folioq: The segment to query
63 * Query the number of folios that a particular folio queue segment might hold.
64 * [!] NOTE: This must not be assumed to be the same for every segment!
72 * folioq_count: Query the occupancy of a folio queue segment
73 * @folioq: The segment to query
75 * Query the number of folios that have been added to a folio queue segment.
76 * Note that this is not decreased as folios are removed from a segment.
84 * folioq_full: Query if a folio queue segment is full
85 * @folioq: The segment to query
87 * Query if a folio queue segment is fully occupied. Note that this does not
88 * change if folios are removed from a segment.
97 * folioq_is_marked: Check first folio mark in a folio queue segment
98 * @folioq: The segment to query
102 * folio queue segment.
110 * folioq_mark: Set the first mark on a folio in a folio queue segment
111 * @folioq: The segment to modify
115 * segment.
123 * folioq_unmark: Clear the first mark on a folio in a folio queue segment
124 * @folioq: The segment to modify
128 * segment.
136 * folioq_is_marked2: Check second folio mark in a folio queue segment
137 * @folioq: The segment to query
141 * folio queue segment.
149 * folioq_mark2: Set the second mark on a folio in a folio queue segment
150 * @folioq: The segment to modify
154 * segment.
162 * folioq_unmark2: Clear the second mark on a folio in a folio queue segment
163 * @folioq: The segment to modify
167 * segment.
175 * folioq_is_marked3: Check third folio mark in a folio queue segment
176 * @folioq: The segment to query
180 * folio queue segment.
188 * folioq_mark3: Set the third mark on a folio in a folio queue segment
189 * @folioq: The segment to modify
193 * segment.
201 * folioq_unmark3: Clear the third mark on a folio in a folio queue segment
202 * @folioq: The segment to modify
206 * segment.
221 * folioq_append: Add a folio to a folio queue segment
222 * @folioq: The segment to add to
225 * Add a folio to the tail of the sequence in a folio queue segment, increasing
230 * Note that it's left up to the caller to check that the segment capacity will
243 * folioq_append_mark: Add a folio to a folio queue segment
244 * @folioq: The segment to add to
247 * Add a folio to the tail of the sequence in a folio queue segment, increasing
252 * Note that it's left up to the caller to check that the segment capacity will
266 * folioq_folio: Get a folio from a folio queue segment
267 * @folioq: The segment to access
270 * Retrieve the folio in the specified slot from a folio queue segment. Note
281 * folioq_folio_order: Get the order of a folio from a folio queue segment
282 * @folioq: The segment to access
286 * segment. Note that no bounds check is made and if the slot hasn't been
295 * folioq_folio_size: Get the size of a folio from a folio queue segment
296 * @folioq: The segment to access
300 * segment. Note that no bounds check is made and if the slot hasn't been
309 * folioq_clear: Clear a folio from a folio queue segment
310 * @folioq: The segment to clear
313 * Clear a folio from a sequence in a folio queue segment and clear its marks.