Changeset 41968 in vbox
- Timestamp:
- Jun 29, 2012 3:36:30 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/memobj-r0drv-solaris.c
r41879 r41968 156 156 /* 157 157 * Lock this page into memory "long term" to prevent this page from being paged out 158 * when we drop the page lock temporarily (during free). 158 * when we drop the page lock temporarily (during free). Downgrade to a shared lock 159 * to prevent page relocation. 159 160 */ 160 161 page_pp_lock(pPage, 0 /* COW */, 1 /* Kernel */); … … 170 171 /** 171 172 * Destroys an allocated page. 172 * 173 * @param pPage Pointer to the page to be destroyed. 173 * 174 * @param pPage Pointer to the page to be destroyed. 174 175 * @remarks This function expects page in @c pPage to be shared locked. 175 176 */ … … 177 178 { 178 179 /* 179 * We need to exclusive lock the pages before freeing them, if upgrading the shared lock to exclusive fails, 180 * drop the page lock and look it up from the hash. Record the page offset before we drop the page lock as181 * we cannot touch any page_t members once the lock is dropped. 180 * We need to exclusive lock the pages before freeing them, if upgrading the shared lock to exclusive fails, 181 * drop the page lock and look it up from the hash. Record the page offset before we drop the page lock as 182 * we cannot touch any page_t members once the lock is dropped. 182 183 */ 183 184 AssertPtr(pPage); … … 244 245 /* 245 246 * Get a page from the free list locked exclusively. The page will be named (hashed in) 246 * and we rely on it during free. Downgrade the page to a shared lockto prevent the page247 * and we rely on it during free. The page we get will be shared locked to prevent the page 247 248 * from being relocated. 248 249 */
Note:
See TracChangeset
for help on using the changeset viewer.