[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.00.1205081106160.4071@eggly.anvils>
Date: Tue, 8 May 2012 11:11:48 -0700 (PDT)
From: Hugh Dickins <hughd@...gle.com>
To: Tejun Heo <tj@...nel.org>
cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Stephen Boyd <sboyd@...eaurora.org>,
Yong Zhang <yong.zhang0@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: linux-next oops in __lock_acquire for process_one_work
On Tue, 8 May 2012, Tejun Heo wrote:
> On Tue, May 08, 2012 at 03:03:22PM +0200, Peter Zijlstra wrote:
> > I think there's a problem if indeed we do silly things like small copies
> > like Hugh saw (why would gcc ever generate small copies for objects that
> > are naturally aligned and naturally sized?).
> >
> > Something like the below should fix that problem, but it doesn't explain
> > the observed issue..
>
> Hmmm.... Hugh, can you please verify whether this patch makes the
> problem go away somehow?
Sure, but I won't start the run until tonight, and it'll then take
a couple of days for us to be sure (sometimes it hit within the
hour, sometimes it would take half a day).
Certainly the principle, cleaning out the cache, looked sound.
>
> > @@ -1810,7 +1810,7 @@ __acquires(&gcwq->lock)
> > * lock freed" warnings as well as problems when looking into
> > * work->lockdep_map, make a copy and use that here.
> > */
> > - struct lockdep_map lockdep_map = work->lockdep_map;
> > + struct lockdep_map lockdep_map = lockdep_copy_map(&work->lockdep_map);
>
> If this is the correct fix for whatever reason, maybe we want the copy
> interface to be a bit more conventional? lockdep_copy_map(to, from)?
Please send me the version of patch you'd like to put in
(lest I make it up myself and you don't like the result).
Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists