Received: by 2002:a05:7412:3b8b:b0:fc:a2b0:25d7 with SMTP id nd11csp669241rdb; Thu, 8 Feb 2024 18:41:30 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXH9KUoovb6pt5QM8kfmEbOjbziIn4UpG7meUz8933WbAlMDERhAaz9WDbHLHcCfs7wxllfo9BpQ/ckV0s+WWMj+kNLecRimDvY5byyrQ== X-Google-Smtp-Source: AGHT+IHAnGv4/D/uXU5MSjHO1MBS1PqzYAF+Dccyv7LubMXDYPyUVWTKiAuisDnhMs9a2M21pJoW X-Received: by 2002:a05:6214:4a93:b0:68c:cd7f:6939 with SMTP id pi19-20020a0562144a9300b0068ccd7f6939mr1049046qvb.11.1707446490767; Thu, 08 Feb 2024 18:41:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707446490; cv=pass; d=google.com; s=arc-20160816; b=jAdFkkpEZbLsxfC5Oq3VMmHLJq0cY97gsOaroAO0hvwJLl5b2wOucHwWnEV6ZTgTdw 0WcaxzqupAdkJY6ty1l+lH8N5f902ZIA2mIrCStUsO32UDjIlPoQqQMUKemgW3PO3ZXD 6WIbEms5A5X921O4f7Cel4dfrU9GU6yNLlJ+Luk6SlTLi92OYvykk+K9zpgmZgA7Vvp1 yYZthgEh7ygjDIYlxNFx5f9MYUUH+6kLbz6/nVS+QpFaaMXPA5+s3qDp0DGLQX1Z8LUj c+GIN/7QtUGnmyQJpKbVlD18zMWcpsF76UWzJ7OWnCS1DmOAA4z1fs9slCa853SGsI8E OwVg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=qnKrxHY3P8n8u7XhA9KKnchhQn5ywWO+31p2/+JvrHo=; fh=tHcxb51+GMaDOJP2YniPW+C03EX3ZbGgr5BAK2kDbIQ=; b=hzOADyvAp65n2nDT8ImcJoTrQMhAgnLmd1ndDCfTu4DQoXDe0bitQ/8n7TVvwb0S1f YmavzJm49nCva8HMq8cYWieDZmWx+8fT12+kBlqDnik8OFTtCBGK10iAA0gjijTfaSKO wIp1M9sNAlzYmFwyevWaLnz1KPsxnFbdxeDopyzIN2oIxU6A6uVkF5L3gfFNYnpDi26F 3cTu7opooNE+83ZtJLZIZN/qyC2e/B91tfAUyvNGZQjHWaDLR5EbPuU0XTzXnutDk+ky X9gqqVRwbycQz2+vm/9VfPuH6aKfAM3IexKV4798HrxV2TLlEC4MLSCB3s8q6fH2FPq0 BIGw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eJsMYPF0; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-58941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Forwarded-Encrypted: i=2; AJvYcCV/8a0mojA9UKdstLIUjm5/HYaWnG7oMF+nH8asce8W2KG7LLjnqjlCVPw1FxpMfzxEzOJq4kv3rRMYGklThmFA4MX0ycXzROdb8SQHTg== Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id gi1-20020a056214248100b0068cb809b9d3si999076qvb.15.2024.02.08.18.41.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 18:41:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-58941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eJsMYPF0; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-58941-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-58941-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 744421C26550 for ; Fri, 9 Feb 2024 02:41:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C56191C32; Fri, 9 Feb 2024 02:41:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="eJsMYPF0" Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0E671879; Fri, 9 Feb 2024 02:41:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.55.52.88 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707446464; cv=none; b=XXkrJSoDza3MU0rzdZNl326K6wy+x4onZBQ+4nIQGbpkBRxqzJ8vwkbWrWdxNUqJ0gXw44KhgeXi4iNnEG9ItSNODGFhhSDc2J5GeHtu7MM74tbyBGduX3vhyp18dVnRMD1I4ti3CUDLvezpoirrDbAXMex5l/YWtx0EZmej6zo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707446464; c=relaxed/simple; bh=PJTFbv2YtGVGwc0ykmP+GYm3N/49nZRz55vdsHWeQuk=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=C3SqCH5BkwbdRIjkaji8Pvicx6cA+j1JBSKI8SXLdABZ62UnzmGiEu6Jl1wb+B2EuYtAZMxtPmwROZz0RVyvhpNp2Fkjf0BnqKaD4P1W0rjoaBilIr0rt99DOg8jpE2yip6h2EY+MCIqYxiIhr5PpTJ7CXEc8r+M8CwjQy+VIIE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=eJsMYPF0; arc=none smtp.client-ip=192.55.52.88 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1707446463; x=1738982463; h=message-id:date:mime-version:from:subject:to:cc: references:in-reply-to:content-transfer-encoding; bh=PJTFbv2YtGVGwc0ykmP+GYm3N/49nZRz55vdsHWeQuk=; b=eJsMYPF0o/zLJRl4EZJRhGzVCWUXVBYYh8SRmpmCL7XPue+cs0n17WDW Lq1BKen7dORQNp+d4d14B+kOBmfBE+aRgasXTe+k8xDMzB23Omt7Y2zHM dpnagPiEuRQPzBEhwT112Yi+MlKsiiUCcXfmUk2Td/bvjcm1O24SymWIw AHImQPJBpTGn3k2hmEDE7Hs/YCLGN3gxgurxkGiKvLs1ITAzZJk2dtnJc GsPFJgvO6BBel4rKwdycIJcE/4jXZunXOefn2pTxVVgJK3EmYVruKwcEt WTu7bBF0SFBccQFJ1q0T273mogwJCi14eJLBddZNRX48q+YWVWrO591Fo Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10978"; a="436494806" X-IronPort-AV: E=Sophos;i="6.05,255,1701158400"; d="scan'208";a="436494806" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2024 18:41:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,255,1701158400"; d="scan'208";a="6488708" Received: from lshui-mobl1.ccr.corp.intel.com (HELO [10.249.170.42]) ([10.249.170.42]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2024 18:40:58 -0800 Message-ID: <7d5f761b-2e26-4d09-a285-7840487d5d83@linux.intel.com> Date: Fri, 9 Feb 2024 10:40:57 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Baolu Lu Subject: Re: [PATCH rc 7/8] iommu/vt-d: Wrap the dirty tracking loop to be a helper To: Yi Liu , joro@8bytes.org, jgg@nvidia.com, kevin.tian@intel.com Cc: baolu.lu@linux.intel.com, alex.williamson@redhat.com, robin.murphy@arm.com, eric.auger@redhat.com, nicolinc@nvidia.com, kvm@vger.kernel.org, chao.p.peng@linux.intel.com, yi.y.sun@linux.intel.com, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, zhenzhong.duan@intel.com, joao.m.martins@oracle.com References: <20240208082307.15759-1-yi.l.liu@intel.com> <20240208082307.15759-8-yi.l.liu@intel.com> Content-Language: en-US In-Reply-To: <20240208082307.15759-8-yi.l.liu@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2024/2/8 16:23, Yi Liu wrote: > --- a/drivers/iommu/intel/iommu.c > +++ b/drivers/iommu/intel/iommu.c > @@ -4730,23 +4730,35 @@ static void *intel_iommu_hw_info(struct device *dev, u32 *length, u32 *type) > return vtd; > } > > +static int > +device_set_dirty_tracking(struct list_head *devices, bool enable) > +{ > + struct device_domain_info *info; > + int ret = 0; > + > + list_for_each_entry(info, devices, link) { > + ret = intel_pasid_setup_dirty_tracking(info->iommu, info->dev, > + IOMMU_NO_PASID, enable); > + if (ret) > + break; > + } > + > + return ret; > +} Let's make this helper specific. Something like below. /* * Set dirty tracking for the device list of a domain. The caller must * hold the domain->lock when calling it. */ static int device_list_set_dirty_tracking(...) Best regards, baolu