Re: [PATCH] KVM: arm64: Fix the name of sys_reg_desc related to PMU

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

 



On Thu, 13 Jul 2023 10:10:01 +0100,
"chenxiang (M)" <chenxiang66@xxxxxxxxxxxxx> wrote:
> 
> Hi Marc,
> 
> 
> 在 2023/7/13 星期四 14:56, Marc Zyngier 写道:
> > On Thu, 13 Jul 2023 03:35:39 +0100,
> > "chenxiang (M)" <chenxiang66@xxxxxxxxxxxxx> wrote:
> >> Hi Marc,
> >> 
> >> 
> >> 在 2023/7/12 星期三 16:36, Marc Zyngier 写道:
> >>> On Wed, 12 Jul 2023 08:55:05 +0100,
> >>> chenxiang <chenxiang66@xxxxxxxxxxxxx> wrote:
> >>>> From: Xiang Chen <chenxiang66@xxxxxxxxxxxxx>
> >>>> 
> >>>> For those PMU system registers defined in sys_reg_descs[], use macro
> >>>> PMU_SYS_REG() / PMU_PMEVCNTR_EL0 / PMU_PMEVTYPER_EL0 to define them, and
> >>>> later two macros call macro PMU_SYS_REG() actually.
> >>>> Currently the input parameter of PMU_SYS_REG() is other macro which is
> >>>> calculation formula of the value of system registers, so for example, if
> >>>> we want to "SYS_PMINTENSET_EL1" as the name of sys register, actually
> >>>> the name will be as following:
> >>>> (((3) << 19) | ((0) << 16) | ((9) << 12) | ((14) << 8) | ((1) << 5))
> >>>> 
> >>>> To fix the issue, use the name as a input parameter of PMU_SYS_REG like
> >>>> MTE_REG or EL2_REG.
> >>> Why is the name relevant? Is this related to tracing?
> >> I think It is not related to tracing. I find the issue when i want to
> >> know which system reigsters are set
> >> when on live migration and printk the name of sys_reg_desc in function
> >> kvm_sys_reg_set_user,
> >> find the name of some registers are abnormal as followings:
> >> 
> >> [  227.145540] kvm_sys_reg_set_user 3427:SYS_FAR_EL1
> >> [  227.158057] kvm_sys_reg_set_user 3427:SYS_PAR_EL1
> >> [  227.170574] kvm_sys_reg_set_user 3427:(((3) << 19) | ((0) << 16) |
> >> ((9) << 12) | ((14) << 8) | ((1) << 5))
> >> [  227.188037] kvm_sys_reg_set_user 3427:(((3) << 19) | ((0) << 16) |
> >> ((9) << 12) | ((14) << 8) | ((2) << 5))
> >> [  227.205511] kvm_sys_reg_set_user 3427:SYS_MAIR_EL1
> >> [  227.218117] kvm_sys_reg_set_user 3427:SYS_PIRE0_EL1
> > So what is this if not some form of tracing?
> 
> Ah, i was misunderstood your question. I thought you aksed whether
> it is related to kernel tracing (which is already existed in kernel)
> such as tracepoint or debugfs.

But that's my point: tracepoints such as kvm_sys_access already output
the name (as well as the encoding), and are likely to be affected by
this problem.

And that's a much more interesting justification for this change.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux