On Wed, Feb 13, 2019 at 10:47:11AM -0500, Waiman Long wrote: > On 02/13/2019 04:19 AM, Peter Zijlstra wrote: > > On Tue, Feb 12, 2019 at 07:27:00PM -0500, Waiman Long wrote: > >> The content of kernel/locking/rwsem.h is now specific to rwsem-xadd only. > >> Rename it to rwsem-xadd.h to indicate that it is specific to rwsem-xadd > >> and include it only when CONFIG_RWSEM_XCHGADD_ALGORITHM is set. As a > >> result, > >> the CONFIG_RWSEM_XCHGADD_ALGORITHM conditional compilation directives can > >> be removed. There is no functional change. > > Since all of rwsem-xadd is now generic code; how about we delete the > > spinlock thing and keep everything rwsem ? > > > > We don't carry a special spinlock mutex implementation either. And > > arguably any arch that uses spinlock based atomics (afaict the only case > > where rwsem-spinlock makes any sense anyway) suck anyway. > > I don't mind removing the rwsem-spinlock code and have just one > implementation for all as long as there is no objection from others. I > don't know the history of why we have 2 implementations of rwsem and so > I didn't plan to do that.
It is from before my time too; but I think rwsem-spinlock is generic and didn't require arch asm helpers, where rwsem-xadd did, but we just fixed that :-)

