Hi Nicholas, On Tue, May 30, 2017 at 03:56:12PM +1000, Nicholas Piggin wrote: > On Tue, 16 May 2017 14:19:43 +0530 > "Gautham R. Shenoy" <e...@linux.vnet.ibm.com> wrote: > > > From: "Gautham R. Shenoy" <e...@linux.vnet.ibm.com> > > > > The lower 8 bits of core_idle_state_ptr tracks the number of non-idle > > threads in the core. This is supposed to be initialized to bit-map > > corresponding to the threads_per_core. However, currently it is > > initialized to PNV_CORE_IDLE_THREAD_BITS (0xFF). This is correct for > > POWER8 which has 8 threads per core, but not for POWER9 which has 4 > > threads per core. > > > > As a result, on POWER9, core_idle_state_ptr gets initialized to > > 0xFF. In case when all the threads of the core are idle, the bits > > corresponding tracking the idle-threads are non-zero. As a result, the > > idle entry/exit code fails to save/restore per-core hypervisor state > > since it assumes that there are threads in the cores which are still > > active. > > > > Fix this by correctly initializing the lower bits of the > > core_idle_state_ptr on the basis of threads_per_core. > > > > Signed-off-by: Gautham R. Shenoy <e...@linux.vnet.ibm.com> > > This looks good to me. > > Until this patch series, we can't enable HV state loss idle modes > on POWER9, is that correct? And after your series does it work?
Yes, that is correct. > > Reviewed-by: Nicholas Piggin <npig...@gmail.com> > Thanks for reviewing the patch! -- Thanks and Regards gautham.