Lines Matching full:segment
21 * Segment in a queue of running buffers. Each segment can hold a number of
31 struct folio_batch vec; /* Folios in the queue segment */
33 struct folio_queue *next; /* Next queue segment or NULL */
34 struct folio_queue *prev; /* Previous queue segment of NULL */
46 * folioq_init - Initialise a folio queue segment
47 * @folioq: The segment to initialise
50 * Initialise a folio queue segment and set an identifier to be used in traces.
67 * folioq_nr_slots: Query the capacity of a folio queue segment
68 * @folioq: The segment to query
70 * Query the number of folios that a particular folio queue segment might hold.
71 * [!] NOTE: This must not be assumed to be the same for every segment!
79 * folioq_count: Query the occupancy of a folio queue segment
80 * @folioq: The segment to query
82 * Query the number of folios that have been added to a folio queue segment.
83 * Note that this is not decreased as folios are removed from a segment.
91 * folioq_full: Query if a folio queue segment is full
92 * @folioq: The segment to query
94 * Query if a folio queue segment is fully occupied. Note that this does not
95 * change if folios are removed from a segment.
104 * folioq_is_marked: Check first folio mark in a folio queue segment
105 * @folioq: The segment to query
109 * folio queue segment.
117 * folioq_mark: Set the first mark on a folio in a folio queue segment
118 * @folioq: The segment to modify
122 * segment.
130 * folioq_unmark: Clear the first mark on a folio in a folio queue segment
131 * @folioq: The segment to modify
135 * segment.
143 * folioq_is_marked2: Check second folio mark in a folio queue segment
144 * @folioq: The segment to query
148 * folio queue segment.
156 * folioq_mark2: Set the second mark on a folio in a folio queue segment
157 * @folioq: The segment to modify
161 * segment.
169 * folioq_unmark2: Clear the second mark on a folio in a folio queue segment
170 * @folioq: The segment to modify
174 * segment.
182 * folioq_is_marked3: Check third folio mark in a folio queue segment
183 * @folioq: The segment to query
187 * folio queue segment.
195 * folioq_mark3: Set the third mark on a folio in a folio queue segment
196 * @folioq: The segment to modify
200 * segment.
208 * folioq_unmark3: Clear the third mark on a folio in a folio queue segment
209 * @folioq: The segment to modify
213 * 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.