* Re: [Xen-devel] [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
@ 2016-06-01 14:53 ` David Vrabel
2016-06-01 14:53 ` David Vrabel
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: David Vrabel @ 2016-06-01 14:53 UTC (permalink / raw)
To: Bhaktipriya Shridhar, Boris Ostrovsky, David Vrabel,
Juergen Gross, Konrad Rzeszutek Wilk, Jan Beulich,
Stefano Stabellini, Paul Gortmaker, Doug Goldstein
Cc: Tejun Heo, xen-devel, linux-kernel
On 01/06/16 15:15, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
>
> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
> ---
> Changes in v2:
> -Changed cancel_work_sync to flush_work
> -Changed commit description
>
> Feedback to update a comment was received in v1 from David Vrabel. It has not
> be included in v2 since some clarification was required. Will include it in
> v3 once the details about the content and the placement of the comment are
> received.
The comment needed updating iff this continued to use cancel_work_sync()
but since it's using flush_work() the comment is fine.
David
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
2016-06-01 14:53 ` [Xen-devel] " David Vrabel
@ 2016-06-01 14:53 ` David Vrabel
2016-06-01 15:45 ` Tejun Heo
` (3 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: David Vrabel @ 2016-06-01 14:53 UTC (permalink / raw)
To: Bhaktipriya Shridhar, Boris Ostrovsky, David Vrabel,
Juergen Gross, Konrad Rzeszutek Wilk, Jan Beulich,
Stefano Stabellini, Paul Gortmaker, Doug Goldstein
Cc: Tejun Heo, xen-devel, linux-kernel
On 01/06/16 15:15, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
>
> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
> ---
> Changes in v2:
> -Changed cancel_work_sync to flush_work
> -Changed commit description
>
> Feedback to update a comment was received in v1 from David Vrabel. It has not
> be included in v2 since some clarification was required. Will include it in
> v3 once the details about the content and the placement of the comment are
> received.
The comment needed updating iff this continued to use cancel_work_sync()
but since it's using flush_work() the comment is fine.
David
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
2016-06-01 14:53 ` [Xen-devel] " David Vrabel
2016-06-01 14:53 ` David Vrabel
@ 2016-06-01 15:45 ` Tejun Heo
2016-06-01 15:45 ` Tejun Heo
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Tejun Heo @ 2016-06-01 15:45 UTC (permalink / raw)
To: Bhaktipriya Shridhar
Cc: Juergen Gross, Stefano Stabellini, Doug Goldstein, linux-kernel,
Paul Gortmaker, David Vrabel, Jan Beulich, xen-devel,
Boris Ostrovsky
On Wed, Jun 01, 2016 at 07:45:08PM +0530, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
>
> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
--
tejun
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
` (2 preceding siblings ...)
2016-06-01 15:45 ` Tejun Heo
@ 2016-06-01 15:45 ` Tejun Heo
2016-06-28 16:46 ` Bhaktipriya Shridhar
2016-06-28 16:46 ` Bhaktipriya Shridhar
2016-06-29 12:49 ` [Xen-devel] " David Vrabel
2016-06-29 12:49 ` David Vrabel
5 siblings, 2 replies; 9+ messages in thread
From: Tejun Heo @ 2016-06-01 15:45 UTC (permalink / raw)
To: Bhaktipriya Shridhar
Cc: Boris Ostrovsky, David Vrabel, Juergen Gross,
Konrad Rzeszutek Wilk, Jan Beulich, Stefano Stabellini,
Paul Gortmaker, Doug Goldstein, xen-devel, linux-kernel
On Wed, Jun 01, 2016 at 07:45:08PM +0530, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
>
> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 15:45 ` Tejun Heo
@ 2016-06-28 16:46 ` Bhaktipriya Shridhar
2016-06-28 16:46 ` Bhaktipriya Shridhar
1 sibling, 0 replies; 9+ messages in thread
From: Bhaktipriya Shridhar @ 2016-06-28 16:46 UTC (permalink / raw)
To: Tejun Heo
Cc: Juergen Gross, Stefano Stabellini, Doug Goldstein,
Linux-Kernel@Vger. Kernel. Org, Paul Gortmaker, David Vrabel,
Jan Beulich, xen-devel, Boris Ostrovsky
Ping!
Thanks,
Bhaktipriya
On Wed, Jun 1, 2016 at 9:15 PM, Tejun Heo <tj@kernel.org> wrote:
> On Wed, Jun 01, 2016 at 07:45:08PM +0530, Bhaktipriya Shridhar wrote:
>> System workqueues have been able to handle high level of concurrency
>> for a long time now and there's no reason to use dedicated workqueues
>> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
>> use of system_wq.
>>
>> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
>> system_wq allows multiple work items to overlap executions even on
>> the same CPU; however, a per-cpu workqueue doesn't have any CPU
>> locality or global ordering guarantees unless the target CPU is
>> explicitly specified and thus the increase of local concurrency shouldn't
>> make any difference.
>>
>> Since the work items could be pending, flush_work() has been used in
>> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
>> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
>> there is no pending task while disconnecting the driver.
>>
>> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
>
> Acked-by: Tejun Heo <tj@kernel.org>
>
> Thanks.
>
> --
> tejun
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 15:45 ` Tejun Heo
2016-06-28 16:46 ` Bhaktipriya Shridhar
@ 2016-06-28 16:46 ` Bhaktipriya Shridhar
1 sibling, 0 replies; 9+ messages in thread
From: Bhaktipriya Shridhar @ 2016-06-28 16:46 UTC (permalink / raw)
To: Tejun Heo
Cc: Boris Ostrovsky, David Vrabel, Juergen Gross,
Konrad Rzeszutek Wilk, Jan Beulich, Stefano Stabellini,
Paul Gortmaker, Doug Goldstein, xen-devel,
Linux-Kernel@Vger. Kernel. Org
Ping!
Thanks,
Bhaktipriya
On Wed, Jun 1, 2016 at 9:15 PM, Tejun Heo <tj@kernel.org> wrote:
> On Wed, Jun 01, 2016 at 07:45:08PM +0530, Bhaktipriya Shridhar wrote:
>> System workqueues have been able to handle high level of concurrency
>> for a long time now and there's no reason to use dedicated workqueues
>> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
>> use of system_wq.
>>
>> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
>> system_wq allows multiple work items to overlap executions even on
>> the same CPU; however, a per-cpu workqueue doesn't have any CPU
>> locality or global ordering guarantees unless the target CPU is
>> explicitly specified and thus the increase of local concurrency shouldn't
>> make any difference.
>>
>> Since the work items could be pending, flush_work() has been used in
>> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
>> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
>> there is no pending task while disconnecting the driver.
>>
>> Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
>
> Acked-by: Tejun Heo <tj@kernel.org>
>
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Xen-devel] [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
` (3 preceding siblings ...)
2016-06-01 15:45 ` Tejun Heo
@ 2016-06-29 12:49 ` David Vrabel
2016-06-29 12:49 ` David Vrabel
5 siblings, 0 replies; 9+ messages in thread
From: David Vrabel @ 2016-06-29 12:49 UTC (permalink / raw)
To: Bhaktipriya Shridhar, Boris Ostrovsky, David Vrabel,
Juergen Gross, Konrad Rzeszutek Wilk, Jan Beulich,
Stefano Stabellini, Paul Gortmaker, Doug Goldstein
Cc: Tejun Heo, xen-devel, linux-kernel
On 01/06/16 15:15, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
Applied to for-linus-4.8, thanks.
David
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2] xen: xen-pciback: Remove create_workqueue
2016-06-01 14:15 [PATCH v2] xen: xen-pciback: Remove create_workqueue Bhaktipriya Shridhar
` (4 preceding siblings ...)
2016-06-29 12:49 ` [Xen-devel] " David Vrabel
@ 2016-06-29 12:49 ` David Vrabel
5 siblings, 0 replies; 9+ messages in thread
From: David Vrabel @ 2016-06-29 12:49 UTC (permalink / raw)
To: Bhaktipriya Shridhar, Boris Ostrovsky, David Vrabel,
Juergen Gross, Konrad Rzeszutek Wilk, Jan Beulich,
Stefano Stabellini, Paul Gortmaker, Doug Goldstein
Cc: Tejun Heo, xen-devel, linux-kernel
On 01/06/16 15:15, Bhaktipriya Shridhar wrote:
> System workqueues have been able to handle high level of concurrency
> for a long time now and there's no reason to use dedicated workqueues
> just to gain concurrency. Replace dedicated xen_pcibk_wq with the
> use of system_wq.
>
> Unlike a dedicated per-cpu workqueue created with create_workqueue(),
> system_wq allows multiple work items to overlap executions even on
> the same CPU; however, a per-cpu workqueue doesn't have any CPU
> locality or global ordering guarantees unless the target CPU is
> explicitly specified and thus the increase of local concurrency shouldn't
> make any difference.
>
> Since the work items could be pending, flush_work() has been used in
> xen_pcibk_disconnect(). xen_pcibk_xenbus_remove() calls free_pdev()
> which in turn calls xen_pcibk_disconnect() for every pdev to ensure that
> there is no pending task while disconnecting the driver.
Applied to for-linus-4.8, thanks.
David
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 9+ messages in thread