Re: linux-next oops in __lock_acquire for process_one_work

From: Peter Zijlstra
Date: Tue May 08 2012 - 13:03:02 EST


On Tue, 2012-05-08 at 09:58 -0700, 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?
>
> > @@ -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)?

Sure why not.. still not quite understanding the whole issue though.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/