| 311 | } |
| 312 | |
| 313 | static void |
| 314 | shm_largepage_phys_dtor(vm_object_t object) |
| 315 | { |
| 316 | int psind; |
| 317 | |
| 318 | psind = object->un_pager.phys.data_val; |
| 319 | if (psind != 0) { |
| 320 | atomic_subtract_long(&count_largepages[psind], |
| 321 | object->size / (pagesizes[psind] / PAGE_SIZE)); |
| 322 | vm_wire_sub(object->size); |
| 323 | } else { |
| 324 | KASSERT(object->size == 0, |
| 325 | ("largepage phys obj %p not initialized bit size %#jx > 0", |
| 326 | object, (uintmax_t)object->size)); |
| 327 | } |
| 328 | } |
| 329 | |
| 330 | static struct phys_pager_ops shm_largepage_phys_ops = { |
| 331 | .phys_pg_populate = shm_largepage_phys_populate, |
nothing calls this directly
no test coverage detected