[PATCH v8 12/14] powerpc/vas: Return credits after handling fault

Nicholas Piggin npiggin at gmail.com
Mon Mar 23 13:44:54 AEDT 2020


Haren Myneni's on March 19, 2020 4:19 pm:
> 
> NX expects OS to return credit for send window after processing each
> fault. Also credit has to be returned even for fault window.

And this should be merged in the fault handler function.

> 
> Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> Signed-off-by: Haren Myneni <haren at linux.ibm.com>
> ---
>  arch/powerpc/platforms/powernv/vas-fault.c  |  9 +++++++++
>  arch/powerpc/platforms/powernv/vas-window.c | 17 +++++++++++++++++
>  arch/powerpc/platforms/powernv/vas.h        |  1 +
>  3 files changed, 27 insertions(+)
> 
> diff --git a/arch/powerpc/platforms/powernv/vas-fault.c b/arch/powerpc/platforms/powernv/vas-fault.c
> index 40e1de4..292f7ba 100644
> --- a/arch/powerpc/platforms/powernv/vas-fault.c
> +++ b/arch/powerpc/platforms/powernv/vas-fault.c
> @@ -238,6 +238,10 @@ irqreturn_t vas_fault_thread_fn(int irq, void *data)
>  		memcpy(crb, fifo, CRB_SIZE);
>  		entry->stamp.nx.pswid = cpu_to_be32(FIFO_INVALID_ENTRY);
>  		entry->ccw |= cpu_to_be32(CCW0_INVALID);
> +		/*
> +		 * Return credit for the fault window.
> +		 */

None of the comments in this patch are useful.

> +		vas_return_credit(vinst->fault_win, 0);

Can you use true/false for bools?

>  		mutex_unlock(&vinst->mutex);
>  
>  		pr_devel("VAS[%d] fault_fifo %p, fifo %p, fault_crbs %d\n",
> @@ -267,6 +271,11 @@ irqreturn_t vas_fault_thread_fn(int irq, void *data)
>  		}
>  
>  		update_csb(window, crb);
> +		/*
> +		 * Return credit for send window after processing
> +		 * fault CRB.
> +		 */

Any chance of a little bit of explanation how the credit system works?
Or is it in the code somewhere already?

I don't suppose there is a chance to batch credit updates with multiple
faults? (maybe the MMIO is insignificant)

> +		vas_return_credit(window, 1);
>  	} while (true);
>  }
>  

Thanks,
Nick


More information about the Linuxppc-dev mailing list