mirror of
https://github.com/opnsense/src.git
synced 2026-02-16 09:08:51 -05:00
Replace MAXPHYS by runtime variable maxphys. It is initialized from MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys. Make b_pages[] array in struct buf flexible. Size b_pages[] for buffer cache buffers exactly to atop(maxbcachebuf) (currently it is sized to atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1. The +1 for pbufs allow several pbuf consumers, among them vmapbuf(), to use unaligned buffers still sized to maxphys, esp. when such buffers come from userspace (*). Overall, we save significant amount of otherwise wasted memory in b_pages[] for buffer cache buffers, while bumping MAXPHYS to desired high value. Eliminate all direct uses of the MAXPHYS constant in kernel and driver sources, except a place which initialize maxphys. Some random (and arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted straight. Some drivers, which use MAXPHYS to size embeded structures, get private MAXPHYS-like constant; their convertion is out of scope for this work. Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs, dev/siis, where either submitted by, or based on changes by mav. Suggested by: mav (*) Reviewed by: imp, mav, imp, mckusick, scottl (intermediate versions) Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27225 |
||
|---|---|---|
| .. | ||
| controller | ||
| gadget | ||
| input | ||
| misc | ||
| net | ||
| quirk | ||
| serial | ||
| storage | ||
| template | ||
| video | ||
| wlan | ||
| ufm_ioctl.h | ||
| uftdiio.h | ||
| uled_ioctl.h | ||
| usb.h | ||
| usb_bus.h | ||
| usb_busdma.c | ||
| usb_busdma.h | ||
| usb_cdc.h | ||
| usb_controller.h | ||
| usb_core.c | ||
| usb_core.h | ||
| usb_debug.c | ||
| usb_debug.h | ||
| usb_dev.c | ||
| usb_dev.h | ||
| usb_device.c | ||
| usb_device.h | ||
| usb_dynamic.c | ||
| usb_dynamic.h | ||
| usb_endian.h | ||
| usb_error.c | ||
| usb_fdt_support.c | ||
| usb_fdt_support.h | ||
| usb_freebsd.h | ||
| usb_freebsd_loader.h | ||
| usb_generic.c | ||
| usb_generic.h | ||
| usb_handle_request.c | ||
| usb_hid.c | ||
| usb_hub.c | ||
| usb_hub.h | ||
| usb_hub_acpi.c | ||
| usb_hub_private.h | ||
| usb_if.m | ||
| usb_ioctl.h | ||
| usb_lookup.c | ||
| usb_mbuf.c | ||
| usb_mbuf.h | ||
| usb_msctest.c | ||
| usb_msctest.h | ||
| usb_parse.c | ||
| usb_pci.h | ||
| usb_pf.c | ||
| usb_pf.h | ||
| usb_process.c | ||
| usb_process.h | ||
| usb_request.c | ||
| usb_request.h | ||
| usb_transfer.c | ||
| usb_transfer.h | ||
| usb_util.c | ||
| usb_util.h | ||
| usbdevs | ||
| usbdi.h | ||
| usbdi_util.h | ||
| usbhid.h | ||