Lines Matching full:descriptor

57  * A descriptor: the complete meta-data for a record.
59 * @state_var: A bitwise combination of descriptor ID and descriptor state.
101 * @id: ID of the reserved descriptor.
115 /* The possible responses of a descriptor state-query. */
157 * Descriptor Bootstrap
159 * The descriptor array is minimally initialized to allow immediate usage
160 * by readers and writers. The requirements that the descriptor array
164 * The tail must point to an existing (committed or reusable) descriptor.
173 * To satisfy Req1, the tail initially points to a descriptor that is
177 * To satisfy Req2, the initial tail descriptor is initialized to the
181 * To satisfy Req3, the last descriptor in the array is used as the initial
182 * head (and tail) descriptor. This allows the first record reserved by a
183 * writer (head + 1) to be the first descriptor in the array. (Only the first
184 * descriptor in the array could have a valid sequence number of 0.)
186 * The first time a descriptor is reserved, it is assigned a sequence number
187 * with the value of the array index. A "first time reserved" descriptor can
189 * index of 0. (Only the first descriptor in the array could have a valid
195 * Only the first descriptor in the array is allowed to have the sequence
200 * first descriptor in the array. In order to satisfy Req3, the sequence
201 * number of the first descriptor in the array is initialized to minus
207 * sequence number of the tail descriptor. However, due to Req2 and Req3,
210 * this, the sequence number of the initial tail descriptor is initialized
212 * sequence number 0 (yet) and the tail descriptor is not the first
213 * descriptor in the array. But it allows prb_read_valid() to correctly
216 * time, thus finally pointing to the first descriptor reserved by a
235 * index of the descriptor array (see Req3 above) and the ID value is such