Lines Matching defs:hment

45  * fields.  Every hment is also indexed by a system-wide hash table, using
48 struct hment {
50 struct hment *hm_next; /* next mapping of same page */
51 struct hment *hm_prev; /* previous mapping of same page */
70 * The hment reserve is similar to the htable reserve, with the following
100 * lists and "hash_lock" is a similar lock protecting the hment hash
148 * put one hment onto the reserves list
162 * Take one hment from the reserve.
170 * We rely on a "donation system" to refill the hment reserve
188 * Allocate an hment
197 * If we aren't using the reserves, try using kmem to get an hment.
222 * If we still haven't gotten an hment, attempt to steal one by
235 * still no hment is a serious problem.
252 * Free an hment, possibly to the reserves list when called from the
253 * thread using the reserves. For example, when freeing an hment during an
255 * push the hment onto the reserve list.
307 * Internal routine to add a full hment to a page_t mapping list
318 * Add the hment to the page's mapping list.
327 * Add the hment to the system-wide hash table.
341 * - Adding the first mapping to a page_t as an embedded hment
364 * hment.
373 * we had an hment already, so free it and retry
380 * convert it to an hment.
389 * there is no need to promote/allocate a new hment.
399 * If we have an hment allocated, use it to promote the
413 * We either didn't have an hment allocated or we just
415 * allocate another hment and restart.
421 * Last possibility is that we're adding an hment to a list
434 * we allocated an hment already, free it and retry
458 * hment.
476 * add the new hment to the mapping list
553 * Find the hment in the system-wide hash table and remove it.
570 * Remove the hment from the page's mapping list
588 * Put initial hment's in the reserve pool.
606 * Readjust the hment reserves after they may have been used.
626 * initialize hment data structures
713 * We need to steal an hment. Walk through all the page_t's until we
715 * and reclaim that hment. Note that we'll save/restart the starting