Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1187640ybt; Tue, 7 Jul 2020 09:37:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwxAdRX3JFtzzLS01lUYXc+DUGZVCBGwhGL5XKuQbvcBgXGSzHAFUkOYysVrd+YV/zdV++v X-Received: by 2002:a05:6402:741:: with SMTP id p1mr61286060edy.222.1594139827810; Tue, 07 Jul 2020 09:37:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594139827; cv=none; d=google.com; s=arc-20160816; b=r7ZCYdQ39nXTVAhewYKlQbOPZSuJWqMbE9WuS6cBDTDT3Qnj4ekmEhRHw18OBeGKUe z6zVx+d8ESa47sp8cAQP4+h7CqIxpeoX+py3yR94ZZQuUloq5wCMwLPQCyFdecRPif0z j7ibOXhLHiu7vDhK/pJKk6GIkcsFoT1raWsdaxhVQBkUHy/DFqRzPyv9p8jjp4/HjdKV zppfRRfw3hcr7BTY9PYE58Hu3wGxYFz+1hPZTAE9LnZDX9CgmJNs868x6uLzXUvEw5G7 luZXfWri2zBh1TWDE750DCxzkOkKAkpeSGs8sh3xqjs2PzyRIcQHCbedU2EyKD7CalO1 p4dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=RmLIslKrDtxB6F53triYZpBcRENGA9EGTlNzCsVjwi4=; b=fsuxNzfTbPlA90hbjEHzS9rwER0l2EBt9jGY5M6tJtwYVpgewI+DeOVTSH9bYlh3lX 5TAeKbcfT4yffJOPKnKbsyXH6S7JW+jP3DQw+T0J0DyHWdo7TCasq8EbC8Oa167m5plP WCYpWw1W3T4nbkccZmOxzxjL4DIiCKN6zoiIofDduLzXBHm/h5as94AFn8awiO/tedE1 NWoBckxqc/XkMao8vKoLIkjLQsrBBV6TIBjLhGgvrTgMoVART1AyLoVwZguotr4rchQt vfSwJBzowfvFUqcRq6C1ljIJ11CXgr4P2bXJuiQx/MTHsPhezseDxeo+rvz/V1bUXB6h a2vQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="EH7/dWws"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l27si1228506ejg.613.2020.07.07.09.36.44; Tue, 07 Jul 2020 09:37:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="EH7/dWws"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728182AbgGGQg3 (ORCPT + 99 others); Tue, 7 Jul 2020 12:36:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:41652 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726911AbgGGQg2 (ORCPT ); Tue, 7 Jul 2020 12:36:28 -0400 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A939B2082F for ; Tue, 7 Jul 2020 16:36:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594139787; bh=RmLIslKrDtxB6F53triYZpBcRENGA9EGTlNzCsVjwi4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=EH7/dWwsAAWGZGyRMmMVipyNihGhxO/DXLd2ANh9jGS4oOA78A8b2Iw9dm0pEDH6O guuUttkpSUD+TJLAoG43Xq+uZ4SadmGdRJLDEc+V/9Hm1GMUz9EjZY6y2GWqJuR2Cp qR3Kn79BvnYtZd5A8ZIEKN9XB/O8ou0HfaQqE1E8= Received: by mail-wm1-f53.google.com with SMTP id l17so43992990wmj.0 for ; Tue, 07 Jul 2020 09:36:27 -0700 (PDT) X-Gm-Message-State: AOAM530SvcuV/ClmMaRqkouP/yTOCrygzNkfg5WmRmdBS0DkQCdOzSte X+nz7uvp6P39K8zKQSD5GfUjFrAK9GSsEXUr8ZnmIw== X-Received: by 2002:a7b:c09a:: with SMTP id r26mr4989979wmh.176.1594139786159; Tue, 07 Jul 2020 09:36:26 -0700 (PDT) MIME-Version: 1.0 References: <1594088183-7187-1-git-send-email-cathy.zhang@intel.com> <1594088183-7187-2-git-send-email-cathy.zhang@intel.com> In-Reply-To: <1594088183-7187-2-git-send-email-cathy.zhang@intel.com> From: Andy Lutomirski Date: Tue, 7 Jul 2020 09:36:15 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/4] x86/cpufeatures: Add enumeration for SERIALIZE instruction To: Cathy Zhang Cc: kvm list , LKML , X86 ML , Paolo Bonzini , "Christopherson, Sean J" , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Ricardo Neri , Kyung Min Park , Josh Poimboeuf , Greg KH , Andi Kleen , Dave Hansen , Tony Luck , "Ravi V. Shankar" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 6, 2020 at 7:21 PM Cathy Zhang wrote: > > This instruction gives software a way to force the processor to complete > all modifications to flags, registers and memory from previous instructions > and drain all buffered writes to memory before the next instruction is > fetched and executed. > > The same effect can be obtained using the cpuid instruction. However, > cpuid causes modification on the eax, ebx, ecx, and ecx regiters; it > also causes a VM exit. > > A processor supports SERIALIZE instruction if CPUID.0x0x.0x0:EDX[14] is > present. The CPU feature flag is shown as "serialize" in /proc/cpuinfo. > > Detailed information on the instructions and CPUID feature flag SERIALIZE > can be found in the latest Intel Architecture Instruction Set Extensions > and Future Features Programming Reference and Intel 64 and IA-32 > Architectures Software Developer's Manual. Can you also wire this up so sync_core() uses it? Thanks, Andy