From: Sean Christopherson <seanjc@google.com>
To: Xin3 Li <xin3.li@intel.com>
Cc: Xiaoyao Li <xiaoyao.li@intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"x86@kernel.org" <x86@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Shan Kang <shan.kang@intel.com>, Kai Huang <kai.huang@intel.com>
Subject: Re: [PATCH v6 4/9] KVM: VMX: Move MSR_IA32_VMX_BASIC bit defines to asm/vmx.h
Date: Tue, 2 Apr 2024 07:28:16 -0700 [thread overview]
Message-ID: <ZgwWAGHE7KmrLk5K@google.com> (raw)
In-Reply-To: <SA1PR11MB6734752BAB8F6E77FE6F9082A83E2@SA1PR11MB6734.namprd11.prod.outlook.com>
On Tue, Apr 02, 2024, Xin3 Li wrote:
> > On 3/9/2024 9:27 AM, Sean Christopherson wrote:
> > > From: Xin Li <xin3.li@intel.com>
> > >
> > > Move the bit defines for MSR_IA32_VMX_BASIC from msr-index.h to vmx.h
> > > so that they are colocated with other VMX MSR bit defines, and with
> > > the helpers that extract specific information from an MSR_IA32_VMX_BASIC
> > value.
> >
> > My understanding of msr-index.h is, it contains the index of various MSRs and the
> > bit definitions of each MSRs.
>
> "index" in the name kind of tell what it wants to focus.
Heh, there are a lot of files with names that don't necessarily reflect the
entirety of what they contain, I wouldn't put too much stock in the name :-)
> > Put the definition of each bit or bits below the definition of MSR index instead of
> > dispersed in different headers looks more intact for me.
>
> You're right when there is no other proper header for a MSR field definition.
>
> While the Linux code is maintained in the manner of "divide and conquer",
> thus I would say the VMX fields definitions belong to the KVM community,
> and fortunately, there is such a vmx header.
>
> BTW, It looks to me that some perf MSRs and fields are not in msr-index.h,
> which avoids bothering the tip maintainers all the time.
Ya, there is no hard rule that MSR indices and bits/masks _must_ go in msr-index.h.
Like many things, it's a judgment call, in this case to balance between keeping
a single file maintainble, usable, and readable, and making information easy and
intuitive to find.
There are many more examples, usually for things that are extremely "platform"
specific, e.g. the perf MSRs (especially for uncore stuff), synthetic MSRs defined
by hypervisors, etc.
In this particular case, I agree with Xin that putting the bit and mask definitions
in vmx.h makes the most sense. Nothing outside of virtualization code is likely
to ever care about the bits of the VMX feature MSRs, and putting all of the info
and helpers in msr-index.h would add a fair bit of noise, and would make it more
annoying to tweak and add masks for KVM's usage.
next prev parent reply other threads:[~2024-04-02 14:28 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-09 1:27 [PATCH v6 0/9] x86/cpu: KVM: Clean up PAT and VMX macros Sean Christopherson
2024-03-09 1:27 ` [PATCH v6 1/9] x86/cpu: KVM: Add common defines for architectural memory types (PAT, MTRRs, etc.) Sean Christopherson
2024-03-27 11:13 ` Huang, Kai
2024-04-03 18:57 ` Sean Christopherson
2024-04-03 21:17 ` Huang, Kai
2024-04-03 21:42 ` Sean Christopherson
2024-03-09 1:27 ` [PATCH v6 2/9] x86/cpu: KVM: Move macro to encode PAT value to common header Sean Christopherson
2024-03-27 11:21 ` Huang, Kai
2024-04-01 5:28 ` Xiaoyao Li
2024-04-03 21:03 ` Huang, Kai
2024-03-09 1:27 ` [PATCH v6 3/9] KVM: x86: Stuff vCPU's PAT with default value at RESET, not creation Sean Christopherson
2024-03-27 11:22 ` Huang, Kai
2024-04-01 6:00 ` Xiaoyao Li
2024-03-09 1:27 ` [PATCH v6 4/9] KVM: VMX: Move MSR_IA32_VMX_BASIC bit defines to asm/vmx.h Sean Christopherson
2024-03-15 15:13 ` Zhao Liu
2024-03-27 10:37 ` Huang, Kai
2024-04-01 6:13 ` Xiaoyao Li
2024-04-02 5:01 ` Li, Xin3
2024-04-02 14:28 ` Sean Christopherson [this message]
2024-03-09 1:27 ` [PATCH v6 5/9] KVM: VMX: Track CPU's MSR_IA32_VMX_BASIC as a single 64-bit value Sean Christopherson
2024-03-15 15:26 ` Zhao Liu
2024-03-27 10:38 ` Huang, Kai
2024-04-01 6:27 ` Xiaoyao Li
2024-03-09 1:27 ` [PATCH v6 6/9] KVM: nVMX: Use macros and #defines in vmx_restore_vmx_basic() Sean Christopherson
2024-03-15 15:30 ` Zhao Liu
2024-03-27 10:53 ` Huang, Kai
2024-04-01 7:00 ` Xiaoyao Li
2024-03-09 1:27 ` [PATCH v6 7/9] KVM VMX: Move MSR_IA32_VMX_MISC bit defines to asm/vmx.h Sean Christopherson
2024-03-15 15:43 ` Zhao Liu
2024-03-27 10:55 ` Huang, Kai
2024-03-09 1:27 ` [PATCH v6 8/9] KVM: VMX: Open code VMX preemption timer rate mask in its accessor Sean Christopherson
2024-03-15 15:46 ` Zhao Liu
2024-03-15 17:54 ` Sean Christopherson
2024-04-01 7:07 ` Xiaoyao Li
2024-04-02 22:06 ` Sean Christopherson
2024-04-24 20:06 ` Sean Christopherson
2024-04-25 10:05 ` Huang, Kai
2024-04-25 14:42 ` Sean Christopherson
2024-04-25 21:44 ` Huang, Kai
2024-04-25 14:18 ` Xiaoyao Li
2024-03-27 10:59 ` Huang, Kai
2024-03-09 1:27 ` [PATCH v6 9/9] KVM: nVMX: Use macros and #defines in vmx_restore_vmx_misc() Sean Christopherson
2024-03-15 15:52 ` Zhao Liu
2024-03-27 11:02 ` Huang, Kai
2024-04-01 7:09 ` Xiaoyao Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZgwWAGHE7KmrLk5K@google.com \
--to=seanjc@google.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=kai.huang@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=shan.kang@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xiaoyao.li@intel.com \
--cc=xin3.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).