* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-14 20:57 ` Bart Van Assche
0 siblings, 0 replies; 18+ messages in thread
From: Bart Van Assche @ 2020-11-14 20:57 UTC (permalink / raw)
To: Can Guo, asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn
Cc: Martin K. Petersen, James E.J. Bottomley, open list,
moderated list:ARM/Mediatek SoC support, Matthias Brugger,
Stanley Chu, moderated list:ARM/Mediatek SoC support
On 11/12/20 10:30 PM, Can Guo wrote:
> If block layer runtime PM is enabled for one SCSI device, then there is
> no need to forcibly change the SCSI device and its request queue's runtime
> PM status to active in scsi_dev_type_resume(), since block layer PM shall
> resume the SCSI device on the demand of bios.
Please change "along" into "alone" in the subject of this patch (if that
is what you meant).
> + if (scsi_is_sdev_device(dev)) {
> + struct scsi_device *sdev;
>
> + sdev = to_scsi_device(dev);
A minor comment: I think that "struct scsi_device *sdev =
to_scsi_device(dev);" fits on a single line.
> + * If block layer runtime PM is enabled for the SCSI device,
> + * let block layer PM handle its runtime PM routines.
Please change "its runtime PM routines" into "runtime resume" or
similar. I think that will make the comment more clear.
> + if (sdev->request_queue->dev)
> + return err;
> + }
The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
the above won't compile if CONFIG_PM=n. How about adding a function in
include/linux/blk-pm.h to check whether or not runtime PM has been enabled?
Otherwise this patch looks good to me.
Thanks,
Bart.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-14 20:57 ` Bart Van Assche
0 siblings, 0 replies; 18+ messages in thread
From: Bart Van Assche @ 2020-11-14 20:57 UTC (permalink / raw)
To: Can Guo, asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn
Cc: Stanley Chu, James E.J. Bottomley, Martin K. Petersen,
Matthias Brugger, open list,
moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support
On 11/12/20 10:30 PM, Can Guo wrote:
> If block layer runtime PM is enabled for one SCSI device, then there is
> no need to forcibly change the SCSI device and its request queue's runtime
> PM status to active in scsi_dev_type_resume(), since block layer PM shall
> resume the SCSI device on the demand of bios.
Please change "along" into "alone" in the subject of this patch (if that
is what you meant).
> + if (scsi_is_sdev_device(dev)) {
> + struct scsi_device *sdev;
>
> + sdev = to_scsi_device(dev);
A minor comment: I think that "struct scsi_device *sdev =
to_scsi_device(dev);" fits on a single line.
> + * If block layer runtime PM is enabled for the SCSI device,
> + * let block layer PM handle its runtime PM routines.
Please change "its runtime PM routines" into "runtime resume" or
similar. I think that will make the comment more clear.
> + if (sdev->request_queue->dev)
> + return err;
> + }
The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
the above won't compile if CONFIG_PM=n. How about adding a function in
include/linux/blk-pm.h to check whether or not runtime PM has been enabled?
Otherwise this patch looks good to me.
Thanks,
Bart.
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
2020-11-14 20:57 ` Bart Van Assche
(?)
@ 2020-11-16 1:19 ` Can Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:19 UTC (permalink / raw)
To: Bart Van Assche
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
Hi Bart,
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's gets resumed as well. Thus, the pm_runtime_set_active()
seems
redundant. What do you think?
Thanks,
Can Guo.
>
> Thanks,
>
> Bart.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-16 1:19 ` Can Guo
0 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:19 UTC (permalink / raw)
To: Bart Van Assche
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
Hi Bart,
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's gets resumed as well. Thus, the pm_runtime_set_active()
seems
redundant. What do you think?
Thanks,
Can Guo.
>
> Thanks,
>
> Bart.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-16 1:19 ` Can Guo
0 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:19 UTC (permalink / raw)
To: Bart Van Assche
Cc: asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn, Stanley Chu,
James E.J. Bottomley, Martin K. Petersen, Matthias Brugger,
open list, moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support
Hi Bart,
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's gets resumed as well. Thus, the pm_runtime_set_active()
seems
redundant. What do you think?
Thanks,
Can Guo.
>
> Thanks,
>
> Bart.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
2020-11-14 20:57 ` Bart Van Assche
(?)
@ 2020-11-16 1:42 ` Can Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:42 UTC (permalink / raw)
To: Bart Van Assche
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
Hi Bart,
Resent, typo fixed.
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
>
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's parent (and its parent's parent and so on)gets resumed as
well.
Thus, the pm_runtime_set_active() seems redundant. What do you think?
Thanks,
Can Guo.
> Thanks,
>
> Bart.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-16 1:42 ` Can Guo
0 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:42 UTC (permalink / raw)
To: Bart Van Assche
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
Hi Bart,
Resent, typo fixed.
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
>
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's parent (and its parent's parent and so on)gets resumed as
well.
Thus, the pm_runtime_set_active() seems redundant. What do you think?
Thanks,
Can Guo.
> Thanks,
>
> Bart.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-16 1:42 ` Can Guo
0 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-16 1:42 UTC (permalink / raw)
To: Bart Van Assche
Cc: asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn, Stanley Chu,
James E.J. Bottomley, Martin K. Petersen, Matthias Brugger,
open list, moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support
Hi Bart,
Resent, typo fixed.
On 2020-11-15 04:57, Bart Van Assche wrote:
> On 11/12/20 10:30 PM, Can Guo wrote:
>> If block layer runtime PM is enabled for one SCSI device, then there
>> is
>> no need to forcibly change the SCSI device and its request queue's
>> runtime
>> PM status to active in scsi_dev_type_resume(), since block layer PM
>> shall
>> resume the SCSI device on the demand of bios.
>
> Please change "along" into "alone" in the subject of this patch (if
> that
> is what you meant).
>
Aha, sorry, a typo here.
>> + if (scsi_is_sdev_device(dev)) {
>> + struct scsi_device *sdev;
>>
>> + sdev = to_scsi_device(dev);
>
> A minor comment: I think that "struct scsi_device *sdev =
> to_scsi_device(dev);" fits on a single line.
>
Sure.
>> + * If block layer runtime PM is enabled for the SCSI device,
>> + * let block layer PM handle its runtime PM routines.
>
> Please change "its runtime PM routines" into "runtime resume" or
> similar. I think that will make the comment more clear.
>
Yes, thanks.
>> + if (sdev->request_queue->dev)
>> + return err;
>> + }
>
> The 'dev' member only exists in struct request_queue if CONFIG_PM=y so
> the above won't compile if CONFIG_PM=n. How about adding a function in
> include/linux/blk-pm.h to check whether or not runtime PM has been
> enabled?
>
You are right.
> Otherwise this patch looks good to me.
>
Actually, I am thinking about removing all the pm_runtime_set_active()
codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
don't need to forcibly set the runtime PM status to RPM_ACTIVE for
either
SCSI host/target or SCSI devices.
Whenever we access one SCSI device, either block layer or somewhere in
the path (e.g. throgh sg IOCTL, sg_open() calls
scsi_autopm_get_device())
should runtime resume the device first, and the runtime PM framework
makes
sure device's parent (and its parent's parent and so on)gets resumed as
well.
Thus, the pm_runtime_set_active() seems redundant. What do you think?
Thanks,
Can Guo.
> Thanks,
>
> Bart.
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
2020-11-16 1:42 ` Can Guo
(?)
@ 2020-11-18 4:38 ` Bart Van Assche
-1 siblings, 0 replies; 18+ messages in thread
From: Bart Van Assche @ 2020-11-18 4:38 UTC (permalink / raw)
To: Can Guo
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
On 11/15/20 5:42 PM, Can Guo wrote:
> Actually, I am thinking about removing all the pm_runtime_set_active()
> codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
> don't need to forcibly set the runtime PM status to RPM_ACTIVE for either
> SCSI host/target or SCSI devices.
>
> Whenever we access one SCSI device, either block layer or somewhere in
> the path (e.g. throgh sg IOCTL, sg_open() calls scsi_autopm_get_device())
> should runtime resume the device first, and the runtime PM framework makes
> sure device's parent (and its parent's parent and so on)gets resumed as
> well.
> Thus, the pm_runtime_set_active() seems redundant. What do you think?
Hi Can,
It is not clear to me why the pm_runtime_set_active() calls occur in the
scsi_pm.c source file since the block layer automatically activates
block devices if necessary. Maybe these calls are a leftover from a time
when runtime suspended devices were not resumed automatically by the
block layer? Anyway, I'm fine with removing these calls.
Thanks,
Bart.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-18 4:38 ` Bart Van Assche
0 siblings, 0 replies; 18+ messages in thread
From: Bart Van Assche @ 2020-11-18 4:38 UTC (permalink / raw)
To: Can Guo
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
On 11/15/20 5:42 PM, Can Guo wrote:
> Actually, I am thinking about removing all the pm_runtime_set_active()
> codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
> don't need to forcibly set the runtime PM status to RPM_ACTIVE for either
> SCSI host/target or SCSI devices.
>
> Whenever we access one SCSI device, either block layer or somewhere in
> the path (e.g. throgh sg IOCTL, sg_open() calls scsi_autopm_get_device())
> should runtime resume the device first, and the runtime PM framework makes
> sure device's parent (and its parent's parent and so on)gets resumed as
> well.
> Thus, the pm_runtime_set_active() seems redundant. What do you think?
Hi Can,
It is not clear to me why the pm_runtime_set_active() calls occur in the
scsi_pm.c source file since the block layer automatically activates
block devices if necessary. Maybe these calls are a leftover from a time
when runtime suspended devices were not resumed automatically by the
block layer? Anyway, I'm fine with removing these calls.
Thanks,
Bart.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-18 4:38 ` Bart Van Assche
0 siblings, 0 replies; 18+ messages in thread
From: Bart Van Assche @ 2020-11-18 4:38 UTC (permalink / raw)
To: Can Guo
Cc: asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn, Stanley Chu,
James E.J. Bottomley, Martin K. Petersen, Matthias Brugger,
open list, moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support
On 11/15/20 5:42 PM, Can Guo wrote:
> Actually, I am thinking about removing all the pm_runtime_set_active()
> codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
> don't need to forcibly set the runtime PM status to RPM_ACTIVE for either
> SCSI host/target or SCSI devices.
>
> Whenever we access one SCSI device, either block layer or somewhere in
> the path (e.g. throgh sg IOCTL, sg_open() calls scsi_autopm_get_device())
> should runtime resume the device first, and the runtime PM framework makes
> sure device's parent (and its parent's parent and so on)gets resumed as
> well.
> Thus, the pm_runtime_set_active() seems redundant. What do you think?
Hi Can,
It is not clear to me why the pm_runtime_set_active() calls occur in the
scsi_pm.c source file since the block layer automatically activates
block devices if necessary. Maybe these calls are a leftover from a time
when runtime suspended devices were not resumed automatically by the
block layer? Anyway, I'm fine with removing these calls.
Thanks,
Bart.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
2020-11-18 4:38 ` Bart Van Assche
@ 2020-11-18 8:49 ` Can Guo
-1 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-18 8:49 UTC (permalink / raw)
To: Bart Van Assche
Cc: moderated list:ARM/Mediatek SoC support, rnayak, saravanak,
linux-scsi, open list, James E.J. Bottomley, nguyenb, ziqichen,
moderated list:ARM/Mediatek SoC support, salyzyn,
Martin K. Petersen, Matthias Brugger, Stanley Chu, kernel-team,
hongwus, asutoshd
Hi Bart,
On 2020-11-18 12:38, Bart Van Assche wrote:
> On 11/15/20 5:42 PM, Can Guo wrote:
>> Actually, I am thinking about removing all the pm_runtime_set_active()
>> codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
>> don't need to forcibly set the runtime PM status to RPM_ACTIVE for
>> either
>> SCSI host/target or SCSI devices.
>>
>> Whenever we access one SCSI device, either block layer or somewhere in
>> the path (e.g. throgh sg IOCTL, sg_open() calls
>> scsi_autopm_get_device())
>> should runtime resume the device first, and the runtime PM framework
>> makes
>> sure device's parent (and its parent's parent and so on)gets resumed
>> as
>> well.
>> Thus, the pm_runtime_set_active() seems redundant. What do you think?
>
> Hi Can,
>
> It is not clear to me why the pm_runtime_set_active() calls occur in
> the
> scsi_pm.c source file since the block layer automatically activates
> block devices if necessary. Maybe these calls are a leftover from a
> time
> when runtime suspended devices were not resumed automatically by the
> block layer? Anyway, I'm fine with removing these calls.
>
> Thanks,
>
> Bart.
Yes, I agree with you. Let me test the new patch (which removes all the
pm_runtime_set_active() calls) first, if no issue found, I will upload
it for review.
Thanks,
Can Guo.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFC v1 1/1] scsi: pm: Leave runtime resume along if block layer PM is enabled
@ 2020-11-18 8:49 ` Can Guo
0 siblings, 0 replies; 18+ messages in thread
From: Can Guo @ 2020-11-18 8:49 UTC (permalink / raw)
To: Bart Van Assche
Cc: asutoshd, nguyenb, hongwus, ziqichen, rnayak, linux-scsi,
kernel-team, saravanak, salyzyn, Stanley Chu,
James E.J. Bottomley, Martin K. Petersen, Matthias Brugger,
open list, moderated list:ARM/Mediatek SoC support,
moderated list:ARM/Mediatek SoC support
Hi Bart,
On 2020-11-18 12:38, Bart Van Assche wrote:
> On 11/15/20 5:42 PM, Can Guo wrote:
>> Actually, I am thinking about removing all the pm_runtime_set_active()
>> codes in both scsi_bus_resume_common() and scsi_dev_type_resume() - we
>> don't need to forcibly set the runtime PM status to RPM_ACTIVE for
>> either
>> SCSI host/target or SCSI devices.
>>
>> Whenever we access one SCSI device, either block layer or somewhere in
>> the path (e.g. throgh sg IOCTL, sg_open() calls
>> scsi_autopm_get_device())
>> should runtime resume the device first, and the runtime PM framework
>> makes
>> sure device's parent (and its parent's parent and so on)gets resumed
>> as
>> well.
>> Thus, the pm_runtime_set_active() seems redundant. What do you think?
>
> Hi Can,
>
> It is not clear to me why the pm_runtime_set_active() calls occur in
> the
> scsi_pm.c source file since the block layer automatically activates
> block devices if necessary. Maybe these calls are a leftover from a
> time
> when runtime suspended devices were not resumed automatically by the
> block layer? Anyway, I'm fine with removing these calls.
>
> Thanks,
>
> Bart.
Yes, I agree with you. Let me test the new patch (which removes all the
pm_runtime_set_active() calls) first, if no issue found, I will upload
it for review.
Thanks,
Can Guo.
^ permalink raw reply [flat|nested] 18+ messages in thread