On Fri, 2014-05-30 at 02:59 -0500, Caraman Mihai Claudiu-B02008 wrote: > > -----Original Message----- > > From: Linuxppc-dev [mailto:linuxppc-dev- > > bounces+mihai.caraman=freescale....@lists.ozlabs.org] On Behalf Of Scott > > Wood > > Sent: Friday, May 23, 2014 12:45 AM > > To: linuxppc-dev@lists.ozlabs.org > > Cc: Wood Scott-B07421 > > Subject: [PATCH 2/2] powerpc/e6500: hw tablewalk: fix recursive tlb lock > > on cpu 0 > > > > Commit 82d86de25b9c99db546e17c6f7ebf9a691da557e "TLB lock recursive" > > introduced a bug whereby cpu 0 uses the same value for "lock held" as > > is used to indicate that the lock is free. > > Isn't his what spin lock implementation solves by combines paca_index > with lock_token? Can't we have a common approach?
That would require expanding the lock to 32 bits, is a more intrusive fix than needed, and invites breakage in the TLB code if the lock_token mechanism were to change. > > Add one to the CPU value to ensure we do not use zero as a "lock held" > > value. > > The CPU value is loaded in r10 from tlb_miss_common_e6500. "TLB lock > recursive" > commit also introduced this misleading comment: > > We are entered with: > r10 = cpu number I addressed this in v2 that I posted yesterday. -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev