mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-29 12:03:03 +00:00
0385347c1a
to various pmap_*() functions instead of looking up the physical address and passing that. In many cases, the first thing the pmap code was doing was going to a lot of trouble to get back the original vm_page_t, or it's shadow pv_table entry. Inspired by: John Dyson's 1998 patches. Also: Eliminate pv_table as a seperate thing and build it into a machine dependent part of vm_page_t. This eliminates having a seperate set of structions that shadow each other in a 1:1 fashion that we often went to a lot of trouble to translate from one to the other. (see above) This happens to save 4 bytes of physical memory for each page in the system. (8 bytes on the Alpha). Eliminate the use of the phys_avail[] array to determine if a page is managed (ie: it has pv_entries etc). Store this information in a flag. Things like device_pager set it because they create vm_page_t's on the fly that do not have pv_entries. This makes it easier to "unmanage" a page of physical memory (this will be taken advantage of in subsequent commits). Add a function to add a new page to the freelist. This could be used for reclaiming the previously wasted pages left over from preloaded loader(8) files. Reviewed by: dillon |
||
---|---|---|
.. | ||
scsi | ||
cam_ccb.h | ||
cam_debug.h | ||
cam_extend.c | ||
cam_extend.h | ||
cam_periph.c | ||
cam_periph.h | ||
cam_queue.c | ||
cam_queue.h | ||
cam_sim.c | ||
cam_sim.h | ||
cam_xpt_periph.h | ||
cam_xpt_sim.h | ||
cam_xpt.c | ||
cam_xpt.h | ||
cam.c | ||
cam.h |