Re: [RFC PATCH 13/14] block: simplify runtime PM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2018-08-08 at 01:44 +-0800, Ming Lei wrote:
+AD4- +AEAAQA- -3772,6 +-3764,7 +AEAAQA- int blk+AF8-pre+AF8-runtime+AF8-suspend(struct request+AF8-queue +ACo-q)
+AD4-         if (+ACE-q-+AD4-dev)
+AD4-                 return ret+ADs-
+AD4-  
+AD4- +-       mutex+AF8-lock(+ACY-q-+AD4-pm+AF8-lock)+ADs-
+AD4-         spin+AF8-lock+AF8-irq(q-+AD4-queue+AF8-lock)+ADs-
+AD4-         if (q-+AD4-nr+AF8-pending) +AHs-
+AD4-                 ret +AD0- -EBUSY+ADs-
+AD4- +AEAAQA- -3780,6 +-3773,13 +AEAAQA- int blk+AF8-pre+AF8-runtime+AF8-suspend(struct request+AF8-queue +ACo-q)
+AD4-                 q-+AD4-rpm+AF8-status +AD0- RPM+AF8-SUSPENDING+ADs-
+AD4-         +AH0-

Hello Ming,

As far as I can see none of the patches in this series adds a call to
blk+AF8-pm+AF8-add+AF8-request() in the blk-mq code. Does that mean that q-+AD4-nr+AF8-pending
will always be zero for blk-mq code with your approach and hence that runtime
suspend can get triggered while I/O is in progress, e.g. if blk+AF8-queue+AF8-enter()
is called concurrently with blk+AF8-pre+AF8-runtime+AF8-suspend()?

Thanks,

Bart.





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux