RE: [PATCH RT] nvdimm: make lane acquirement RT aware

From: Liu, Yongxin
Date: Mon Mar 18 2019 - 07:49:19 EST



> -----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