[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20061207083558.a25ebc19.akpm@osdl.org>
Date: Thu, 7 Dec 2006 08:35:58 -0800
From: Andrew Morton <akpm@...l.org>
To: David Howells <dhowells@...hat.com>
Cc: David Miller <davem@...emloft.net>, viro@...iv.linux.org.uk,
linux-kernel@...r.kernel.org
Subject: Re: cmpxchg() in kernel/workqueue.c breaks things
On Thu, 07 Dec 2006 11:46:24 +0000
David Howells <dhowells@...hat.com> wrote:
> Andrew Morton <akpm@...l.org> wrote:
>
> > I don't see why the 2.6.19 logic needed changing.
> >
> > a) Nobody should be freeing the work_struct itself without running
> > flush_scheduled_work() and
> >
> > b) even if the work_struct _did_ get freed, the callback function won't
> > care, because there's nothing in that work_struct which it's interested
> > in.
>
> Erm... Did you mean that in reply to my suggestion that we don't need to use
> cmpxchg()?
I was referring to the core logic change in run-workqueue():
if (!test_bit(WORK_STRUCT_NOAUTOREL, &work->management))
work_release(work);
f(work);
-
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