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

Re: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()


  • To: Demi Marie Obenour <demi@xxxxxxxxxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Tue, 6 Dec 2022 10:42:16 +0000
  • Accept-language: en-GB, en-US
  • 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=7Ie5RyXg0MEsKkind6zQitmYXBZLnudyyal6kmb51/I=; b=mzMeSGqLxfmi5KDxojMnSPqHW5sbF+IMI2NeI1Ix3iglVKnUzNds5UFUaiChJ3bn1QYQu8fIKytFElRScEwXtHu+Y9brQXGI+TiVL3ndekqCdLWlKQ6vk4+4alH1TvG3m6MdqejjcO+QQSKUWm9FrtxAb/zAu+Run0mbNbmVUKnTcyHWXvcbq43K3Fv7gtirfk0+TJ0AJ3UdOd9zgq5SowWF2q9LBAL1WlPDfVR4aJ5d5SLOvJBGiiLFDxUQArVrjvO7zf2P9THdFI5jwhNj3nFcWDZixEYhu/eA6zd2edE01uRHqn73Bvi0zmCdN3hirENS1wqLqw50mn8b7iyZEg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=llxLmS4fjzOwP4Vc8ApXGKZtiyVcN4+zxeuve+Xo/GLl1+wupaTiZ8DKoBGWGIaElmKhJjNaSkkerxl2z2By8CFpYu79rg1qIrk6lYwRYKNc83DNwNWkyAhBIjjCdZNlfkAgffatjo23xLh83PxXR60pQIDN7l/QrRamyobPi6UKmzELT+c+MNovTn2C4riqNuoCxRbvNbwKYelJo4BWFrl6R8zgoJHaByixQG/8r2N8j8KmCCIPF49rZpMox8NYA+5YRVWrTWaiWQquCI4Qos1zX5dommtChcZLXJvVlbSCWK9W/BOAKkVf9PIA+UamGrRGTyQVO1r+3vMPL1tIcQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxx>, "Tim (Xen.org)" <tim@xxxxxxx>
  • Delivery-date: Tue, 06 Dec 2022 10:42:29 +0000
  • Ironport-data: A9a23:2qYwg6NsRtB0GkDvrR1SlsFynXyQoLVcMsEvi/4bfWQNrUog1jZWz WNKUWrQaayPZzP9fd1+O461oxsCvMPRndNlHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/ Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uZWJGES7 9EYFBBXY0qfwNyVxLi/SeY506zPLOGzVG8ekldJ6GiBSNMZG9XESaiM4sJE1jAtgMwIBezZe 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujCOpOBy+OGF3N79U9qGX8hK2G2fo XrL5T/RCRAGLt2PjzGC9xpAg8efw3OjBt9NSNVU8NY1jm2X3VJQNiErbl+3i8eEu3WbRY1Af hl8Fi0G6PJaGFaQZtXwWhyQoXiavwUdUd5dD+077g6WzqPepQ2eAwAsXjNHLdArqsIybTgrz UOS2cPkAyR1t7+YQm7b8a2bxRu3MDIQJHUPZgcFSxUE+NjppIwvjhPJQc1nGaTzhdrwcRnyy T2XqCk1h50IkNUGka68+DjvnDaEtpXPCAkv6W3/QmOgxhN0YsiifYPA1LTAxfNJLYLcS0bbu nEBwpCa9LpXVczLkzGRSuIQGr3v/+yCLDDXnV9oGd8m6iip/HmgO4tX5VmSOXtUDyrNQhexC Ge7hO+bzMY70KeCBUOvX7+MNg==
  • Ironport-hdrordr: A9a23:5dmShaFcHjHubBmZpLqEP8eALOsnbusQ8zAXPiFKOGNom6mj/P xG88576faKskd1ZJhNo7+90dC7MBHhHMdOkPEs1NSZLXXbUQmTTL2KtrGSugEIcheWntK16Z 0QEJSWY+edMbEVt6jHCNfSKbwdKOnrys2VbDblvhBQpZoBUdAH0+7TMHf+LqVLKTM2f6bQK/ enl7F6TwTMQwVrUviG
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZCSwEQSYJzNne4E+4skvqTeJ6SK5grHgA
  • Thread-topic: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()

On 06/12/2022 04:33, Demi Marie Obenour wrote:
> This still hard-codes the assumption that the two spare values are
> mapped to UC.  Removing this assumption would require a more complex
> patch.
>
> Signed-off-by: Demi Marie Obenour <demi@xxxxxxxxxxxxxxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
>  xen/arch/x86/mm.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index 
> 78b1972e4170cacccc9c37c6e64e76e66a7da87f..5d05399c3a841bf03991a3bed63df9a815c1e891
>  100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -961,13 +961,10 @@ get_page_from_l1e(
>  

As you noted that this desperately needs a comment, how about

/* Force cacheable memtypes to UC, */

here?  Can fix up on commit.

~Andrew

>          switch ( l1f & PAGE_CACHE_ATTRS )
>          {
> -        case 0: /* WB */
> -            flip |= _PAGE_PWT | _PAGE_PCD;
> -            break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
> -            break;
> +        case _PAGE_WB:
> +        case _PAGE_WT:
> +        case _PAGE_WP:
> +            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
>          }
>  
>          return flip;


 


Rackspace

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