Re: [PATCH] locking/rwsem: Make owner store task pointer of last owning reader

From: Davidlohr Bueso
Date: Mon Sep 10 2018 - 13:16:00 EST


On Mon, 10 Sep 2018, Waiman Long wrote:

One major issue with a combined count/owner is that we may have to use
cmpxchg for reader lock which will certainly impact reader-heavy
workloads. I have also thought about ways to compress the task pointer
address so that it can use fewer bits and leave the rests for reader
count. It is probably doable on 64-bit systems, but likely not on 32-bit
system given that there are less bits to play around.

Yeah we've discussed this before. As a cleanup it would obviously be good,
but I fear about raw performance loss when using cmpxchg instead of xadd.

Thanks,
Davidlohr