On Fri, Dec 06, 2024 at 11:35:20AM +0800, Jinjiang Tu wrote: > When usespace calls mmap syscall, the call trace is as follows: > > do_mmap > __get_unmapped_area > mmap_region > mmap_file > ovl_mmap > > __get_unmapped_area() gets the address to mmap at, the file here is an overlayfs file. > Since ovl_file_operations doesn't defines get_unmapped_area callback, __get_unmapped_area() > fallbacks to mm_get_unmapped_area_vmflags(), and it doesn't return an address aligned to > large folio size. It doesn't need to. large folios can be mapped at any alignment. The get_unmapped_area overrides are just for efficiency (ie be able to use PMD mappings when we happen to get a PMD-sized folio).