[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 15/18] IOMMU/x86: prefill newly allocate page tables


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Tue, 14 Dec 2021 16:17:52 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ybmFtDqrVx/mRF0CGZIbVJlc1SQ5iCYRNRu95LmTnmE=; b=e8uhzoJ2zUhh8Lgv8TAbDHdDtdyXgB8sMwgMsTD5EJ/ooxHaHh+f7rUc2K7fvZSzwHgdGtrjhVs4ZWwjf9JoTBM0oA2/5zjfyBhoaIvnHrcLcUgh+W7bVATvOdz9KeN9ZUTxSC5mK12gudrSWK5a5ASR1bDu7vQN4VgvRRue7rgKCXkyBUXiFRKv3wl3CMmRMjnTGNGyDOdQiyjAefUb43tglLT0C4vihjH//NYt6yidNNF3+bfDK6XktzPbub2Mp1rhFhmKkCHfmr0yQR4b/MttSzlwzE/jXxfvjqhwqRXyep46RetsdDxV2Vco0HRV60U3zzeCZ3KRJxv4FQtnUg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DSClVzpt+BJUaqBE47pkj7pXZ2IZxx++eUqCcTY4NBvKCqgcMhsm+G6qT7JY72EIkSUNf4+35dqzbI8QuGna8zZKW5/A4fP5be+JZbVxNZGvZkWLGj7lPDugcjmrrFBCacKy96wiBeKeMnrQik/fSF3+3rzvW9R5Ef8Y3dVEtC+j1zm+QvYPHMqCxHYG6UA4e105j8p+eoE+XkF+myhYcyNijtruTQDhKbUHfEdtYaYmy0xbhseMng4g8la4POrLI31+tiktzur+5hVgTsL0qiKCEaTRf80GMX0bqz2LqprTOGVfU31ibMWORE8ENMAzdw0Tf+tWaPN5JQaKCukrgw==
  • Authentication-results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>
  • Delivery-date: Tue, 14 Dec 2021 15:18:03 +0000
  • Ironport-data: A9a23:3JXI1q/kXh/jqM0BMcvCDrUDd3mTJUtcMsCJ2f8bNWPcYEJGY0x3y GoZUG/TaKqMMTb1eI1/b4+/oUsC6Jfczt42HAs9r3o8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy +1EN7Es+ehtFie0Si9AttENlFEkvU2ybuOU5NXsZ2YhFWeIdA970Ug6wrRg3tYy6TSEK1jlV e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhN2 c4WuLiAeDsyI4vAnrsdWCBjSApXaPguFL/veRBTsOSWxkzCNXDt3+9vHAc9OohwFuRfWD8Us 6ZCcXZUM07F17neLLGTE4GAguw5K8bmJsUHs2xIxjDFF/c2B5vERs0m4PcFjWZg2Z0URJ4yY eILeR5pd07pYCd3K3FIT84luML5glvWJmgwRFW9+vNsvjm7IBZK+KDkLd79atGMA8JPkS6wp W/Y/mK/HhATMvSezyaI9jSngeqntSHxVZ8WFba43uV3m1DVzWsWYDUGWF3+rfSnh0qWX9NEN 1dS6icotbI19kGgUp/6RRLQnZKflkdCAZwKSbR8sVzTjPqPi+qEOoQaZgJQc4crkP8HeSc38 FOPwNPiPAc0m5TAHBpx6YyohT+1PCEUK0oLaikFURYJ7rHfnW0jsv7cZo09SfDo17UZDRm1m mnX93Zm293/mOZSj/3jlW0rlQ5AsXQgouQdwgzMFlyo4QpiDGJOT9z5sAOLhRqswWvwc7Vgg JTms5TOhAztJcvU/MBofAnrNOv2jxpiGGeD6WOD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e kLVsg45zMYNZyr2N/YvPtzuWpRCIU3c+TLNDK+8gj1mOMcZSeN61Hs2OR74M57FziDAbp3Ty b/EKJ3xXB72+IxszSasRvd17FPY7ntW+I8nfriil07P+ePHPBa9EO5ZWHPTP7hRxP7V+239r ocAX/ZmPj0CCYUSlAGMqtVNRb3LRFBmba3LRzt/KrTef1E4QT55UJc8A9oJIuRYokicrc+Rl lmVUU5E0lvvw3rBLASBcHd4b73zG514qBoG0eYEZD5EAlAvPtSi6rkxbZwyceV1/eBv16csH fIEZ9+BErJETTGeo2YRapz0rYpDchW3hF3RY3r5MWZnJ5MwFRbU/tLEfxf08HVcBCSAqsZj8 aar0RnWQMRfSl06XtrWcv+m03i4oWMZxLBpR0LNL9QKIBfs/YFmJjbflPgyJ81QexzPyiHDj 1SdAAsCpPmLqIgwqYGbiaeBpoavMu1/AksFQDWLsefobXHXpzPxz5VBXeCEeSHmeFn1oKjyN /9Iy/zcMeEcmAoYuYRLDLs2n7k14MHipuEGw108TmnLdVmiFphpPmKCgZtUrqRIy7JU5Vm2V 0aI9oUIMLmFIpq4QlsYJQ5jZeWfz/AE3DLV6K1tckn94SZ2+puBUFlTYEbQ2HAMcuMtPdN32 /olte4X9xe720gjPduxhyxJ83iBcy4bWKI9u5BGWILmh2LHEL2ZjUAw3sMu3KyyVg==
  • Ironport-hdrordr: A9a23:XiGx/6G0yHYSBh6SpLqFd5HXdLJyesId70hD6qkvc3Nom52j+/ xGws536faVslcssHFJo6HmBEClewKnyXcT2/htAV7CZnichILMFu9fBOTZsl/d8kHFh4tgPO JbAtRD4b7LfClHZKTBkXCF+r8bqbHtmsDY5ts2jU0dNT2CA5sQkTuRYTzrdHGeKjM2YabQQ/ Gnl7V6TnebCD4qhoPRPAhxY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzyVxA0XXT9jyaortT GtqX202oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq iAnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjWSVhHPyyPaJDQ4SOo5kv8Z0YxHZ400vsJVXy6 RQxV+UsJJREFfpgDn9z8KgbWAqqmOE5V4Z1cIDhX1WVoUTLJVLq5YEwU9TGJAcWArn9YEcFv V0Bs203ocZTbqjVQGbgoBT+q3vYpxqdS32B3Tq+/blnAS+pUoJj3fxn6ck7zM9HJFUcegz2w 2LCNUuqFh0dL5kUUtKPpZ3fSKGMB28ffvyChPhHb3GLtBOB5ufke+93F0KjNvaDKDgiqFC3q j8bA==
  • Ironport-sdr: DHwFUt6SWcOpMxXlWgS4Y3R1+5eWU9P1A7a9Apdxg7hx3V0GFQIjOj98k0fYRUd2fwrpyQPPmN +Tqk4S+AxJla55hWpmR4RZIRX3Jp9rhfxgRtKlRbezI2Oq5c7P3SlU5KiKaF7RSVCs1J2O65lx IKRPTotbb28Akd86V+LfDwZOcGw0grjloxODQDQpzREjlMZj2nWQk8gD3/tIRvAvrWJy9P2FAg O/fsJgom07MCuRGqaZabzKJ5He9kF0pKuYf4Z7CRy5l0bu1PJciXwXXVgoKP/BMJgvtiQUAKMG cZCAKyeZpvaoLfg1OqroWlvZ
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Tue, Dec 14, 2021 at 04:10:28PM +0100, Jan Beulich wrote:
> On 14.12.2021 16:06, Roger Pau Monné wrote:
> > Forgot to comment.
> > 
> > On Fri, Sep 24, 2021 at 11:54:58AM +0200, Jan Beulich wrote:
> >> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> >> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> >> @@ -238,7 +238,7 @@ int amd_iommu_alloc_root(struct domain *
> >>  
> >>      if ( unlikely(!hd->arch.amd.root_table) )
> >>      {
> >> -        hd->arch.amd.root_table = iommu_alloc_pgtable(d);
> >> +        hd->arch.amd.root_table = iommu_alloc_pgtable(d, 0);
> > 
> > So root tables don't get markers setup...
> > 
> > 
> >>          if ( !hd->arch.amd.root_table )
> >>              return -ENOMEM;
> >>      }
> >> --- a/xen/drivers/passthrough/vtd/iommu.c
> >> +++ b/xen/drivers/passthrough/vtd/iommu.c
> >> @@ -297,7 +297,7 @@ static uint64_t addr_to_dma_page_maddr(s
> >>              goto out;
> >>  
> >>          pte_maddr = level;
> >> -        if ( !(pg = iommu_alloc_pgtable(domain)) )
> >> +        if ( !(pg = iommu_alloc_pgtable(domain, 0)) )
> > 
> > ...likewise here.
> 
> Yes. Plus quarantine domain's page tables also don't. Neither root
> tables nor quarantine domain's are ever eligible for re-coalescing,
> so there's no point having markers there.

Quarantine won't be coalesced anyway as the same mfn is repeated over
all the entries, so it will never be a suitable candidate for
coalescing?

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.