From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14B57C433E0 for ; Wed, 22 Jul 2020 21:27:59 +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 D324922B43 for ; Wed, 22 Jul 2020 21:27:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="by1XezvQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D324922B43 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+linux-arm-kernel=archiver.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:In-Reply-To:References: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=k807XrYNbWUL5GalcxItwG+MOPaf3ySqp5k91befRTE=; b=by1XezvQldQVXEyXS04TOAAb3 kOzzIlddIDz3ryufDtnUH2jI/4d2iiVndpKg7NK3zHkvASvZpWwURRw6ONO6QdVHHd0Gq0aNaEwR2 I2dYUuJ6KBt/ugcoltP3L0GZQeHOKiLc1WZjZ7mnvsft9SmdM1Ih136gLxYUwmun1d9a7MB2YusM7 l5/fLDblhEIUyL7CneKNDzfCjlhqwgtw4rxDnjpnHRA05xRtW6OnGBcH+6SsxIc5A0FW2eHieu41A /Y+uUKntKZ+dGgKIu73mg0wA4VVyP5YC3D64mb/fOjraNM5Vr7V9gGhcGY/1l49xMcPashUMUVJo9 e8qyL/DAg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jyMFv-0002cF-1s; Wed, 22 Jul 2020 21:26:27 +0000 Received: from szxga08-in.huawei.com ([45.249.212.255] helo=huawei.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jyMFs-0002b0-4o for linux-arm-kernel@lists.infradead.org; Wed, 22 Jul 2020 21:26:25 +0000 Received: from dggemi404-hub.china.huawei.com (unknown [172.30.72.57]) by Forcepoint Email with ESMTP id 351ECD2A31C70E876290; Thu, 23 Jul 2020 05:26:12 +0800 (CST) Received: from DGGEMI525-MBS.china.huawei.com ([169.254.6.52]) by dggemi404-hub.china.huawei.com ([10.3.17.142]) with mapi id 14.03.0487.000; Thu, 23 Jul 2020 05:26:04 +0800 From: "Song Bao Hua (Barry Song)" To: Christoph Hellwig Subject: RE: [PATCH v3 1/2] dma-direct: provide the ability to reserve per-numa CMA Thread-Topic: [PATCH v3 1/2] dma-direct: provide the ability to reserve per-numa CMA Thread-Index: AQHWTT1ZxTwLmOgUCE+K/2/rfDv6P6kTRO0AgAD4soA= Date: Wed, 22 Jul 2020 21:26:03 +0000 Message-ID: References: <20200628111251.19108-1-song.bao.hua@hisilicon.com> <20200628111251.19108-2-song.bao.hua@hisilicon.com> <20200722141658.GA17658@lst.de> In-Reply-To: <20200722141658.GA17658@lst.de> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.126.202.4] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200722_172624_420428_5A296769 X-CRM114-Status: GOOD ( 16.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "catalin.marinas@arm.com" , Steve Capper , "robin.murphy@arm.com" , Jonathan Cameron , Linuxarm , "linux-kernel@vger.kernel.org" , "iommu@lists.linux-foundation.org" , Nicolas Saenz Julienne , "Zengtao \(B\)" , "ganapatrao.kulkarni@cavium.com" , huangdaode , Andrew Morton , Mike Rapoport , "will@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "m.szyprowski@samsung.com" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > -----Original Message----- > From: Christoph Hellwig [mailto:hch@lst.de] > Sent: Thursday, July 23, 2020 2:17 AM > To: Song Bao Hua (Barry Song) > Cc: hch@lst.de; m.szyprowski@samsung.com; robin.murphy@arm.com; > will@kernel.org; ganapatrao.kulkarni@cavium.com; > catalin.marinas@arm.com; iommu@lists.linux-foundation.org; Linuxarm > ; linux-arm-kernel@lists.infradead.org; > linux-kernel@vger.kernel.org; Jonathan Cameron > ; Nicolas Saenz Julienne > ; Steve Capper ; Andrew > Morton ; Mike Rapoport > Subject: Re: [PATCH v3 1/2] dma-direct: provide the ability to reserve > per-numa CMA > +cc Prime and Daode who are interested in this patchset. > On Sun, Jun 28, 2020 at 11:12:50PM +1200, Barry Song wrote: > > This is useful for at least two scenarios: > > 1. ARM64 smmu will get memory from local numa node, it can save its > > command queues and page tables locally. Tests show it can decrease > > dma_unmap latency at lot. For example, without this patch, smmu on > > node2 will get memory from node0 by calling dma_alloc_coherent(), > > typically, it has to wait for more than 560ns for the completion of > > CMD_SYNC in an empty command queue; with this patch, it needs 240ns > > only. > > 2. when we set iommu passthrough, drivers will get memory from CMA, > > local memory means much less latency. > > I really don't like the config options. With the boot parameters > you can always hardcode that in CONFIG_CMDLINE anyway. I understand your concern. Anyway, The primary purpose of this patchset is providing a general way for users like IOMMU to get local coherent dma buffers to put their command queue and page tables in. The first user case is what really made me begin to prepare this patchset. For the second case, it is probably a positive side effect of this patchset for those users who have more concern on performance than dma security, then they maybe skip IOMMU by iommu.passthrough= [ARM64, X86] Configure DMA to bypass the IOMMU by default. Format: { "0" | "1" } 0 - Use IOMMU translation for DMA. 1 - Bypass the IOMMU for DMA. unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH. In this case, they can get local memory and get better performance. However, it is not the primary purpose of this patchset. Thanks Barry _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel