Re: [PATCH 09/14] blk-mq: ensure that plug lists don't straddle hardware queues

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

 



On Mon, 2018-10-29 at 10:37 -0600, Jens Axboe wrote:
+AD4  void blk+AF8-mq+AF8-flush+AF8-plug+AF8-list(struct blk+AF8-plug +ACo-plug, bool from+AF8-schedule)
+AD4  +AHs
+AD4  	struct blk+AF8-mq+AF8-ctx +ACo-this+AF8-ctx+ADs
+AD4 +AEAAQA -1628,7 +-1649,7 +AEAAQA void blk+AF8-mq+AF8-flush+AF8-plug+AF8-list(struct blk+AF8-plug +ACo-plug, bool from+AF8-schedule)
+AD4  	struct request +ACo-rq+ADs
+AD4  	LIST+AF8-HEAD(list)+ADs
+AD4  	LIST+AF8-HEAD(ctx+AF8-list)+ADs
+AD4 -	unsigned int depth+ADs
+AD4 +-	unsigned int depth, this+AF8-flags+ADs
+AD4  
+AD4  	list+AF8-splice+AF8-init(+ACY-plug-+AD4-mq+AF8-list, +ACY-list)+ADs
+AD4  
+AD4 +AEAAQA -1636,13 +-1657,14 +AEAAQA void blk+AF8-mq+AF8-flush+AF8-plug+AF8-list(struct blk+AF8-plug +ACo-plug, bool from+AF8-schedule)
+AD4  
+AD4  	this+AF8-q +AD0 NULL+ADs
+AD4  	this+AF8-ctx +AD0 NULL+ADs
+AD4 +-	this+AF8-flags +AD0 0+ADs
+AD4  	depth +AD0 0+ADs
+AD4  
+AD4  	while (+ACE-list+AF8-empty(+ACY-list)) +AHs
+AD4  		rq +AD0 list+AF8-entry+AF8-rq(list.next)+ADs
+AD4  		list+AF8-del+AF8-init(+ACY-rq-+AD4-queuelist)+ADs
+AD4  		BUG+AF8-ON(+ACE-rq-+AD4-q)+ADs
+AD4 -		if (rq-+AD4-mq+AF8-ctx +ACEAPQ this+AF8-ctx) +AHs
+AD4 +-		if (+ACE-ctx+AF8-match(rq, this+AF8-ctx, this+AF8-flags)) +AHs
+AD4  			if (this+AF8-ctx) +AHs
+AD4  				trace+AF8-block+AF8-unplug(this+AF8-q, depth, +ACE-from+AF8-schedule)+ADs
+AD4  				blk+AF8-mq+AF8-sched+AF8-insert+AF8-requests(this+AF8-q, this+AF8-ctx,
+AD4 +AEAAQA -1650,6 +-1672,7 +AEAAQA void blk+AF8-mq+AF8-flush+AF8-plug+AF8-list(struct blk+AF8-plug +ACo-plug, bool from+AF8-schedule)
+AD4  								from+AF8-schedule)+ADs
+AD4  			+AH0
+AD4  
+AD4 +-			this+AF8-flags +AD0 rq-+AD4-cmd+AF8-flags+ADs
+AD4  			this+AF8-ctx +AD0 rq-+AD4-mq+AF8-ctx+ADs
+AD4  			this+AF8-q +AD0 rq-+AD4-q+ADs
+AD4  			depth +AD0 0+ADs

This patch will cause the function stored in the flags+AF8-to+AF8-type pointer to be
called 2 +ACo (n - 1) times where n is the number of elements in 'list' when
blk+AF8-mq+AF8-sched+AF8-insert+AF8-requests() is called. Have you considered to rearrange
the code such that that number of calls is reduced to n?

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