Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2851218pxp; Tue, 22 Mar 2022 07:14:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDglRkyKLkRPajvzdyGGhFgbapSyMrw4jfqvOPoU25Po+rJYLuO2ygOyb/4wKyITxI8U+O X-Received: by 2002:a63:5907:0:b0:382:2f93:5467 with SMTP id n7-20020a635907000000b003822f935467mr16036821pgb.460.1647958496352; Tue, 22 Mar 2022 07:14:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647958496; cv=none; d=google.com; s=arc-20160816; b=coDRjL1cEeRt57SaQZqN/8QVIUKX1slKnKtWQL7HAGfktyPsoTMZOvwzdG1D9Z4yiB j61g5NEMkP3GXRnD9kUg5O2KhSkRVNNnmHAgD0+p2G+CKeePojyXZl8/jKKPsv3s4Kfc kbZUdaG+FEiSB0q84CuSvMDPgDNsqnjHjszMBrsSizOPG5FuOVxSz4v/aETmll2QFmT1 JXm76l9tQu3/haWiatB+2LKvOfNJqQAv4pNTwrLhx00sueRcK+ArfuUtjgrYwJUrsGF1 6eiIuxO9fHv6EUDT03Ur9bIbgcBdOqqqyeH47R6ofjX8iHKKnnfG4YWRNbUr1Hq699sp L4Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id:dkim-signature; bh=H41xAxhmddWJigWYNLoIQApqV9cFykwx5iF2pkoPt5s=; b=uq1uFP96YMfcgUiN+EfTj4+QDvOTvOCTAMbTScRMxqK2axE8N8blluEoAJfI0kycIN gPUwTVMeKcg7iRM7jlAgtdPx+AFQrJ0Q6s3P+gm8cDKQybM8PxQlIamBclrWxSW9qXXH 0UnwWtPFuwQVEs3SQfabJ5ZUBfG/YrKVftsbZYO5cCL6KVUDmrnjA1lSjmdh/BSNIZ2A 747Ug03ouECNYoSm6Zs/cMB3/Kn0QhJRHYNWGY+IOTx3LGOVj8BGScJ/VXC2YZ32t1Yx k20PJ31fU7ANs350mICirPJaEZwYMNFx9Wt1cbuoz7ZhakrhioYbODtVqHyUYmK+DPUE +eFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=STf45Yy4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g34-20020a632022000000b003816043eed3si14782395pgg.200.2022.03.22.07.14.40; Tue, 22 Mar 2022 07:14:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=STf45Yy4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234026AbiCVLTB (ORCPT + 99 others); Tue, 22 Mar 2022 07:19:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232917AbiCVLS6 (ORCPT ); Tue, 22 Mar 2022 07:18:58 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D75DD7DAA8 for ; Tue, 22 Mar 2022 04:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647947849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H41xAxhmddWJigWYNLoIQApqV9cFykwx5iF2pkoPt5s=; b=STf45Yy4MfGsXBxphRmz2jQtAAyLwCSX3k95VXX2CVwGPjuFK1OEXdbu8ZsLa8c20cI0A/ oZtvYKbO6oFc+XAsNydIf/rnDd33fg18Cag6OA1nrReZINOkxEYG+GVV7iRbZSMDm22nMr BadaV31TcqhWdf2khP8RT2iXBdvImm8= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-630-1rSftk1YNRuRWh2eK2P3EQ-1; Tue, 22 Mar 2022 07:17:26 -0400 X-MC-Unique: 1rSftk1YNRuRWh2eK2P3EQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 765EA1C04B68; Tue, 22 Mar 2022 11:17:25 +0000 (UTC) Received: from starship (unknown [10.40.194.231]) by smtp.corp.redhat.com (Postfix) with ESMTP id A00ED1121314; Tue, 22 Mar 2022 11:17:19 +0000 (UTC) Message-ID: <58702837572513e99eb859e2fc4d0e60ac27910d.camel@redhat.com> Subject: Re: [PATCH v3 4/7] KVM: x86: nSVM: support PAUSE filter threshold and count when cpu_pm=on From: Maxim Levitsky To: Paolo Bonzini , Jim Mattson Cc: kvm@vger.kernel.org, Ingo Molnar , Dave Hansen , Sean Christopherson , Borislav Petkov , "H. Peter Anvin" , Thomas Gleixner , x86@kernel.org, Vitaly Kuznetsov , Joerg Roedel , linux-kernel@vger.kernel.org, Wanpeng Li Date: Tue, 22 Mar 2022 13:17:18 +0200 In-Reply-To: References: <20220301143650.143749-1-mlevitsk@redhat.com> <20220301143650.143749-5-mlevitsk@redhat.com> <6a7f13d1-ed00-b4a6-c39b-dd8ba189d639@redhat.com> <8071f0f0a857b0775f1fb2d1ebd86ffc4fd9096b.camel@redhat.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.36.5 (3.36.5-2.fc32) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2022-03-22 at 11:12 +0100, Paolo Bonzini wrote: > On 3/21/22 23:41, Jim Mattson wrote: > > > 100%. Do you have a pointer where to document it? > > I think this will be the first KVM virtual CPU erratum documented, > > though there are plenty of others that I'd like to see documented > > (e.g. nVMX processes posted interrupts on emulated VM-entry, AMD's > > merged PMU counters are only 48 bits wide, etc.). > > > > Maybe Paolo has some ideas? > > So let's document them, that's a great idea. I can help writing them > down if you have a pointer to prior email discussions. I'll send a > skeleton. > > Paolo > Things that I know that don't work 100% correctly in KVM: * Relocation apic base. changing apic id also likely broken at least in some cases, and sure is with AVIC enabled. also likely some other obscure bits of the in-kernel emulation of APIC/IO apic/PIC/etc don't work correctly. * Emulator is not complete, so if you do unsupported instruction on mmio, it should fail. Also without unrestricted guest, emulator has to be used sometimes for arbitrary code so it wil fail fast. * Shadow mmu doesn't fully reflect real tlb, as tlb is usualy not shared between cpus. Also KVM's shadow mmu is more speculative vs real mmu - breaks old guests like win9x. Also no way to disable 1GB pages when NPT/EPT is enabled, since guest paging doesn't trap into the KVM. * Various minor issues with debug based on single stepping / DRs, etc, most of which I don't know well. Most of these can be fixed but it low priority, and I have seen many fixes in this area recently. Also proper support for nested monitor trap likely broken. * Various msrs are hardcoded/not supported - not much specific info on this. In particular no real support for mtrrs / pat - in fact KVM likes the guest memory to be always WB to avoid various cpu erratas. Best regards, Maxim Levitsky