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

[PATCH] x86: limit issuing of IBPB during context switch


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 25 Jul 2022 14:09:12 +0200
  • 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=1yXpgIEPCLYefS8RgPyuvc9ydQjRfy2PsDfZ9Qamkm0=; b=hEpVXk3P+TAndDrk1rIUcwEW1+ChCtznmLS9bTFzbU5yWo3JZln2lFPCjwmlkhZ/4kwgsZ9/+ExQaVGeIWGDfINSoF+AZZ8eVv6gSkfQezyDhqY+EDssuRY5L0Tl4ydBaIkMEjmAN8nJOpuzAqnn8Nt+Sf9riHmXeD/1C15u+zHfczA3YrHXvJZx0eGXmEUVrmQUxxz8sWQ+qfRa2Eb4antNAlo0sW82PPQz4czpWo9IPNwCBE3J9TdF6z8RVG/IPWdDd2QdB0VJU+LN+znupgNzQGv4NQZePxPZM2B+ciWAUmpt5X8J25Uv2v24AnOqZafKmVBGGO4gv1PzEU5EKQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ohx1BLH9T55WAC6EnItWbmBSSSvAKIY7vRT3PYfFShYfvGXingPhyAfVFfYwNesEyQ+iplQs5C1ysAzIQkVA9VNM4EA2NprJE3ZylnxC3VBdyhBlC4LKbeQ2KA6K496V4a6flMF6Yus2J0GTqh2HeQhW44PYxddsrhlLXVj19kfU6/qtWB7biSgp3LNjQv3CfeNcW4O1RTjukWRdoNXDyxlwID73Snp/Hymgi6pxCjvHo1EMuPq33lKNEhhm8oldLSQ/KskykXfnIjle7kgJdF73kv7dtLp+OUUAMjSbCpmC7K8uohpOTQ/kWSl0FsksaZoknu6YCc8ESBVFF9kzIw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Mon, 25 Jul 2022 12:09:19 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

When the outgoing vCPU had IBPB issued upon entering Xen there's no
need for a 2nd barrier during context switch.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -2098,7 +2098,8 @@ void context_switch(struct vcpu *prev, s
 
         ctxt_switch_levelling(next);
 
-        if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) )
+        if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) &&
+             !(prevd->arch.spec_ctrl_flags & SCF_entry_ibpb) )
         {
             static DEFINE_PER_CPU(unsigned int, last);
             unsigned int *last_id = &this_cpu(last);



 


Rackspace

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