Hi Magnus, On Wed, Feb 1, 2017 at 2:45 PM, Magnus Damm <magnus.damm@xxxxxxxxx> wrote: > On Sat, Jan 28, 2017 at 1:03 AM, Geert Uytterhoeven > <geert+renesas@xxxxxxxxx> wrote: >> Some IOMMUs (e.g. Renesas IPMMU/VMSA) support only page sizes of 4 KiB, >> 2 MiB, and 1 GiB. >> >> With the default setting of CONFIG_CMA_ALIGNMENT = 8, allocations larger >> than 1 MiB are aligned to a 1 MiB boundary only. Hence a 2 MiB >> allocation may not be aligned, leading to a mapping of 512 4 KiB pages. >> >> Increase CONFIG_CMA_ALIGNMENT to allow mapping a 2 MiB buffer using a >> single PTE, decreasing memory usage and TLB pressure. >> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> >> --- >> Is this useful? >> >> Should there instead be different defaults in Kconfig, depending on >> enabled platform support? > > I think there is a dependency on the kernel page size configuration as > well. In case of 16 KiB or 64 KiB page size configuration other large > page sizes may be required. This is about IOMMU pages, not (CPU)MMU pages? Still, there is indeed some dependency, as CONFIG_CMA_ALIGNMENT is a shift relative to PAGE_SHIFT (i.e. CONFIG_ARM64_PAGE_SHIFT = 12 in arm64_defconfig). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds