On 1/21/24 03:08, Phillip Susi wrote: > Phillip Susi <phill@xxxxxxxxxxxx> writes: > >> I was trying to do this. I think the right place is in >> blkdev_issue_flush(), but apparently bdev->bd_device is not the same >> struct device that gets suspended. I can't seem to work out where the >> right struct device is to pass to pm_runtime_suspended() and skip the >> flush operation. > > I don't know what I was thinking yesterday. It can't rely on > pm_runtime_suspended() because it would continue to flush and reset the > suspend timer before it ever gets suspended. I wonder if it could use > the performance counters? Whenever a flush is done, and also when > suspending, store the value of the write counter, and only if it has > changed, issue the flush, otherwise skip it? See my reply to your previous comment. What you are trying to do is not the correct approach. -- Damien Le Moal Western Digital Research