Hello, On Thu, Sep 29, 2022 at 05:16:40PM -0500, Nathan Lynch wrote: > Haren Myneni <ha...@linux.ibm.com> writes: > > Generally the hypervisor decides to allocate a window on different > > VAS instances. But if the user space wishes to allocate on the > > current VAS instance where the process is executing, the kernel has > > to pass associativity domain IDs to allocate VAS window HCALL. To > > determine the associativity domain IDs for the current CPU, passing > > smp_processor_id() to node associativity HCALL which may return > > H_P2 (-55) error during DLPAR CPU event. > > > > This patch fixes this issue by passing hard_smp_processor_id() with > > VPHN_FLAG_VCPU flag (PAPR 14.11.6.1 H_HOME_NODE_ASSOCIATIVITY). > > > > Signed-off-by: Haren Myneni <ha...@linux.ibm.com> > > --- > > arch/powerpc/platforms/pseries/vas.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/powerpc/platforms/pseries/vas.c > > b/arch/powerpc/platforms/pseries/vas.c > > index fe33bdb620d5..533026fd1f40 100644 > > --- a/arch/powerpc/platforms/pseries/vas.c > > +++ b/arch/powerpc/platforms/pseries/vas.c > > @@ -348,7 +348,7 @@ static struct vas_window *vas_allocate_window(int > > vas_id, u64 flags, > > * So no unpacking needs to be done. > > */ > > rc = plpar_hcall9(H_HOME_NODE_ASSOCIATIVITY, domain, > > - VPHN_FLAG_VCPU, smp_processor_id()); > > + VPHN_FLAG_VCPU, hard_smp_processor_id()); > > if (rc != H_SUCCESS) { > > pr_err("H_HOME_NODE_ASSOCIATIVITY error: %d\n", rc); > > goto out; > > Yes, it is always wrong to pass Linux CPU numbers to the hypervisor, > which has its own numbering for hardware threads. It usually coincides > with Linux's numbering in practice, which tends to hide bugs like this. > > Reviewed-by: Nathan Lynch <nath...@linux.ibm.com>
This is the code that introduces the problem, right? Fixes: b22f2d88e435 ("powerpc/pseries/vas: Integrate API with open/close windows") Thanks Michal