All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Christoph Lameter <cl@linux.com>,
	Kevin Hilman <khilman@linaro.org>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Mike Galbraith <bitbucket@online.de>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: Re: [PATCH 3/4] workqueue: Allow modifying low level unbound workqueue cpumask
Date: Thu, 1 May 2014 16:49:10 +0200	[thread overview]
Message-ID: <20140501144908.GB25369@localhost.localdomain> (raw)
In-Reply-To: <20140424153048.GE14460@htj.dyndns.org>

On Thu, Apr 24, 2014 at 11:30:48AM -0400, Tejun Heo wrote:
> On Thu, Apr 24, 2014 at 04:37:35PM +0200, Frederic Weisbecker wrote:
> > +static int apply_workqueue_attrs_locked(struct workqueue_struct *wq,
> > +					const struct workqueue_attrs *attrs);
> 
> Can't we reorder things so that we don't need the above prototype?

Yeah I'll give it a try.

> 
> > +/* Must be called with wq_unbound_mutex held */
> 
> Please use lockdep_assert_held() instead.

Ok.

> 
> > +static int unbounds_cpumask_apply_all(cpumask_var_t cpumask)
> > +{
> > +	struct workqueue_struct *wq;
> > +
> > +	list_for_each_entry(wq, &workqueues, list) {
> > +		struct workqueue_attrs *attrs;
> > +
> > +		if (!(wq->flags & WQ_UNBOUND))
> > +			continue;
> > +		/* Ordered workqueues need specific treatment */
> > +		if (wq->flags & __WQ_ORDERED)
> > +			continue;
> > +
> > +		attrs = wq_sysfs_prep_attrs(wq);
> > +		if (!attrs)
> > +			return -ENOMEM;
> 
> So, we're failing in the middle without rolling back?

Yeah, early patch :)

> 
> > +
> > +		WARN_ON_ONCE(apply_workqueue_attrs_locked(wq, attrs));
> 
> Are we triggering WARN on -ENOMEM too and then ignore the failure?

Yeah some more thought is needed on error handling.

> 
> > +		free_workqueue_attrs(attrs);
> > +	}
> > +
> > +	return 0;
> > +}
> 
> Shouldn't we separate allocation stage from switching stage so that we
> can either succeed or fail?  The above is very mushy about error
> handling.

They are already pretty seperate above. But yeah I need to rework the error
handling.

Thanks.

  reply	other threads:[~2014-05-01 14:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 14:37 [RFC PATCH 0/4] workqueue: Introduce low-level unbound wq sysfs cpumask Frederic Weisbecker
2014-04-24 14:37 ` [PATCH 1/4] workqueue: Create low-level unbound workqueues cpumask Frederic Weisbecker
2014-04-24 15:37   ` Tejun Heo
2014-05-01 15:01     ` Frederic Weisbecker
2014-05-01 15:02       ` Tejun Heo
2014-05-01 15:09         ` Frederic Weisbecker
2014-05-01 15:13           ` Tejun Heo
2014-04-24 22:42   ` Kevin Hilman
2014-04-24 14:37 ` [PATCH 2/4] workqueue: Split apply attrs code from its locking Frederic Weisbecker
2014-04-24 14:48   ` Tejun Heo
2014-05-01 14:40     ` Frederic Weisbecker
2014-05-01 14:41       ` Tejun Heo
2014-04-24 14:37 ` [PATCH 3/4] workqueue: Allow modifying low level unbound workqueue cpumask Frederic Weisbecker
2014-04-24 15:30   ` Tejun Heo
2014-05-01 14:49     ` Frederic Weisbecker [this message]
2014-04-24 14:37 ` [PATCH 4/4] workqueue: Handle ordered workqueues on cpumask_unbounds change Frederic Weisbecker
2014-04-24 15:33   ` Tejun Heo
2014-05-01 14:51     ` Frederic Weisbecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140501144908.GB25369@localhost.localdomain \
    --to=fweisbec@gmail.com \
    --cc=bitbucket@online.de \
    --cc=cl@linux.com \
    --cc=khilman@linaro.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=tj@kernel.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.