Lines Matching full:descriptor

54  * A descriptor: the complete meta-data for a record.
56 * @state_var: A bitwise combination of descriptor ID and descriptor state.
98 * @id: ID of the reserved descriptor.
112 /* The possible responses of a descriptor state-query. */
140 * Descriptor Bootstrap
142 * The descriptor array is minimally initialized to allow immediate usage
143 * by readers and writers. The requirements that the descriptor array
147 * The tail must point to an existing (committed or reusable) descriptor.
156 * To satisfy Req1, the tail initially points to a descriptor that is
160 * To satisfy Req2, the initial tail descriptor is initialized to the
164 * To satisfy Req3, the last descriptor in the array is used as the initial
165 * head (and tail) descriptor. This allows the first record reserved by a
166 * writer (head + 1) to be the first descriptor in the array. (Only the first
167 * descriptor in the array could have a valid sequence number of 0.)
169 * The first time a descriptor is reserved, it is assigned a sequence number
170 * with the value of the array index. A "first time reserved" descriptor can
172 * index of 0. (Only the first descriptor in the array could have a valid
178 * Only the first descriptor in the array is allowed to have the sequence
183 * first descriptor in the array. In order to satisfy Req3, the sequence
184 * number of the first descriptor in the array is initialized to minus
190 * sequence number of the tail descriptor. However, due to Req2 and Req3,
193 * this, the sequence number of the initial tail descriptor is initialized
195 * sequence number 0 (yet) and the tail descriptor is not the first
196 * descriptor in the array. But it allows prb_read_valid() to correctly
199 * time, thus finally pointing to the first descriptor reserved by a
218 * index of the descriptor array (see Req3 above) and the ID value is such