Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752275AbdIVPd2 (ORCPT ); Fri, 22 Sep 2017 11:33:28 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:35143 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752069AbdIVPd0 (ORCPT ); Fri, 22 Sep 2017 11:33:26 -0400 X-Google-Smtp-Source: AOwi7QCGDCnvGR5c5s3vOVTEMUoHhH0RETmX5h0ABwROhH5K/WRb4kbnv9An51IVqz+d0XTlTt9G8/bFQpC6WRro5bA= MIME-Version: 1.0 In-Reply-To: <37e3ce0e-717d-156d-fef3-27559aff980e@arm.com> References: <20170921085922.11659-1-ganapatrao.kulkarni@cavium.com> <20170921085922.11659-3-ganapatrao.kulkarni@cavium.com> <37e3ce0e-717d-156d-fef3-27559aff980e@arm.com> From: Ganapatrao Kulkarni Date: Fri, 22 Sep 2017 21:03:24 +0530 Message-ID: Subject: Re: [PATCH 2/4] numa, iommu/io-pgtable-arm: Use NUMA aware memory allocation for smmu translation tables To: Robin Murphy Cc: Ganapatrao Kulkarni , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, linux-mm@kvack.org, Will Deacon , Lorenzo Pieralisi , Hanjun Guo , Joerg Roedel , vbabka@suse.cz, akpm@linux-foundation.org, mhocko@suse.com, Tomasz.Nowicki@cavium.com, Robert.Richter@cavium.com, jnair@caviumnetworks.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1442 Lines: 42 On Thu, Sep 21, 2017 at 4:41 PM, Robin Murphy wrote: > On 21/09/17 09:59, Ganapatrao Kulkarni wrote: >> function __arm_lpae_alloc_pages is used to allcoated memory for smmu >> translation tables. updating function to allocate memory/pages >> from the proximity domain of SMMU device. > > AFAICS, data->pgd_size always works out to a power-of-two number of > pages, so I'm not sure why we've ever needed alloc_pages_exact() here. I > think we could simply use alloc_pages_node() and drop patch #1. thanks Robin, i think we can replace with alloc_pages_node. i will change as suggested in next version. > > Robin. > >> Signed-off-by: Ganapatrao Kulkarni >> --- >> drivers/iommu/io-pgtable-arm.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c >> index e8018a3..f6d01f6 100644 >> --- a/drivers/iommu/io-pgtable-arm.c >> +++ b/drivers/iommu/io-pgtable-arm.c >> @@ -215,8 +215,10 @@ static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp, >> { >> struct device *dev = cfg->iommu_dev; >> dma_addr_t dma; >> - void *pages = alloc_pages_exact(size, gfp | __GFP_ZERO); >> + void *pages; >> >> + pages = alloc_pages_exact_nid(dev_to_node(dev), size, >> + gfp | __GFP_ZERO); >> if (!pages) >> return NULL; >> >> > thanks Ganapat