Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1472843 > unrolled thread

[PATCH] s390: Remove deprecated create_singlethread_workqueue

Started byBhaktipriya Shridhar <bhaktipriya96@gmail.com>
First post2016-08-30 22:30 +0200
Last post2016-09-03 13:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] s390: Remove deprecated create_singlethread_workqueue Bhaktipriya Shridhar <bhaktipriya96@gmail.com> - 2016-08-30 22:30 +0200
    Re: [PATCH] s390: Remove deprecated create_singlethread_workqueue Tejun Heo <tj@kernel.org> - 2016-08-31 16:40 +0200
      Re: [PATCH] s390: Remove deprecated create_singlethread_workqueue Heiko Carstens <heiko.carstens@de.ibm.com> - 2016-09-03 13:00 +0200

#1472843 — [PATCH] s390: Remove deprecated create_singlethread_workqueue

FromBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Date2016-08-30 22:30 +0200
Subject[PATCH] s390: Remove deprecated create_singlethread_workqueue
Message-ID<sbXPr-1hr-17@gated-at.bofh.it>
The workqueue "appldata_wq" has been replaced with an ordered dedicated
workqueue.

WQ_MEM_RECLAIM has not been set since the workqueue is not being used on
a memory reclaim path.

The adapter->work_queue queues multiple work items viz
&adapter->scan_work, &port->rport_work, &adapter->ns_up_work,
&adapter->stat_work, adapter->work_queue, &adapter->events.work,
&port->gid_pn_work, &port->test_link_work. Hence, an ordered
dedicated workqueue has been used.

WQ_MEM_RECLAIM has been set to ensure forward progress under memory
pressure.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
---
 arch/s390/appldata/appldata_base.c | 2 +-
 drivers/s390/scsi/zfcp_aux.c       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index 15c9424..f587c48 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -542,7 +542,7 @@ static int __init appldata_init(void)
 		rc = PTR_ERR(appldata_pdev);
 		goto out_driver;
 	}
-	appldata_wq = create_singlethread_workqueue("appldata");
+	appldata_wq = alloc_ordered_workqueue("appldata", 0);
 	if (!appldata_wq) {
 		rc = -ENOMEM;
 		goto out_device;
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index c00ac46..bcc8f3d 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -310,7 +310,7 @@ static int zfcp_setup_adapter_work_queue(struct zfcp_adapter *adapter)

 	snprintf(name, sizeof(name), "zfcp_q_%s",
 		 dev_name(&adapter->ccw_device->dev));
-	adapter->work_queue = create_singlethread_workqueue(name);
+	adapter->work_queue = alloc_ordered_workqueue(name, WQ_MEM_RECLAIM);

 	if (adapter->work_queue)
 		return 0;
--
2.1.4

[toc] | [next] | [standalone]


#1473551

FromTejun Heo <tj@kernel.org>
Date2016-08-31 16:40 +0200
Message-ID<sceQi-3B0-27@gated-at.bofh.it>
In reply to#1472843
On Wed, Aug 31, 2016 at 01:57:20AM +0530, Bhaktipriya Shridhar wrote:
> The workqueue "appldata_wq" has been replaced with an ordered dedicated
> workqueue.
> 
> WQ_MEM_RECLAIM has not been set since the workqueue is not being used on
> a memory reclaim path.
> 
> The adapter->work_queue queues multiple work items viz
> &adapter->scan_work, &port->rport_work, &adapter->ns_up_work,
> &adapter->stat_work, adapter->work_queue, &adapter->events.work,
> &port->gid_pn_work, &port->test_link_work. Hence, an ordered
> dedicated workqueue has been used.
> 
> WQ_MEM_RECLAIM has been set to ensure forward progress under memory
> pressure.

I have no idea what these drivers do.  s390 folks, can you please shed
some light on whether these workqueues can be depended on during
memory reclaim?

Thanks.

-- 
tejun

[toc] | [prev] | [next] | [standalone]


#1475594

FromHeiko Carstens <heiko.carstens@de.ibm.com>
Date2016-09-03 13:00 +0200
Message-ID<sdgQ1-44Q-17@gated-at.bofh.it>
In reply to#1473551
On Wed, Aug 31, 2016 at 10:31:10AM -0400, Tejun Heo wrote:
> On Wed, Aug 31, 2016 at 01:57:20AM +0530, Bhaktipriya Shridhar wrote:
> > The workqueue "appldata_wq" has been replaced with an ordered dedicated
> > workqueue.
> > 
> > WQ_MEM_RECLAIM has not been set since the workqueue is not being used on
> > a memory reclaim path.
> > 
> > The adapter->work_queue queues multiple work items viz
> > &adapter->scan_work, &port->rport_work, &adapter->ns_up_work,
> > &adapter->stat_work, adapter->work_queue, &adapter->events.work,
> > &port->gid_pn_work, &port->test_link_work. Hence, an ordered
> > dedicated workqueue has been used.
> > 
> > WQ_MEM_RECLAIM has been set to ensure forward progress under memory
> > pressure.
> 
> I have no idea what these drivers do.  s390 folks, can you please shed
> some light on whether these workqueues can be depended on during
> memory reclaim?

The appldata device driver is only needed to gather statistical data and
therefore my wait when memory reclaim is in progress.

The zfcp device drivers is a SCSI-over-FC device driver and hence we depend
on it during memory reclaim. So setting WQ_MEM_RECLAIM is the right thing
to do here.

The patch looks ok, and I applied it.

Thanks!

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web