[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0BA3FCBA62E2DC44AF3030971E174FB32EA7CBB1@hasmsx107.ger.corp.intel.com>
Date: Thu, 17 Mar 2016 13:48:36 +0000
From: "Grumbach, Emmanuel" <emmanuel.grumbach@...el.com>
To: Tejun Heo <tj@...nel.org>,
Johannes Berg <johannes@...solutions.net>
CC: Eva Rachel Retuya <eraretuya@...il.com>,
"outreachy-kernel@...glegroups.com"
<outreachy-kernel@...glegroups.com>,
linuxwifi <linuxwifi@...el.com>,
"kvalo@...eaurora.org" <kvalo@...eaurora.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] iwlwifi: dvm: convert create_singlethread_workqueue()
to alloc_workqueue()
> Hello,
>
> On Thu, Mar 17, 2016 at 01:43:22PM +0100, Johannes Berg wrote:
> > On Thu, 2016-03-17 at 20:37 +0800, Eva Rachel Retuya wrote:
> > > Use alloc_workqueue() to allocate the workqueue instead of
> > > create_singlethread_workqueue() since the latter is deprecated and
> > > is scheduled for removal.
> >
> > Scheduled where?
>
> They've been deprecated for years now. I should note that in the header.
>
> > > static void iwl_setup_deferred_work(struct iwl_priv *priv)
> > > {
> > > - priv->workqueue = create_singlethread_workqueue(DRV_NAME);
> > > + priv->workqueue = alloc_workqueue(DRV_NAME, WQ_HIGHPRI |
> > > WQ_UNBOUND |
> > > + WQ_MEM_RECLAIM, 1);
> >
> > Seems like you should use alloc_ordered_workqueue() though? That also
> > gets you UNBOUND immediately, and the "1".
>
> Right, this one should have been alloc_ordered_workqueue().
>
> > I'm not really sure HIGHPRI is needed either.
>
> So, no WQ_MEM_RECLAIM either then, I suppose? What are the latency
> requirements here - what happens if a thermal management work gets
> delayed?
>
This worker is not supposed to free memory, so no WQ_MEM_RECLAIM needed. The latency is not critical.
Powered by blists - more mailing lists