From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761473AbdJQMNY (ORCPT ); Tue, 17 Oct 2017 08:13:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33790 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752077AbdJQMNW (ORCPT ); Tue, 17 Oct 2017 08:13:22 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 581A9820E6 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=pbonzini@redhat.com Subject: Re: [PATCH 0/9] Intel Processor Trace virtulization enabling To: Luwei Kang , kvm@vger.kernel.org Cc: rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, Chao Peng References: <1508155781-4576-1-git-send-email-luwei.kang@intel.com> From: Paolo Bonzini Message-ID: <66f40c86-cdf3-84a7-6d42-c0c7f6850e19@redhat.com> Date: Tue, 17 Oct 2017 14:13:12 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <1508155781-4576-1-git-send-email-luwei.kang@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Tue, 17 Oct 2017 12:13:22 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 16/10/2017 14:09, Luwei Kang wrote: > 2. Enabling use of EPT to redirect PT output. > — This enables the VMM to elect to virtualize the PT output buffer using EPT. In this mode, the CPU will treat PT output addresses as Guest Physical Addresses (GPAs) and translate them using EPT. This means that Intel PT output reads (of the ToPA table) and writes (of trace output) can cause EPT violations, and other output events. Yay yay yay! ;) > Intel Processor Trace virtualization can be work in one of 4 possible modes by set new option "pt_mode". Default is host guest mode. > a. system-wide: trace both host/guest and output to host buffer; > b. host-only: only trace host and output to host buffer; > c. guest-only: only trace guest and output to guest buffer; > d. host-guest: trace host/guest simultaneous and output to their respective buffer. I think the guest-only mode isn't particularly useful, and I would remove it. Nested virtualization is interesting. We would like the nested hypervisor to be forced to set the "use GPA for processor tracing" secondary execution control whenever "enable EPT" is set and RTIT_CTL is nonzero. There is no way to encode that in IA32_VMX_PROCBASED_CTLS2, however. It would be nice if Intel could reserve a bit in IA32_VMX_EPT_VPID_CAP for KVM to express that constraint. Paolo