Re: [PATCH] net: pegasus: Remove deprecated create_singlethread_workqueue
From: Bhaktipriya ShridharDate: Tue, 30 Aug 2016 22:02:47 +0530 > The workqueue "pegasus_workqueue" queues a single work item per pegasus > instance and hence it doesn't require execution ordering. Hence, > alloc_workqueue has been used to replace the deprecated > create_singlethread_workqueue instance. > > The WQ_MEM_RECLAIM flag has been set to ensure forward progress under > memory pressure since it's a network driver. > > Since there are fixed number of work items, explicit concurrency > limit is unnecessary here. > > Signed-off-by: Bhaktipriya Shridhar Applied.
Re: [PATCH] net: pegasus: Remove deprecated create_singlethread_workqueue
On August 31, 2016 5:23:05 PM GMT+03:00, Tejun Heowrote: >On Tue, Aug 30, 2016 at 10:02:47PM +0530, Bhaktipriya Shridhar wrote: >> The workqueue "pegasus_workqueue" queues a single work item per >pegasus >> instance and hence it doesn't require execution ordering. Hence, >> alloc_workqueue has been used to replace the deprecated >> create_singlethread_workqueue instance. >> >> The WQ_MEM_RECLAIM flag has been set to ensure forward progress under >> memory pressure since it's a network driver. >> >> Since there are fixed number of work items, explicit concurrency >> limit is unnecessary here. >> >> Signed-off-by: Bhaktipriya Shridhar > >Acked-by: Tejun Heo > >Thanks. Acked-by: Petko Manolov cheers, Petko
Re: [PATCH] net: pegasus: Remove deprecated create_singlethread_workqueue
On Tue, Aug 30, 2016 at 10:02:47PM +0530, Bhaktipriya Shridhar wrote: > The workqueue "pegasus_workqueue" queues a single work item per pegasus > instance and hence it doesn't require execution ordering. Hence, > alloc_workqueue has been used to replace the deprecated > create_singlethread_workqueue instance. > > The WQ_MEM_RECLAIM flag has been set to ensure forward progress under > memory pressure since it's a network driver. > > Since there are fixed number of work items, explicit concurrency > limit is unnecessary here. > > Signed-off-by: Bhaktipriya ShridharAcked-by: Tejun Heo Thanks. -- tejun
Re: [PATCH] net: pegasus: Remove deprecated create_singlethread_workqueue
On 16-08-30 22:02:47, Bhaktipriya Shridhar wrote: > The workqueue "pegasus_workqueue" queues a single work item per pegasus > instance and hence it doesn't require execution ordering. Hence, > alloc_workqueue has been used to replace the deprecated > create_singlethread_workqueue instance. > > The WQ_MEM_RECLAIM flag has been set to ensure forward progress under > memory pressure since it's a network driver. > > Since there are fixed number of work items, explicit concurrency > limit is unnecessary here. > > Signed-off-by: Bhaktipriya Shridhar> --- > drivers/net/usb/pegasus.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c > index 9bbe0161..1434e5d 100644 > --- a/drivers/net/usb/pegasus.c > +++ b/drivers/net/usb/pegasus.c > @@ -1129,7 +1129,8 @@ static int pegasus_probe(struct usb_interface *intf, > return -ENODEV; > > if (pegasus_count == 0) { > - pegasus_workqueue = create_singlethread_workqueue("pegasus"); > + pegasus_workqueue = alloc_workqueue("pegasus", WQ_MEM_RECLAIM, > + 0); > if (!pegasus_workqueue) > return -ENOMEM; > } > -- > 2.1.4 Nope, there is no need for singlethread-ness here. As long as the flag you used is doing the right thing i am OK with the patch. Petko
[PATCH] net: pegasus: Remove deprecated create_singlethread_workqueue
The workqueue "pegasus_workqueue" queues a single work item per pegasus instance and hence it doesn't require execution ordering. Hence, alloc_workqueue has been used to replace the deprecated create_singlethread_workqueue instance. The WQ_MEM_RECLAIM flag has been set to ensure forward progress under memory pressure since it's a network driver. Since there are fixed number of work items, explicit concurrency limit is unnecessary here. Signed-off-by: Bhaktipriya Shridhar--- drivers/net/usb/pegasus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c index 9bbe0161..1434e5d 100644 --- a/drivers/net/usb/pegasus.c +++ b/drivers/net/usb/pegasus.c @@ -1129,7 +1129,8 @@ static int pegasus_probe(struct usb_interface *intf, return -ENODEV; if (pegasus_count == 0) { - pegasus_workqueue = create_singlethread_workqueue("pegasus"); + pegasus_workqueue = alloc_workqueue("pegasus", WQ_MEM_RECLAIM, + 0); if (!pegasus_workqueue) return -ENOMEM; } -- 2.1.4