Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-11-11 Thread Guo Ren
On Mon, Nov 6, 2023 at 3:42 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:28:54AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > patch[1 - 10]: Native qspinlock > > patch[11 -17]: Paravirt qspinlock > > > > patch[4]: Add prefetchw

Re: [PATCH V11 08/17] riscv: qspinlock: Add virt_spin_lock() support for KVM guest

2023-09-19 Thread Guo Ren
On Tue, Sep 19, 2023 at 1:30 PM Leonardo Bras wrote: > > On Sun, Sep 17, 2023 at 11:12:31PM +0800, Guo Ren wrote: > > On Thu, Sep 14, 2023 at 4:02 PM Leonardo Bras wrote: > > > > > > On Sun, Sep 10, 2023 at 04:29:02AM -0400, guo...@kernel.org wrote: > > >

Re: [PATCH V11 03/17] riscv: Use Zicbop in arch_xchg when available

2023-09-19 Thread Guo Ren
On Tue, Sep 19, 2023 at 1:13 PM Leonardo Bras wrote: > > On Sun, Sep 17, 2023 at 10:34:36PM +0800, Guo Ren wrote: > > On Sat, Sep 16, 2023 at 9:25 AM Leonardo Bras wrote: > > > > > > On Fri, Sep 15, 2023 at 08:36:31PM +0800, Guo Ren wrote: > > > > On

Re: [PATCH V11 09/17] riscv: qspinlock: errata: Add ERRATA_THEAD_WRITE_ONCE fixup

2023-09-17 Thread Guo Ren
On Thu, Sep 14, 2023 at 4:32 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:29:03AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > The early version of T-Head C9xx cores has a store merge buffer > > delay problem. The store merge buffer

Re: [PATCH V11 08/17] riscv: qspinlock: Add virt_spin_lock() support for KVM guest

2023-09-17 Thread Guo Ren
On Thu, Sep 14, 2023 at 4:02 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:29:02AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > Add a static key controlling whether virt_spin_lock() should be > > called or not. When running on bare meta

Re: [PATCH V11 13/17] RISC-V: paravirt: pvqspinlock: Add SBI implementation

2023-09-17 Thread Guo Ren
On Fri, Sep 15, 2023 at 2:23 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:29:07AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > Implement pv_kick with SBI implementation, and add SBI_EXT_PVLOCK > > extension detection. > > > > Sign

Re: [PATCH V11 12/17] RISC-V: paravirt: pvqspinlock: Add nopvspin kernel parameter

2023-09-17 Thread Guo Ren
On Fri, Sep 15, 2023 at 2:05 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:29:06AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > Disables the qspinlock slow path using PV optimizations which > > allow the hypervisor to 'idle' the gues

Re: [PATCH V11 05/17] riscv: qspinlock: Add basic queued_spinlock support

2023-09-17 Thread Guo Ren
On Fri, Sep 15, 2023 at 5:08 PM Leonardo Bras wrote: > > On Fri, Sep 15, 2023 at 10:10:25AM +0800, Guo Ren wrote: > > On Thu, Sep 14, 2023 at 5:43 PM Leonardo Bras wrote: > > > > > > On Thu, Sep 14, 2023 at 12:46:56PM +0800, Guo Ren wrote: > > > > On

Re: [PATCH V11 11/17] RISC-V: paravirt: pvqspinlock: Add paravirt qspinlock skeleton

2023-09-17 Thread Guo Ren
On Fri, Sep 15, 2023 at 1:42 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:29:05AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > Using static_call to switch between: > > native_queued_spin_lock_slowpath()__pv_queued_spin_lock_slowpath() &

Re: [PATCH V11 03/17] riscv: Use Zicbop in arch_xchg when available

2023-09-17 Thread Guo Ren
On Sat, Sep 16, 2023 at 9:25 AM Leonardo Bras wrote: > > On Fri, Sep 15, 2023 at 08:36:31PM +0800, Guo Ren wrote: > > On Wed, Sep 13, 2023 at 4:50 PM Leonardo Bras wrote: > > > > > > On Sun, Sep 10, 2023 at 04:28:57AM -0400, guo...@kernel.org wrote: > > >

Re: [PATCH V11 03/17] riscv: Use Zicbop in arch_xchg when available

2023-09-15 Thread Guo Ren
On Wed, Sep 13, 2023 at 4:50 PM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:28:57AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > Cache-block prefetch instructions are HINTs to the hardware to > > indicate that software intends to perform a

Re: [PATCH V11 05/17] riscv: qspinlock: Add basic queued_spinlock support

2023-09-14 Thread Guo Ren
On Thu, Sep 14, 2023 at 5:43 PM Leonardo Bras wrote: > > On Thu, Sep 14, 2023 at 12:46:56PM +0800, Guo Ren wrote: > > On Thu, Sep 14, 2023 at 4:29 AM Leonardo Bras wrote: > > > > > > On Sun, Sep 10, 2023 at 04:28:59AM -0400, guo...@kernel.org wrote: > > &g

Re: [PATCH V11 06/17] riscv: qspinlock: Introduce combo spinlock

2023-09-13 Thread Guo Ren
On Thu, Sep 14, 2023 at 4:49 AM Leonardo Bras wrote: > > On Wed, Sep 13, 2023 at 05:37:01PM -0300, Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 07:06:23AM -0400, Guo Ren wrote: > > > On Sun, Sep 10, 2023 at 04:29:00AM -0400, guo...@kernel.org wrote:

Re: [PATCH V11 05/17] riscv: qspinlock: Add basic queued_spinlock support

2023-09-13 Thread Guo Ren
On Thu, Sep 14, 2023 at 4:29 AM Leonardo Bras wrote: > > On Sun, Sep 10, 2023 at 04:28:59AM -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > The requirements of qspinlock have been documented by commit: > > a8ad07e5240c ("asm-generic: qspinl

Re: [PATCH V11 04/17] locking/qspinlock: Improve xchg_tail for number of cpus >= 16k

2023-09-13 Thread Guo Ren
On Wed, Sep 13, 2023 at 9:06 PM Waiman Long wrote: > > On 9/13/23 08:52, Guo Ren wrote: > > On Wed, Sep 13, 2023 at 4:55 PM Leonardo Bras wrote: > >> On Tue, Sep 12, 2023 at 09:10:08AM +0800, Guo Ren wrote: > >>> On Mon, Sep 11, 2023 at 9:03 PM Waiman Long wr

Re: [PATCH V10 07/19] riscv: qspinlock: errata: Introduce ERRATA_THEAD_QSPINLOCK

2023-09-13 Thread Guo Ren
On Thu, Sep 14, 2023 at 2:54 AM Palmer Dabbelt wrote: > > On Sun, 06 Aug 2023 22:23:34 PDT (-0700), sor...@fastmail.com wrote: > > On Wed, Aug 2, 2023, at 12:46 PM, guo...@kernel.org wrote: > >> From: Guo Ren > >> > >> According to qspinlock requ

Re: [PATCH V11 04/17] locking/qspinlock: Improve xchg_tail for number of cpus >= 16k

2023-09-13 Thread Guo Ren
On Wed, Sep 13, 2023 at 4:55 PM Leonardo Bras wrote: > > On Tue, Sep 12, 2023 at 09:10:08AM +0800, Guo Ren wrote: > > On Mon, Sep 11, 2023 at 9:03 PM Waiman Long wrote: > > > > > > On 9/10/23 23:09, Guo Ren wrote: > > > > On Mon, Sep 11, 2023 at 10:35 A

Re: [PATCH V11 01/17] asm-generic: ticket-lock: Reuse arch_spinlock_t of qspinlock

2023-09-12 Thread Guo Ren
On Tue, Sep 12, 2023 at 3:05 AM Leonardo Brás wrote: > > On Sun, 2023-09-10 at 04:28 -0400, guo...@kernel.org wrote: > > From: Guo Ren > > > > The arch_spinlock_t of qspinlock has contained the atomic_t val, which > > satisfies the ticket-lock requirement. T

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-12 Thread Guo Ren
On Tue, Sep 12, 2023 at 4:08 PM Conor Dooley wrote: > > On Tue, Sep 12, 2023 at 09:33:57AM +0800, Guo Ren wrote: > > On Mon, Sep 11, 2023 at 8:53 PM Conor Dooley > > wrote: > > > > I added the new "riscv,isa-extensions" property in part to make > &g

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-11 Thread Guo Ren
On Mon, Sep 11, 2023 at 8:53 PM Conor Dooley wrote: > > On Mon, Sep 11, 2023 at 11:36:27AM +0800, Guo Ren wrote: > > On Mon, Sep 11, 2023 at 3:45 AM Conor Dooley wrote: > > > > > > On Sun, Sep 10, 2023 at 05:49:13PM +0800, Guo Ren wrote: > > > > On

Re: [PATCH V11 07/17] riscv: qspinlock: Introduce qspinlock param for command line

2023-09-11 Thread Guo Ren
On Mon, Sep 11, 2023 at 11:22 PM Waiman Long wrote: > > On 9/10/23 04:29, guo...@kernel.org wrote: > > From: Guo Ren > > > > Allow cmdline to force the kernel to use queued_spinlock when > > CONFIG_RISCV_COMBO_SPINLOCKS=y. > > > > Signed-o

Re: [PATCH V11 04/17] locking/qspinlock: Improve xchg_tail for number of cpus >= 16k

2023-09-11 Thread Guo Ren
On Mon, Sep 11, 2023 at 9:03 PM Waiman Long wrote: > > On 9/10/23 23:09, Guo Ren wrote: > > On Mon, Sep 11, 2023 at 10:35 AM Waiman Long wrote: > >> > >> On 9/10/23 04:28, guo...@kernel.org wrote: > >>> From: Guo Ren > >>> > >>>

Re: [PATCH V11 07/17] riscv: qspinlock: Introduce qspinlock param for command line

2023-09-11 Thread Guo Ren
On Mon, Sep 11, 2023 at 11:34 PM Waiman Long wrote: > > On 9/10/23 04:29, guo...@kernel.org wrote: > > From: Guo Ren > > > > Allow cmdline to force the kernel to use queued_spinlock when > > CONFIG_RISCV_COMBO_SPINLOCKS=y. > > > > Signed-o

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-10 Thread Guo Ren
On Mon, Sep 11, 2023 at 3:45 AM Conor Dooley wrote: > > On Sun, Sep 10, 2023 at 05:49:13PM +0800, Guo Ren wrote: > > On Sun, Sep 10, 2023 at 5:32 PM Conor Dooley wrote: > > > > > > On Sun, Sep 10, 2023 at 05:16:46PM +0800, Guo Ren wrote: > > > > On

Re: [PATCH V11 04/17] locking/qspinlock: Improve xchg_tail for number of cpus >= 16k

2023-09-10 Thread Guo Ren
On Mon, Sep 11, 2023 at 10:35 AM Waiman Long wrote: > > > On 9/10/23 04:28, guo...@kernel.org wrote: > > From: Guo Ren > > > > The target of xchg_tail is to write the tail to the lock value, so > > adding prefetchw could help the next cmpxchg step, which may >

Re: [PATCH V11 06/17] riscv: qspinlock: Introduce combo spinlock

2023-09-10 Thread Guo Ren
On Sun, Sep 10, 2023 at 04:29:00AM -0400, guo...@kernel.org wrote: > From: Guo Ren > > Combo spinlock could support queued and ticket in one Linux Image and > select them during boot time via errata mechanism. Here is the func > size (Bytes) comparison table b

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-10 Thread Guo Ren
On Sun, Sep 10, 2023 at 5:32 PM Conor Dooley wrote: > > On Sun, Sep 10, 2023 at 05:16:46PM +0800, Guo Ren wrote: > > On Sun, Sep 10, 2023 at 4:58 PM Conor Dooley wrote: > > > > > > On Sun, Sep 10, 2023 at 04:28:54AM -0400, guo...@kernel.org wrote: >

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-10 Thread Guo Ren
On Sun, Sep 10, 2023 at 5:16 PM Guo Ren wrote: > > On Sun, Sep 10, 2023 at 4:58 PM Conor Dooley wrote: > > > > On Sun, Sep 10, 2023 at 04:28:54AM -0400, guo...@kernel.org wrote: > > > > > Changlog: > > > V11: > > > - Based on Leonardo Bras'

Re: [PATCH V11 00/17] riscv: Add Native/Paravirt qspinlock support

2023-09-10 Thread Guo Ren
; A stronger forward progress guarantee is not an erratum, AFAICT. Sorry, there is no erratum of "stronger forward progress guarantee" in the V11. > > > - Introduce prefetch.w to improve T-HEAD processors' LR/SC forward progress > >guarantee. > > - Optimize qspinlock xchg_tail when NR_CPUS >= 16K. -- Best Regards Guo Ren