Will, On 12.05.15 13:30:57, Will Deacon wrote: > On Mon, May 11, 2015 at 10:14:38AM +0100, Robert Richter wrote: > > On 05.05.15 11:53:29, Will Deacon wrote: > > > On Sun, May 03, 2015 at 09:49:32PM +0100, Robert Richter wrote: > > > > From: Radha Mohan Chintakuntla <rchintakun...@cavium.com> > > > > > > > > In case of ARCH_THUNDER, there is a need to allocate the GICv3 ITS table > > > > which is bigger than the allowed max order. So we are forcing it only in > > > > case of 4KB page size. > > > > > > Does this problem disappear if the ITS driver uses dma_alloc_coherent > > > instead? That would also allow us to remove the __flush_dcache_area abuse > > > from the driver. > > > > __get_free_pages() is also used internally in dma_alloc_coherent(). > > > > There is another case if the device brings dma mem with it. I am not > > sure if it would be possible to assign some phys memory via devicetree > > to the interrupt controller and then assign that range for its table > > allocation. > > > > Another option would be to allocate a hugepage. This would require > > setting up hugepages during boottime. I need to figure out whether > > that could work.
For allocation of 16MB cont. phys mem of a defconfig kernel (4KB default pagesize) I see this different approaches: * set FORCE_MAX_ZONEORDER to 13 as default, * set FORCE_MAX_ZONEORDER to 13 if ARM_GIC_V3 is set, * set FORCE_MAX_ZONEORDER to 13 if ARCH_THUNDER is set (this patch), * use hugepages if enabled (defconfig has the following options enable: CGROUP_HUGETLB, TRANSPARENT_HUGEPAGE, HUGETLBFS, this might work with current default kernel without changing defconfig options), * use devicetree to reserve mem for gicv3 (need to check ACPI). Do you see any direction? > > What about on the remaining 3 patches? > > Marc would be the best guy to review those, but he's on holiday for a couple > of weeks at the moment. Thanks for the note and your comments. -Robert -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/