Re: [RFC PATCH] blk-mq: move timeout handling from queue to tagset

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

 



On Wed, 2018-07-18 at 11:45 -0600, Keith Busch wrote:
+AD4- On Wed, Jul 18, 2018 at 05:18:45PM +-0000, Bart Van Assche wrote:
+AD4- +AD4- On Wed, 2018-07-18 at 11:00 -0600, Keith Busch wrote:
+AD4- +AD4- +AD4- -	cancel+AF8-work+AF8-sync(+ACY-q-+AD4-timeout+AF8-work)+ADs-
+AD4- +AD4- +AD4- -
+AD4- +AD4- +AD4-  	if (q-+AD4-mq+AF8-ops) +AHs-
+AD4- +AD4- +AD4-  		struct blk+AF8-mq+AF8-hw+AF8-ctx +ACo-hctx+ADs-
+AD4- +AD4- +AD4-  		int i+ADs-
+AD4- +AD4- +AD4- +AEAAQA- -415,6 +-412,8 +AEAAQA- void blk+AF8-sync+AF8-queue(struct request+AF8-queue +ACo-q)
+AD4- +AD4- +AD4-  		queue+AF8-for+AF8-each+AF8-hw+AF8-ctx(q, hctx, i)
+AD4- +AD4- +AD4-  			cancel+AF8-delayed+AF8-work+AF8-sync(+ACY-hctx-+AD4-run+AF8-work)+ADs-
+AD4- +AD4- +AD4-  	+AH0- else +AHs-
+AD4- +AD4- +AD4- +-		del+AF8-timer+AF8-sync(+ACY-q-+AD4-timeout)+ADs-
+AD4- +AD4- +AD4- +-		cancel+AF8-work+AF8-sync(+ACY-q-+AD4-timeout+AF8-work)+ADs-
+AD4- +AD4- +AD4-  		cancel+AF8-delayed+AF8-work+AF8-sync(+ACY-q-+AD4-delay+AF8-work)+ADs-
+AD4- +AD4- +AD4-  	+AH0-
+AD4- +AD4- +AD4-  +AH0-
+AD4- +AD4- 
+AD4- +AD4- What is the impact of this change on the md driver, which is the only driver
+AD4- +AD4- that calls blk+AF8-sync+AF8-queue() directly? What will happen if timeout processing
+AD4- +AD4- happens concurrently with or after blk+AF8-sync+AF8-queue() has returned?
+AD4- 
+AD4- That's a make+AF8-request+AF8-fn stacking driver, right? There should be
+AD4- no impact in that case, since the change above affects only mq.
+AD4- 
+AD4- I'm actually a little puzzled why md calls blk+AF8-sync+AF8-queue. Are the
+AD4- queue timers ever used for bio-based drivers?

Hello Keith,

For all md drivers that I verified calling md+AF8-make+AF8-request() triggers one or
more generic+AF8-make+AF8-request() calls for the underlying devices. So it's not
clear to me why the md driver calls blk+AF8-sync+AF8-queue().

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