Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp223165pxf; Wed, 17 Mar 2021 03:52:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzg6pD7KCGfX+FtEhGQ3QtfbCa6VBTWWR5s5ozz8evlI8UjyDnFaK85wpi2dSe2650laQzu X-Received: by 2002:a17:906:78d:: with SMTP id l13mr33735900ejc.97.1615978325088; Wed, 17 Mar 2021 03:52:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615978325; cv=none; d=google.com; s=arc-20160816; b=oTZWyKBtt9Y6LELIICkMUYmtLUO2gYHRHKgRP4Kds7RFRfH1z6Vt3qfvIoTGwp1LDe pewNvhlLd1Mnq6s/V4D/8VDCsHym095TXn23Ha1BCXVNg9F2Hpv9M5ksxnRoV4u6ZfZ2 d/oq+IDIK1mGaZUoEZYIa0gw6iul2lvqVjdLlA6z8EkkKtHUVxljCKWMbRlC/mDpDxkM lW0OSZq5VDcjcIh0qgqJPey+JMMsfLUWSi3Rc8BCL3gNIFRxTp2hO9+M4Z7y3XA2O1Ru oHM8nz54uLzXAWKGwfg0QwXFSRyjNw2UdLNYE6f9reCJ08JtABXRW6XNDcqBDF0k0Fde qsIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :ironport-sdr:ironport-sdr; bh=kk3NRcH//3Ibg1kah25Q8Szime0WMCSp6BHQT21K550=; b=WTsb+ICIj2/iCyIyA2isdVE0iRkzxFYb8lta7RyCucq+jeojrEw5/c/G0RLc2KXjZS 5gVfQzlUG0RKM/wVpdy9uv4DZHES3XPA6b8pAA8rLRJjpcB7VZOCK3pjaNZUqV98U6IL UbqplSRaXbw3yMNQIedQKM2L5xfnQ5hEIAL4GsijsUsEdV3GPAuNcGBy0pd/PVKpaQ1a rNLZiDOXn5yZEY/jCBkTQbVyHbnQ5sVaoT1BmemE2hZo8WN44lq+ESIocSylMKxbQxdE zBJyD/7o+T3xuJbLiLvYZBn3qceSQPhElO++jT2+/YO12Fa+j0vyTVqG8V4QtEZ4Npgp EVgg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c15si6496107ejr.633.2021.03.17.03.51.42; Wed, 17 Mar 2021 03:52:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230521AbhCQKu2 (ORCPT + 99 others); Wed, 17 Mar 2021 06:50:28 -0400 Received: from mga18.intel.com ([134.134.136.126]:37624 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230369AbhCQKuS (ORCPT ); Wed, 17 Mar 2021 06:50:18 -0400 IronPort-SDR: aFoGlUtMTvtMlFlArnDdHWUW7Tt8fKRS6YNpqQ/WnXl6lMZNI5kiebMD9T8cvk9R63sK/CoCLx lk4ARnUnrt/A== X-IronPort-AV: E=McAfee;i="6000,8403,9925"; a="177033674" X-IronPort-AV: E=Sophos;i="5.81,256,1610438400"; d="scan'208";a="177033674" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2021 03:50:18 -0700 IronPort-SDR: lJxrk1Ea9liNowOIg/IECe5NzhRnlPf/GU0qkUHRTPgkZ86cvdIn+uvfscfjOVDHmBBAmxJfDq eQR5XqUOBWZw== X-IronPort-AV: E=Sophos;i="5.81,256,1610438400"; d="scan'208";a="412599152" Received: from yisun1-ubuntu.bj.intel.com (HELO yi.y.sun) ([10.238.156.116]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA256; 17 Mar 2021 03:50:13 -0700 Date: Wed, 17 Mar 2021 18:44:29 +0800 From: Yi Sun To: Keqian Zhu Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, Alex Williamson , Robin Murphy , Will Deacon , Kirti Wankhede , Cornelia Huck , Marc Zyngier , Catalin Marinas , Mark Rutland , James Morse , Suzuki K Poulose , wanghaibin.wang@huawei.com, jiangkunkun@huawei.com, yuzenghui@huawei.com, lushenming@huawei.com Subject: Re: [PATCH v2 06/11] iommu/arm-smmu-v3: Scan leaf TTD to sync hardware dirty log Message-ID: <20210317104429.GT28580@yi.y.sun> References: <20210310090614.26668-1-zhukeqian1@huawei.com> <20210310090614.26668-7-zhukeqian1@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20210310090614.26668-7-zhukeqian1@huawei.com> User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 21-03-10 17:06:09, Keqian Zhu wrote: > From: jiangkunkun > > During dirty log tracking, user will try to retrieve dirty log from > iommu if it supports hardware dirty log. > > This adds a new interface named sync_dirty_log in iommu layer and > arm smmuv3 implements it, which scans leaf TTD and treats it's dirty > if it's writable (As we just enable HTTU for stage1, so check whether > AP[2] is not set). > > Co-developed-by: Keqian Zhu > Signed-off-by: Kunkun Jiang > --- > > changelog: > > v2: > - Add new sanity check in arm_smmu_sync_dirty_log(). (smmu_domain->stage != ARM_SMMU_DOMAIN_S1) > - Document the purpose of flush_iotlb in arm_smmu_sync_dirty_log(). (Robin) > > --- > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 30 +++++++ > drivers/iommu/io-pgtable-arm.c | 90 +++++++++++++++++++++ > drivers/iommu/iommu.c | 38 +++++++++ > include/linux/io-pgtable.h | 4 + > include/linux/iommu.h | 18 +++++ > 5 files changed, 180 insertions(+) > Please split iommu common interface out. Thanks! [...] > diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c > index 2a10294b62a3..44dfb78f9050 100644 > --- a/drivers/iommu/iommu.c > +++ b/drivers/iommu/iommu.c > @@ -2850,6 +2850,44 @@ int iommu_stop_dirty_log(struct iommu_domain *domain, unsigned long iova, > } > EXPORT_SYMBOL_GPL(iommu_stop_dirty_log); > > +int iommu_sync_dirty_log(struct iommu_domain *domain, unsigned long iova, > + size_t size, unsigned long *bitmap, > + unsigned long base_iova, unsigned long bitmap_pgshift) One open question: shall we add PASID as one parameter to make iommu know which address space to visit? For live migration, the pasid should not be necessary. But considering future extension, it may be required. BRs, Yi Sun