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


Groups > linux.kernel > #1345624

Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete

From Mika Westerberg <mika.westerberg@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete
Date 2016-02-29 11:20 +0100
Message-ID <r7t5M-1ES-19@gated-at.bofh.it> (permalink)
References (1 earlier) <r5RYC-44j-9@gated-at.bofh.it> <r6Hu9-81Q-1@gated-at.bofh.it> <r6Igy-7Y-3@gated-at.bofh.it> <r6IzU-ep-3@gated-at.bofh.it> <r6J2W-F3-9@gated-at.bofh.it>
Organization Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

Show all headers | View raw


On Sat, Feb 27, 2016 at 01:07:06AM -0800, dbasehore . wrote:
> That's an interesting question. Part of direct complete is to leave
> the device runtime suspended even after the system resumes if
> possible. The comments in pm_complete_with_resume_check indicate that
> the firmware may resume a device. I could see this happening with some
> kind of SCSI device.
> 
> If this is possible, are we able to put the device back into a
> consistent state (runtime suspended) by calling suspend for the scsi
> device? If not, we might need to use pm_complete_with_resume_check for
> the complete callback.

To me the latter option sounds safer.

I tried this series (as I'm interested in AHCI host controller runtime
PM) and noticed possible issue.

I have following two additional patches from linux-next applied to get
system resume working (otherwise resume is never finished):

  d07ab6d11477 block: Add blk_set_runtime_active()
  356fd2663cff scsi: Set request queue runtime PM status back to active on resume

Then I do this:

  # echo auto > /sys/block/sda/device/power/control
  # echo 5000 > /sys/block/sda/device/power/autosuspend_delay_ms

  # echo auto > /sys/bus/pci/devices/0000\:00\:12.0/ata1/power/control

The last line unblocks runtime PM from the parent device.

After 5 seconds of idle I see that the disk gets runtime suspended:

  [  566.858971] sd 0:0:0:0: [sda] Synchronizing SCSI cache
  [  567.049288] sd 0:0:0:0: [sda] Stopping disk

Now suspend the machine:

  # rtcwake -s10 -mmem

Once the system resumes I get this:

  [  668.879149] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
  [  668.927319] ata1.00: configured for UDMA/133
  [  669.392246] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
  [  669.440427] ata1.00: configured for UDMA/133
  [  669.445352] sd 0:0:0:0: [sda] Starting disk
  [  669.464647] sda: detected capacity change from 0 to 240057409536
  [  669.482596] sda: detected capacity change from 0 to 240057409536

It looks like we get resumed two times. If I have this patch reverted I
can see it happening only once. Also with the patch applied and if the
parent device has runtime PM blocked, it happens only once.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 1/3] PM / sleep: Check legacy pm callbacks for direct complete Derek Basehore <dbasehore@chromium.org> - 2016-02-25 01:30 +0100
  [PATCH v2 3/3] scsi: allow scsi devices to use direct complete Derek Basehore <dbasehore@chromium.org> - 2016-02-25 01:30 +0100
    Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-02-27 08:30 +0100
      Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete "dbasehore ." <dbasehore@chromium.org> - 2016-02-27 09:20 +0100
        Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-02-27 09:40 +0100
          Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete "dbasehore ." <dbasehore@chromium.org> - 2016-02-27 10:10 +0100
            Re: [PATCH v2 3/3] scsi: allow scsi devices to use direct complete Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-02-29 11:20 +0100
  [PATCH v2 2/3] PM / sleep: try to runtime suspend for direct complete Derek Basehore <dbasehore@chromium.org> - 2016-02-25 01:30 +0100
    Re: [PATCH v2 2/3] PM / sleep: try to runtime suspend for direct complete "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-02-28 02:30 +0100
      Re: [PATCH v2 2/3] PM / sleep: try to runtime suspend for direct complete "dbasehore ." <dbasehore@chromium.org> - 2016-03-01 22:50 +0100

csiph-web