From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Thu, 09 Sep 2010 15:59:26 +0100 Subject: [Cluster-devel] GFS2: Use new workqueue scheme (try #2) In-Reply-To: <4C88F3AA.3070201@kernel.org> References: <1284035767.2468.15.camel@localhost> <4C88DEB9.90600@kernel.org> <1284039908.2468.39.camel@localhost> <4C88E5BD.6070400@kernel.org> <1284043446.2468.50.camel@localhost> <4C88F3AA.3070201@kernel.org> Message-ID: <1284044366.2468.52.camel@localhost> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, On Thu, 2010-09-09 at 16:48 +0200, Tejun Heo wrote: > Hello, > > On 09/09/2010 04:44 PM, Steven Whitehouse wrote: > > Incidentally, this updated patch seems to run the postmark > > test even faster than the previous version :-) > > Ah, cool. :-) > > Just one more thing. > > > - gfs2_delete_workqueue = create_workqueue("delete_workqueue"); > > + gfs2_delete_workqueue = alloc_workqueue("delete_workqueue", WQ_RESCUER | > > + WQ_NON_REENTRANT | > > + WQ_FREEZEABLE, 0); > > The original create_workqueue() is (cross-CPU) reentrant, so adding > WQ_NON_REENTRANT there is adding one more restriction. Is this > intentional? > The original code relied upon the submission code to prevent this from happening. It seemed like a good idea to declare this explicitly, but again it is not actually required, as such. > > error = -ENOMEM; > > gfs_recovery_wq = alloc_workqueue("gfs_recovery", > > - WQ_NON_REENTRANT | WQ_RESCUER, 0); > > + WQ_NON_REENTRANT | WQ_RESCUER | > > + WQ_FREEZEABLE, 0); > > Looks like patch wasn't generated on a clean tree. The same question > too. If it worked fine w/ create_workqueue() before, you don't need > NON_REENTRANT. > > Thanks. > And the same here. The tree I'm using is my -nmw GFS2 tree since that is where I'd intended to queue the resulting patch, Steve.