Message ID | 20200723131344.41472-3-song.bao.hua@hisilicon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <SRS0=4Lqa=BC=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 17524618 for <patchwork-linux-arm@patchwork.kernel.org>; Thu, 23 Jul 2020 13:18:31 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E264F207BB for <patchwork-linux-arm@patchwork.kernel.org>; Thu, 23 Jul 2020 13:18:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="UsQ9OC77" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E264F207BB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=hisilicon.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=fIZ9RS6+SHEd4TH7nDwE3+/z8ubD8+OtTwnsTYfiT0M=; b=UsQ9OC77cHUzevPGAbXk0JQQI 5di+wzqhy6Od4hmTL/qMvFkN55Y3m3psUP1CalnYgQ288e9YSPnoBHPFZ3sJYcPs2sY4s68C9F1UC BGw3jB75SxoC+MCNDjqkjisfcsMqGzxjQBBRVlYIsUFNxsT1EdrwWxgrDra6ApbT9Ryq8cntSWWWB i/Cq/x/k+fogBZiSZlEMCGCyVh+5D5SO2ug9W4xKRIgbsUu2ITFLFmHG0nS3Q6vfRBfBfNuOlnxJH 5z+7XhhfSIGZzVrFF8Zw06VufFy29tpIqHgaF2HhFI+IWKXQj6+6iwMdPM9oY6XdKINgpHkCJi68y NKBYdLuXQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jyb5d-0005fU-2N; Thu, 23 Jul 2020 13:16:49 +0000 Received: from szxga06-in.huawei.com ([45.249.212.32] helo=huawei.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jyb5G-0005Tj-5K for linux-arm-kernel@lists.infradead.org; Thu, 23 Jul 2020 13:16:29 +0000 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id D61BFCA37B11A3201EEB; Thu, 23 Jul 2020 21:16:19 +0800 (CST) Received: from SWX921481.china.huawei.com (10.126.202.55) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.487.0; Thu, 23 Jul 2020 21:16:13 +0800 From: Barry Song <song.bao.hua@hisilicon.com> To: <hch@lst.de>, <m.szyprowski@samsung.com>, <robin.murphy@arm.com>, <will@kernel.org>, <ganapatrao.kulkarni@cavium.com>, <catalin.marinas@arm.com> Subject: [PATCH v4 2/2] arm64: mm: reserve per-numa CMA to localize coherent dma buffers Date: Fri, 24 Jul 2020 01:13:44 +1200 Message-ID: <20200723131344.41472-3-song.bao.hua@hisilicon.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20200723131344.41472-1-song.bao.hua@hisilicon.com> References: <20200723131344.41472-1-song.bao.hua@hisilicon.com> MIME-Version: 1.0 X-Originating-IP: [10.126.202.55] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200723_091626_614107_02277D76 X-CRM114-Status: UNSURE ( 9.99 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [45.249.212.32 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [45.249.212.32 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <linux-arm-kernel.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> List-Post: <mailto:linux-arm-kernel@lists.infradead.org> List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> Cc: Barry Song <song.bao.hua@hisilicon.com>, Steve Capper <steve.capper@arm.com>, linux-kernel@vger.kernel.org, linuxarm@huawei.com, huangdaode@huawei.com, iommu@lists.linux-foundation.org, Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, prime.zeng@hisilicon.com, Andrew Morton <akpm@linux-foundation.org>, Mike Rapoport <rppt@linux.ibm.com>, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org |
Series |
make dma_alloc_coherent NUMA-aware by per-NUMA CMA
|
expand
|
Looks ok to me, but before I pick the series up in the dma-mapping tree I really want an ACK from the arm64 maintainers.
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index b6881d61b818..a6e19145ebb3 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -437,6 +437,8 @@ void __init bootmem_init(void) arm64_hugetlb_cma_reserve(); #endif + dma_pernuma_cma_reserve(); + memblock_dump_all(); }
Right now, smmu is using dma_alloc_coherent() to get memory to save queues and tables. Typically, on ARM64 server, there is a default CMA located at node0, which could be far away from node2, node3 etc. with this patch, smmu will get memory from local numa node to save command queues and page tables. that means dma_unmap latency will be shrunk much. Meanwhile, when iommu.passthrough is on, device drivers which call dma_ alloc_coherent() will also get local memory and avoid the travel between numa nodes. Cc: Christoph Hellwig <hch@lst.de> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Will Deacon <will@kernel.org> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Cc: Steve Capper <steve.capper@arm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Barry Song <song.bao.hua@hisilicon.com> --- -v4: * rebase on top of linux-next to avoid arch/arm64 conflicts arch/arm64/mm/init.c | 2 ++ 1 file changed, 2 insertions(+)