Re: [PATCH] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
Hello Leonardo, On 2/15/20 2:39 AM, Leonardo Bras wrote: Hello Desnes, thanks for the patch. "Desnes A. Nunes do Rosario" writes: PowerVM systems running compatibility mode on a few Power8 revisions are still vulnerable to the hardware defect that loses PMU exceptions arriving prior to a context switch. The software fix for this issue is enabled through the CPU_FTR_PMAO_BUG cpu_feature bit, nevertheless this bit also needs to be set for PowerVM compatibility mode systems. Fixes: 68f2f0d431d9ea4 ("powerpc: Add a cpu feature CPU_FTR_PMAO_BUG") Signed-off-by: Desnes A. Nunes do Rosario --- arch/powerpc/kernel/cputable.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index e745abc5457a..5bfef6263dfb 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c @@ -2198,6 +2198,8 @@ static struct cpu_spec * __init setup_cpu_spec(unsigned long offset, if (old.oprofile_cpu_type != NULL) { t->oprofile_cpu_type = old.oprofile_cpu_type; t->oprofile_type = old.oprofile_type; + if (old.cpu_features & CPU_FTR_PMAO_BUG) + t->cpu_features |= CPU_FTR_PMAO_BUG; What are your thoughts about doing: t->cpu_features |= old.cpu_features & CPU_FTR_PMAO_BUG; Looks good to me. Also, I would recommend adding a short comment on top of the added lines explaining why it is needed. Sure, I'll send a second version. Thanks for the review. Best regards, Leonardo Bras -- Desnes A. Nunes do Rosario Advisory Software Engineer - IBM Virtual Onsite Engineer - Red Hat
Re: [PATCH] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
Hello Desnes, thanks for the patch. On Thu, 2020-02-13 at 21:19 -0300, Desnes A. Nunes do Rosario wrote: > PowerVM systems running compatibility mode on a few Power8 revisions are > still vulnerable to the hardware defect that loses PMU exceptions arriving > prior to a context switch. > > The software fix for this issue is enabled through the CPU_FTR_PMAO_BUG > cpu_feature bit, nevertheless this bit also needs to be set for PowerVM > compatibility mode systems. > > Fixes: 68f2f0d431d9ea4 ("powerpc: Add a cpu feature CPU_FTR_PMAO_BUG") > Signed-off-by: Desnes A. Nunes do Rosario > --- > arch/powerpc/kernel/cputable.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c > index e745abc5457a..5bfef6263dfb 100644 > --- a/arch/powerpc/kernel/cputable.c > +++ b/arch/powerpc/kernel/cputable.c > @@ -2198,6 +2198,8 @@ static struct cpu_spec * __init setup_cpu_spec(unsigned > long offset, > if (old.oprofile_cpu_type != NULL) { > t->oprofile_cpu_type = old.oprofile_cpu_type; > t->oprofile_type = old.oprofile_type; > + if (old.cpu_features & CPU_FTR_PMAO_BUG) > + t->cpu_features |= CPU_FTR_PMAO_BUG; > } > } > What are your thoughts about doing: t->cpu_features |= old.cpu_features & CPU_FTR_PMAO_BUG; Also, I would recommend adding a short comment on top of the added lines explaining why it is needed. Best regards, Leonardo Bras signature.asc Description: This is a digitally signed message part
Re: [PATCH] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
Hello Desnes, thanks for the patch. "Desnes A. Nunes do Rosario" writes: > PowerVM systems running compatibility mode on a few Power8 revisions are > still vulnerable to the hardware defect that loses PMU exceptions arriving > prior to a context switch. > > The software fix for this issue is enabled through the CPU_FTR_PMAO_BUG > cpu_feature bit, nevertheless this bit also needs to be set for PowerVM > compatibility mode systems. > > Fixes: 68f2f0d431d9ea4 ("powerpc: Add a cpu feature CPU_FTR_PMAO_BUG") > Signed-off-by: Desnes A. Nunes do Rosario > --- > arch/powerpc/kernel/cputable.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c > index e745abc5457a..5bfef6263dfb 100644 > --- a/arch/powerpc/kernel/cputable.c > +++ b/arch/powerpc/kernel/cputable.c > @@ -2198,6 +2198,8 @@ static struct cpu_spec * __init setup_cpu_spec(unsigned > long offset, > if (old.oprofile_cpu_type != NULL) { > t->oprofile_cpu_type = old.oprofile_cpu_type; > t->oprofile_type = old.oprofile_type; > + if (old.cpu_features & CPU_FTR_PMAO_BUG) > + t->cpu_features |= CPU_FTR_PMAO_BUG; What are your thoughts about doing: t->cpu_features |= old.cpu_features & CPU_FTR_PMAO_BUG; Also, I would recommend adding a short comment on top of the added lines explaining why it is needed. Best regards, Leonardo Bras signature.asc Description: This is a digitally signed message part
[PATCH] powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
PowerVM systems running compatibility mode on a few Power8 revisions are still vulnerable to the hardware defect that loses PMU exceptions arriving prior to a context switch. The software fix for this issue is enabled through the CPU_FTR_PMAO_BUG cpu_feature bit, nevertheless this bit also needs to be set for PowerVM compatibility mode systems. Fixes: 68f2f0d431d9ea4 ("powerpc: Add a cpu feature CPU_FTR_PMAO_BUG") Signed-off-by: Desnes A. Nunes do Rosario --- arch/powerpc/kernel/cputable.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index e745abc5457a..5bfef6263dfb 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c @@ -2198,6 +2198,8 @@ static struct cpu_spec * __init setup_cpu_spec(unsigned long offset, if (old.oprofile_cpu_type != NULL) { t->oprofile_cpu_type = old.oprofile_cpu_type; t->oprofile_type = old.oprofile_type; + if (old.cpu_features & CPU_FTR_PMAO_BUG) + t->cpu_features |= CPU_FTR_PMAO_BUG; } } -- 2.21.1