[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181107202145.xvaq3pmqbzyekfan@ca-dmjordan1.us.oracle.com>
Date: Wed, 7 Nov 2018 12:21:45 -0800
From: Daniel Jordan <daniel.m.jordan@...cle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Jason Gunthorpe <jgg@...lanox.com>,
Daniel Jordan <daniel.m.jordan@...cle.com>,
"rjw@...ysocki.net" <rjw@...ysocki.net>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"aarcange@...hat.com" <aarcange@...hat.com>,
"aaron.lu@...el.com" <aaron.lu@...el.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"bsd@...hat.com" <bsd@...hat.com>,
"darrick.wong@...cle.com" <darrick.wong@...cle.com>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
"jwadams@...gle.com" <jwadams@...gle.com>,
"jiangshanlai@...il.com" <jiangshanlai@...il.com>,
"mhocko@...nel.org" <mhocko@...nel.org>,
"mike.kravetz@...cle.com" <mike.kravetz@...cle.com>,
"Pavel.Tatashin@...rosoft.com" <Pavel.Tatashin@...rosoft.com>,
"prasad.singamsetty@...cle.com" <prasad.singamsetty@...cle.com>,
"rdunlap@...radead.org" <rdunlap@...radead.org>,
"steven.sistare@...cle.com" <steven.sistare@...cle.com>,
"tim.c.chen@...el.com" <tim.c.chen@...el.com>,
"tj@...nel.org" <tj@...nel.org>, "vbabka@...e.cz" <vbabka@...e.cz>
Subject: Re: [RFC PATCH v4 01/13] ktask: add documentation
On Wed, Nov 07, 2018 at 11:27:52AM +0100, Peter Zijlstra wrote:
> On Tue, Nov 06, 2018 at 08:51:54PM +0000, Jason Gunthorpe wrote:
> > On Tue, Nov 06, 2018 at 12:34:11PM -0800, Daniel Jordan wrote:
> >
> > > > What isn't clear is if this calling thread is waiting or not. Only do
> > > > this inheritance trick if it is actually waiting on the work. If it is
> > > > not, nobody cares.
> > >
> > > The calling thread waits. Even if it didn't though, the inheritance trick
> > > would still be desirable for timely completion of the job.
> >
> > Can you make lockdep aware that this is synchronous?
> >
> > ie if I do
> >
> > mutex_lock()
> > ktask_run()
> > mutex_lock()
> >
> > Can lockdep know that all the workers are running under that lock?
> >
> > I'm thinking particularly about rtnl_lock as a possible case, but
> > there could also make some sense to hold the read side of the mm_sem
> > or similar like the above.
>
> Yes, the normal trick is adding a fake lock to ktask_run and holding
> that over the actual job. See lock_map* in flush_workqueue() vs
> process_one_work().
I'll add that for the next version.
Powered by blists - more mailing lists