On 7/24/20 4:16 AM, Will Deacon wrote:
On Thu, Jul 23, 2020 at 08:47:59PM +0200, peterz@xxxxxxxxxxxxx wrote:
On Thu, Jul 23, 2020 at 02:32:36PM -0400, Waiman Long wrote:I can see it potentially being useful for debugging, but I hate the
BTW, do you have any comment on my v2 lock holder cpu info qspinlock patch?I want to say I hate it all, it adds instructions to a path we spend an
I will have to update the patch to fix the reported 0-day test problem, but
I want to collect other feedback before sending out v3.
aweful lot of time optimizing without really getting anything back for
it.
Will, how do you feel about it?
limitation to 256 CPUs. Even arm64 is hitting that now.
After thinking more about that, I think we can use all the remaining bits in the 16-bit locked_pending. Reserving 1 bit for locked and 1 bit for pending, there are 14 bits left. So as long as NR_CPUS < 16k (requirement for 16-bit locked_pending), we can put all possible cpu numbers into the lock. We can also just use smp_processor_id() without additional percpu data.