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

Re: [PATCH v4 18/21] VT-d: replace all-contiguous page tables by superpage mappings


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Fri, 20 May 2022 12:38:51 +0200
  • 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=vX2awDhbP6uvAySCIHuiB3VbLGxnueUtPToMQYR9gpc=; b=ncqozEhafFSC6n3YxoCQr6OhxJMuC7nyYuf8s4zTaxsFCApdq4jh3ViokD9S+tV2XAufhi71WHbZ2CwN95PqRt7zA7ruZXFvKr5CSpjXbuDdM0DLpWnaeWviUsKE0eF0VnIu2g/IN4hecSylvKexCj+Ze9BkaoL8ho+02IpMQGocu2FIvtrzrcuoL/GjxpisduwqyBAXvDmb9ZZvZFDVMt6Waa9QP5c74p9GQkosv4J8lu2HNmMj92sQvJwG7PWBjMRJRudkIzUkbpRcFOjW8bFHWW4fU7n5SGkIWheGpmBqo3F5qhBSYL2616jAHOdUUAHpNjr5bdkBeNs+2Vm5Xw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lJDqH7JHk/zT4P8o0rW/tMz9LgtjPgHjDvFljcFoZWOutEpR9i4ZbcscSjzJCEAJsVMU7pSzw8RW3sUFaN0Y+0Dn4EOslZQ+jG2fozQw18VivhXUGhHAR7yBXU5nbSpmaxvpFnqcFgcNov6pygX22x5WT7UF3FkpVGkj3W7c73a4NAZMY/a08gblxRjSc1/izIrFF9/cm0eOwVXALGx4pNrVUOPz2G/pELM6S0ef0S9YZAn4i+E5Tx8gNUAAxXtoV2a1uIECInB8LguZSj6GQzaAAGgbCBV53JJRXbUHf0OBgMUZJ7s5cDkOSqHkBwc0kvPhhLnoE6J2qKWwcNZqVA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>
  • Delivery-date: Fri, 20 May 2022 10:39:05 +0000
  • Ironport-data: A9a23:af6xd6BM2nxc1BVW/yXiw5YqxClBgxIJ4kV8jS/XYbTApGwg1jIFx 2FLWG/UM/2CZmL1e95za4ngp0xX6sLdzNA2QQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMZiaA4E/raNANlFEkvU2ybuOU5NXsZ2YgHGeIdA970Ug5w7Ng09Yy6TSEK1jlV e3a8pW31GCNg1aYAkpMg05UgEoy1BhakGpwUm0WPZinjneH/5UmJMt3yZWKB2n5WuFp8tuSH I4v+l0bElTxpH/BAvv9+lryn9ZjrrT6ZWBigVIOM0Sub4QrSoXfHc/XOdJFAXq7hQllkPhy2 OdUs6OACj0oYPT9hMgtbkQGDRxxaPguFL/veRBTsOS15mifKz7G5aorC0s7e4oF5uxwHGdCs +QCLywAZQyCgOTwx6+nTu5rhYIoK8yD0IE34yk8i22GS6l+B8mbHM0m5vcBtNs0rtpJEvvEI dIQdBJkbQjaYg0JMVASYH47tLjx2SajImAEwL6TjbcT/XaP/DIq6bPsLsrlIMOOVetwslnN8 woq+Ey8WHn2Lue3yzCI73atje/nhj7gVcQZE7jQ3u5nhhify3IeDDUSVECnur+ph0imQdVdJ kcIvC00osAa7EW2SvHtUhv+p2SL1jYfVsRRFasm6QiL4qvS/wudQGMDS1Z8hMcOscY3QXkg0 ACPltawXTh36uTNFjSa66ueqi60NW4NN2geaCQYTAwDpd7+vIU0iRGJRdFmeEKosuDI9fjL6 2jihEADa3871KbnC43TEYj7vg+R
  • Ironport-hdrordr: A9a23:oM/TmauZg1DKABxUB8aiU2ie7skC/4Mji2hC6mlwRA09TyXGra 2TdaUgvyMc1gx7ZJhBo7+90We7MBbhHLpOkPEs1NCZLXLbUQqTXfhfBO7ZrwEIdBefygcw79 YCT0E6MqyLMbEYt7eE3ODbKadG/DDvysnB64bjJjVWPGdXgslbnntE422gYylLrWd9dPgE/M 323Ls7m9PsQwVeUiz9bUN1LNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S yd+jaJrJmLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjowwJi/3ggilSYx9U/mpvSwzosuo9FE2+e O86CsIDoBW0Tf8b2u1qRzi103J1ysv0WbrzRuijX7qsaXCNUUHIvsEobgcXgrS6kImst05+r lMxXilu51eCg6FtDjh5vDTPisa2HackD4Hq6o+nnZfWYwRZPt6tooE5n5YF58GAWbT9J0nKu 9zF8vRjcwmPm9yV0qp/lWH/ebcHUjaRny9Mwo/U42uonRrdUlCvgolLJd1pAZEyHo/I6M0k9 gsfJ4Y0I2mdfVmHJ6VNN1xP/dfNVa9MS4kEFjiV2gPR5t3ck4klfbMkccIzdDvXqA0570Pv7 mEeG9klAcJCjfT4Iu1rdB2ziw=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, May 18, 2022 at 12:44:06PM +0200, Jan Beulich wrote:
> On 11.05.2022 13:08, Roger Pau Monné wrote:
> > On Mon, Apr 25, 2022 at 10:43:45AM +0200, Jan Beulich wrote:
> >> When a page table ends up with all contiguous entries (including all
> >> identical attributes), it can be replaced by a superpage entry at the
> >> next higher level. The page table itself can then be scheduled for
> >> freeing.
> >>
> >> The adjustment to LEVEL_MASK is merely to avoid leaving a latent trap
> >> for whenever we (and obviously hardware) start supporting 512G mappings.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> >> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
> > 
> > Like on the AMD side, I wonder whether you can get away with only
> 
> FTAOD I take it you mean "like on the all-empty side", as on AMD we
> don't need to do any cache flushing?

Heh, yes, sorry.

> > doing a cache flush for the last (highest level) PTE, as the lower
> > ones won't be reachable anyway, as the page-table is freed.
> 
> But that freeing will happen only later, with a TLB flush in between.
> Until then we would better make sure the IOMMU sees what was written,
> even if it reading a stale value _should_ be benign.

Hm, but when doing the TLB flush the paging structures will already be
fully updated, and the top level visible entry will have it's cache
flushed, so the lower ones would never be reachable AFAICT.

Thanks, Roger.



 


Rackspace

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