From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 12 Jan 2018 20:37:05 -0500 From: Mike Snitzer To: Bart Van Assche Cc: "elliott@hpe.com" , "axboe@kernel.dk" , "linux-block@vger.kernel.org" , "martin.petersen@oracle.com" , "axboe@fb.com" , "ming.lei@redhat.com" , "hch@infradead.org" , "dm-devel@redhat.com" Subject: Re: [PATCH V3 0/5] dm-rq: improve sequential I/O performance Message-ID: <20180113013705.GC7207@redhat.com> References: <20180112033308.GC25090@ming.t460p> <20180112171840.GA4541@redhat.com> <1515778013.2396.3.camel@wdc.com> <20180112174000.GB5134@redhat.com> <1515779211.2396.11.camel@wdc.com> <20180112180635.GD5134@redhat.com> <1515783288.2396.37.camel@wdc.com> <20180113005213.GB7207@redhat.com> <1515805255.2396.94.camel@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <1515805255.2396.94.camel@wdc.com> List-ID: On Fri, Jan 12 2018 at 8:00pm -0500, Bart Van Assche wrote: > On Fri, 2018-01-12 at 19:52 -0500, Mike Snitzer wrote: > > It was 50 ms before it was 100 ms. No real explaination for these > > values other than they seem to make Bart's IB SRP testbed happy? > > But that constant was not introduced by me in the dm code. No actually it was (not that there's anything wrong with that): commit 06eb061f48594aa369f6e852b352410298b317a8 Author: Bart Van Assche Date: Fri Apr 7 16:50:44 2017 -0700 dm mpath: requeue after a small delay if blk_get_request() fails If blk_get_request() returns ENODEV then multipath_clone_and_map() causes a request to be requeued immediately. This can cause a kworker thread to spend 100% of the CPU time of a single core in __blk_mq_run_hw_queue() and also can cause device removal to never finish. Avoid this by only requeuing after a delay if blk_get_request() fails. Additionally, reduce the requeue delay. Cc: stable@vger.kernel.org # 4.9+ Signed-off-by: Bart Van Assche Signed-off-by: Mike Snitzer Note that this commit actually details a different case where a blk_get_request() (in existing code) return of -ENODEV is a very compelling case to use DM_MAPIO_DELAY_REQUEUE. SO I'll revisit what is appropriate in multipath_clone_and_map() on Monday. I need a break... have a good weekend Bart.