> -----Original Message----- > From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel- > owner@xxxxxxxxxxxxxxx] On Behalf Of Sebastian Andrzej Siewior > Sent: Monday, March 18, 2019 19:40 > To: Liu, Yongxin > Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-rt-users@xxxxxxxxxxxxxxx; > tglx@xxxxxxxxxxxxx; rostedt@xxxxxxxxxxx; dan.j.williams@xxxxxxxxx; > pagupta@xxxxxxxxxx; Gortmaker, Paul; linux-nvdimm@xxxxxxxxxxxx > Subject: Re: [PATCH RT] nvdimm: make lane acquirement RT aware > > On 2019-03-18 01:41:10 [+0000], Liu, Yongxin wrote: > > > > Consider the recursive call to nd_region_acquire_lane() in the > following situation. > > Will there be a dead lock? > > > > > > Thread A Thread B > > | | > > | | > > CPU 1 CPU 2 > > | | > > | | > > get lock for Lane 1 get lock for Lane 2 > > | | > > | | > > migrate to CPU 2 migrate to CPU 1 > > | | > > | | > > wait lock for Lane 2 wait lock for Lane 1 > > | | > > | | > > _____________________________ > > | > > dead lock ? > > Bummer. That would dead lock indeed. > Is it easily possible to recognize the recursive case? Not easily. I don't have test case for recursive call. For now, just code analysis. Yongxin > > > > Thanks, > > Yognxin > > Sebastian