lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <170e1919-bc45-6b99-dc4d-713418c98be1@linux.ibm.com>
Date:   Wed, 26 Aug 2020 14:44:32 +0530
From:   Pratik Sampat <psampat@...ux.ibm.com>
To:     Christophe Leroy <christophe.leroy@...roup.eu>,
        linuxppc-dev@...ts.ozlabs.org, mpe@...erman.id.au,
        npiggin@...il.com, mikey@...ling.org, ego@...ux.vnet.ibm.com,
        svaidy@...ux.ibm.com, linux-kernel@...r.kernel.org,
        pratik.r.sampat@...il.com
Subject: Re: [PATCH] Revert "powerpc/powernv/idle: Replace CPU feature check
 with PVR check"



On 26/08/20 2:07 pm, Christophe Leroy wrote:
>
>
> Le 26/08/2020 à 10:29, Pratik Rajesh Sampat a écrit :
>> Cpuidle stop state implementation has minor optimizations for P10
>> where hardware preserves more SPR registers compared to P9.
>> The current P9 driver works for P10, although does few extra
>> save-restores. P9 driver can provide the required power management
>> features like SMT thread folding and core level power savings
>> on a P10 platform.
>>
>> Until the P10 stop driver is available, revert the commit which
>> allows for only P9 systems to utilize cpuidle and blocks all
>> idle stop states for P10.
>> Cpu idle states are enabled and tested on the P10 platform
>> with this fix.
>>
>> This reverts commit 8747bf36f312356f8a295a0c39ff092d65ce75ae.
>>
>> Fixes: 8747bf36f312 ("powerpc/powernv/idle: Replace CPU feature check 
>> with PVR check")
>> Signed-off-by: Pratik Rajesh Sampat <psampat@...ux.ibm.com>
>> ---
>>   @mpe: This revert would resolve a staging issue wherein the P10 stop
>>   driver is not yet ready while cpuidle stop states need not be blocked
>>   on 5.9 for Power10 systems which could cause SMT folding related
>>   performance issues.
>>
>>   The P10 stop driver is in the works here:
>> https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-August/216773.html
>>
>>   arch/powerpc/platforms/powernv/idle.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/powerpc/platforms/powernv/idle.c 
>> b/arch/powerpc/platforms/powernv/idle.c
>> index 77513a80cef9..345ab062b21a 100644
>> --- a/arch/powerpc/platforms/powernv/idle.c
>> +++ b/arch/powerpc/platforms/powernv/idle.c
>> @@ -1223,7 +1223,7 @@ static void __init pnv_probe_idle_states(void)
>>           return;
>>       }
>>   -    if (pvr_version_is(PVR_POWER9))
>> +    if (cpu_has_feature(CPU_FTR_ARCH_300))
>
> Why not something like:
>
>     if (pvr_version_is(PVR_POWER9) || pvr_version_is(PVR_POWER10))
>         pnv_power9_idle_init(); 

In order to use PVR_POWER10 I would need to define it under
arch/powerpc/include/asm/reg.h, which is not present in 5.9 yet.

However, if it okay with @mpe I could split out Nick's P10 stop driver
(https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-August/216773.html)
into two parts:
1. This could include minimal code to introduce the P10 PVR and the
stop wrappers for it. Although this patch internally still calls into
the P9 path. This should gracefully fix the issue.
2. Then later in this patch we could introduce the p10 callback
methods as they are in Nick's series.

---
Thanks
Pratik

>
>>           pnv_power9_idle_init();
>>         for (i = 0; i < nr_pnv_idle_states; i++)
>>
>
> Christophe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ