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

Re: [PATCH] x86/EPT: squash meaningless TLB flush


  • To: Andrew Cooper <amc96@xxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Tue, 30 Nov 2021 17:57:37 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.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=pQ5UX9T3eHeUdOvm6MT+nCstxPpI2elfjhWVptsFKFw=; b=VtqM5P3qOOHcGDhUW4NgXvslRvrTK2kcDF+p4QTbcLeEOSt63mtP0FJc8teutisd6mn+xOQ25HdKj61n+1IfpMzpkXObXDZIvUR8svwd+zSlbf5H6BaF9HJAWY66Q3mDj+0KNkxhz2t7ZGDXzjUX1xoPQHKhz5u7RScc6bSTBJHWhqH+uR4JWHuoLZfHQ9L8tyC2y6lf3yFBb+q1iTXGVBxyPwqbjlkbFGdKtgyGuaRzeGA1SdVQLdeP+DwNvO/f81MtKyNEntVn1gJdCWfbBStN3h2bdD+RWcIY4ZFMb6pmdnoFKR0V6JCExrgsPAhpF/cXw1Fo+Oe9wLrm03xFqw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RDsIn/GaqsYkHgRFvL1FfiJUOSBj87Gbo10ec9GHD+4y7aLQog6R5DYJqifK+jAvZ/0gytnnYYybI3oYJtUpgqocKQIz6YNmGDq+M68AvNxNsszBSVqUb7EpGMtO+ye4OkOOGCr2KxJ+Au8w0yEfrYi23iFUl+42UJ044oABjy9LMqk1ztZMsax8SS+t2yI7D1W6v8/w2jeB1JTPeUr3SkPFNY+JYBM9AiTHEjtDxfGwco/p9dgiE/8h8GmZBhYeSFtAYAiNh+yS3mTeHl5K9d6f5KUUUCsuwqKddPqvwQ3NgbLyq+ohxjzVAc1T93MPUdivs6T/G4pSbkNIGfsIGg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Jun Nakajima <jun.nakajima@xxxxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 30 Nov 2021 16:57:52 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 30.11.2021 17:44, Andrew Cooper wrote:
> On 30/11/2021 16:10, Jan Beulich wrote:
>> ept_free_entry() gets called after a flush - if one is necessary in the
>> first place - was already issued. That behavior is similar to NPT, which
>> also doesn't have any further flush in p2m_free_entry(). (Furthermore,
>> the function being recursive, in case of recursiveness way too many
>> flushes would have been issued.)
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> ept_free_entry() is called either recursively, or after an
> ept_split_super_page(), and I agree that it does not want to queue
> multiple flushes.
> 
> However, I don't see where a suitable flush is in the superpage path. 
> Am I overlooking something?

When it gets called after ept_split_super_page(), that's in case the
function failed (and hence no update to live page tables was made).

Jan




 


Rackspace

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