Re: Slow I/O on USB media after commit f664a3cc17b7d0a2bc3b3ab96181e1029b0ec0e6

2019-09-25 Thread Jens Axboe
t; or something similar. Then build a kernel from the new source code and > test it. > > Ultimately, if nobody can find a way to restore the sequential I/O > behavior we had prior to commit f664a3cc17b7, that commit may have to > be reverted. Don't use patch1, it's buggy. patch2 should be enough to test the theory. -- Jens Axboe

Re: [PATCH V6 0/4] Fix zone revalidation memory allocation failures

2019-07-12 Thread Jens Axboe
On 7/11/19 8:05 PM, Jens Axboe wrote: > On 7/7/19 8:02 PM, Damien Le Moal wrote: >> On 2019/07/01 14:09, Damien Le Moal wrote: >>> This series addresses a recuring problem with zone revalidation >>> failures observed during extensive testing with memory constraine

Re: [PATCH V6 0/4] Fix zone revalidation memory allocation failures

2019-07-11 Thread Jens Axboe
s, Martin, > > Any comment regarding this series ? LGTM, I'll queue it up for this release. -- Jens Axboe

Re: [PATCH V9 0/7] blk-mq: fix races related with freeing queue

2019-05-04 Thread Jens Axboe
turns out it isn't easy to fix them all. > > So move freeing of hw queue resources into hctx's release handler, then > the above issue is fixed. Meantime, this way is safe given freeing hw > queue resource doesn't require tags. Applied, thanks Ming. -- Jens Axboe

Re: [PATCH 2/2] scsi: core: avoid to pre-allocate big chunk for sg list

2019-04-24 Thread Jens Axboe
use a livelock. If the system > is running out of memory and the page cache submits a write request with > a scatterlist with more than two elements, if the kmalloc() for the > scatterlist fails, will that prevent the page cache from making any progress > with writeback? The mempool prevents that - as long as we have at least one reserved unit of the given size, we know we'll always make progress (eventually). The finite life times of the sg pool allocations guarantee that. -- Jens Axboe

Re: [PATCH v3 0/5] block: skip media change event handling if unsupported

2019-04-12 Thread Jens Axboe
ified, and the > whole events checking code path can be skipped. This simplifies handling > of non-removable SCSI disks. > > I have tested this with removable and non-removable SCSI disks, SCSI > cdrom, and ide-cd. > > This patch set targets the same problem as Hannes' late submission "sd: > skip non-removable devices in sd_check_events()". Applied for 5.2, thanks. -- Jens Axboe

Re: [PATCH 0/2] Limit number of hw queues by nr_cpu_ids for virtio-blk and virtio-scsi

2019-04-10 Thread Jens Axboe
into MSI-X with one vector for config > and one shared for queues. > > Considering above reasons, this patch set limits the number of hw queues > used by nr_cpu_ids for both virtio-blk and virtio-scsi. I picked both up for 5.1. -- Jens Axboe

Re: [PATCH] scsi: sd: fix entropy gathering for most rotational disks

2019-02-12 Thread Jens Axboe
nly if the device actually reports being non-rotational via > the VPD page. Reviewed-by: Jens Axboe -- Jens Axboe

Re: [5.0-rc5 regression] "scsi: kill off the legacy IO path" causes 5 minute delay during boot on Sun Blade 2500

2019-02-12 Thread Jens Axboe
On 2/12/19 8:24 AM, James Bottomley wrote: > On Mon, 2019-02-11 at 19:50 -0700, Jens Axboe wrote: >> On 2/11/19 7:13 PM, James Bottomley wrote: >>> On Mon, 2019-02-11 at 09:31 -0700, Jens Axboe wrote: >>>> On 2/11/19 9:28 AM, James Bottomley wrote: >>>>

Re: [5.0-rc5 regression] "scsi: kill off the legacy IO path" causes 5 minute delay during boot on Sun Blade 2500

2019-02-11 Thread Jens Axboe
On 2/11/19 7:13 PM, James Bottomley wrote: > On Mon, 2019-02-11 at 09:31 -0700, Jens Axboe wrote: >> On 2/11/19 9:28 AM, James Bottomley wrote: >>> On Mon, 2019-02-11 at 08:46 -0700, Jens Axboe wrote: >>>> On 2/11/19 8:42 AM, James Bottomley wrote: >>>>

LSF/MM 2019: Call for Proposals (UPDATED!)

2019-02-07 Thread Jens Axboe
aker (Filesystems) Josef Bacik (Filesystems) Martin K. Petersen (Storage) Jens Axboe (Storage) Michal Hocko (MM) Rik van Riel (MM) Johannes Weiner (MM) Alexei Starovoitov (BPF) -- Jens Axboe

Re: remove exofs, the T10 OSD code and block/scsi bidi support V4

2019-02-01 Thread Jens Axboe
is for me ;-)" > > Now the last time this caused a bit of a stir, but still no actual users, > not even for SG_IO passthrough commands. So here we go again, this time > including removing everything in the scsi and block layer supporting it, > and thus shrinking struct request. I&#

Re: dd hangs when reading large partitions

2019-01-19 Thread Jens Axboe
On 1/19/19 2:56 AM, Christoph Hellwig wrote: > On Fri, Jan 18, 2019 at 10:48:15AM -0700, Jens Axboe wrote: >> It's UFS that totally buggy, if you look at its queuecommand, it does: >> >> if (!down_read_trylock(&hba->clk_scaling_lock))

Re: dd hangs when reading large partitions

2019-01-18 Thread Jens Axboe
On 1/18/19 10:51 AM, Bart Van Assche wrote: > On Fri, 2019-01-18 at 10:48 -0700, Jens Axboe wrote: >> It's UFS that totally buggy, if you look at its queuecommand, it does: >> >> if (!down_read_trylock(&hba->clk_scaling_lock))

Re: dd hangs when reading large partitions

2019-01-18 Thread Jens Axboe
the ->queuecommand() ever blocks, this should be set +*/ + int queue_may_block; + /* * In many instances, especially where disconnect / reconnect are * supported, our host also has an ID on the SCSI bus. If this is @@ -584,6 +589,7 @@ struct Scsi_Host { int this_id; int can_queue; + int queue_may_block; short cmd_per_lun; short unsigned int sg_tablesize; short unsigned int sg_prot_tablesize; -- Jens Axboe

LSF/MM 2019: Call for Proposals

2019-01-18 Thread Jens Axboe
is year's, please also send that to: lsf...@lists.linux-foundation.org Thank you on behalf of the program committee: Anna Schumaker (Filesystems) Josef Bacik (Filesystems) Martin K. Petersen (Storage) Jens Axboe (Storage) Michal Hocko (MM)

Re: [PATCH] scsi: isci: initialize shost fully before calling scsi_add_host()

2019-01-08 Thread Jens Axboe
calls > t10_pi_complete(). > > To prevent this, the calls to scsi_host_set_prot() are moved into > isci_host_alloc() before the call to scsi_add_host(). Out of caution, > also move the similar call to scsi_host_set_guard(). Nice work! Reviewed-by: Jens Axboe -- Jens Axboe

Re: [PATCH] sd: use mempool for discard special page

2018-12-22 Thread Jens Axboe
On 12/22/18 10:42 AM, James Bottomley wrote: > On Fri, 2018-12-21 at 20:49 -0700, Jens Axboe wrote: >> On 12/21/18 7:48 PM, James Bottomley wrote: >>> On Wed, 2018-12-12 at 06:46 -0700, Jens Axboe wrote: >>>> When boxes are run near (or to) OOM, we have a prob

Re: [PATCH] sd: use mempool for discard special page

2018-12-21 Thread Jens Axboe
On 12/21/18 7:48 PM, James Bottomley wrote: > On Wed, 2018-12-12 at 06:46 -0700, Jens Axboe wrote: >> When boxes are run near (or to) OOM, we have a problem with the >> discard page allocation in sd. If we fail allocating the special >> page, we return busy, and it'

Re: [PATCH v2] bsg: deprecate BIDI support in bsg

2018-12-20 Thread Jens Axboe
SBC4r15. It probably doesn't make sense to keep the support > code around just for that, so start deprecating the support. Applied, thanks. -- Jens Axboe

Re: [PATCH] bsg: deprecate BIDI support in bsg

2018-12-20 Thread Jens Axboe
On 12/20/18 12:12 AM, Christoph Hellwig wrote: > On Wed, Dec 19, 2018 at 04:23:14PM -0700, Jens Axboe wrote: >> On 12/19/18 7:39 AM, Christoph Hellwig wrote: >>> Besides the OSD command set that never got traction, the only SCSI >>> command using bidirectional buffers i

Re: [PATCH] bsg: deprecate BIDI support in bsg

2018-12-19 Thread Jens Axboe
pport code around just for that, so start > deprecating the support. Acked-by: Jens Axboe -- Jens Axboe

Re: remove the "clustering" flag V2

2018-12-18 Thread Jens Axboe
and and patch 9 forgot to > update myrs and myrb. > > I left patch 10 for Jens to merge later (unless he acks it for me to > pull in). You can add my reviewed-by to 10 and add that one too, that makes more sense than me adding it for a post-merge pull. But either way works for me. -- Jens Axboe

Re: [PATCH V2] blk-mq: Set request mapping to NULL in blk_mq_put_driver_tag

2018-12-18 Thread Jens Axboe
isn't going away. The mpt3sas use case is crap. It's iterating every tag, just in case it needs to do something to it. My suggestion would be to scrap that bad implementation and have something available for iterating busy tags instead. That'd be more appropriate and a lot more efficient that a random loop from 0..depth. If you are flushing running commands, looking up tags that aren't even active is silly and counterproductive. -- Jens Axboe

Re: [PATCH V2] blk-mq: Set request mapping to NULL in blk_mq_put_driver_tag

2018-12-18 Thread Jens Axboe
henever scsi_device is deleted, associated >>> request is also deleted. What is missing is - "Deleted request still >>> available in >>> hctx->tags->rqs[rq->tag]." >> >> So that sounds like the issue. If the device is deleted and its requests >> go away, >> those pointers should be cleared. That's what your patch should do, not do >> it >> for each IO. > > At the time of device removal, it requires reverse traversing. Find out if > each requests associated with sdev is part of hctx->tags->rqs() and clear > that entry. > Not sure about atomic traverse if more than one device removal is happening > in parallel. May be more error prone. ? > > Just wondering both the way we will be removing invalid request from array. > Are you suspecting any performance issue if we do it per IO ? It's an extra store, and it's a store to an area that's then now shared between issue and completion. Those are never a good idea. Besides, it's the kind of issue you solve in the SLOW path, not in the fast path. Since that's doable, it would be silly to do it for every IO. This might not matter on mpt3sas, but on more efficient hw it definitely will. I'm still trying to convince myself that this issue even exists. I can see having stale entries, but those should never be busy. Why are you finding them with the tag iteration? It must be because the tag is reused, and you are finding it before it's re-assigned? -- Jens Axboe

Re: [PATCH V2] blk-mq: Set request mapping to NULL in blk_mq_put_driver_tag

2018-12-18 Thread Jens Axboe
s request pool per HBA. > > Example - IF HBA queue depth is 1K and there are 8 device behind that HBA, > total request pool is created is 1K + 8 * scsi_device queue depth. 1K will > be always static, but other request pool is managed whenever scsi device is > added/removed. > > I never observe requests allocated per HBA is used in IO path. It is always > request allocated per scsi device is what active. > Also, what I observed is whenever scsi_device is deleted, associated request > is also deleted. What is missing is - "Deleted request still available in > hctx->tags->rqs[rq->tag]." So that sounds like the issue. If the device is deleted and its requests go away, those pointers should be cleared. That's what your patch should do, not do it for each IO. -- Jens Axboe

Re: [PATCH V2] blk-mq: Set request mapping to NULL in blk_mq_put_driver_tag

2018-12-18 Thread Jens Axboe
gt; > Avoiding block layer changes is also attempted in but our problem > is to convert that code common for non-mq and mq. > Temporary to unblock this issue, We have fixed using driver > internals scsiio_tracker() instead of piggy back in scsi_command. For mq, the requests never go out of scope, they are always valid. So the key question here is WHY they have been freed. If the queue gets killed, then one potential solution would be to clear pointers in the tag map belonging to that queue. That also takes it out of the hot path. -- Jens Axboe

Re: [PATCH V2] blk-mq: Set request mapping to NULL in blk_mq_put_driver_tag

2018-12-18 Thread Jens Axboe
ed > by modifying the mpt3sas driver. So why to fix this by modifying the block > layer? Additionally, what prevents that a race condition occurs between > the block layer clearing hctx->tags->rqs[rq->tag] and scsi_host_find_tag() > reading that same array element? I'm afraid that this is an attempt to > paper over a real problem instead of fixing the root cause. I have to agree with Bart here, I just don't see how the mpt3sas use case is special. The change will paper over the issue in any case. -- Jens Axboe

Re: [PATCH 2/2] scsi: ufs: add inline crypto support to UFS HCD

2018-12-13 Thread Jens Axboe
On 12/13/18 1:04 PM, Ladvine D Almeida wrote: > On 13/12/18 7:42 PM, Jens Axboe wrote: >> On 12/13/18 12:39 PM, Ladvine D Almeida wrote: >>> Suggest to take a look into the article >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lwn.net_Articles_717754&d=Dw

Re: [PATCH 2/2] scsi: ufs: add inline crypto support to UFS HCD

2018-12-13 Thread Jens Axboe
ou both need to edit when you reply, wading through 650 lines of text to get to this... You obviously can't modify the bio if you don't own it, but you could clone it and then you have storage in ->bi_private. -- Jens Axboe

Re: [PATCH] sd: use mempool for discard special page

2018-12-12 Thread Jens Axboe
On 12/12/18 8:33 AM, Jens Axboe wrote: > On 12/12/18 8:32 AM, Christoph Hellwig wrote: >> On Wed, Dec 12, 2018 at 08:22:37AM -0700, Jens Axboe wrote: >>> That one is a little worse, since we only need a full page if we >>> use all 256 segments. I don't want to ma

Re: [PATCH] sd: use mempool for discard special page

2018-12-12 Thread Jens Axboe
On 12/12/18 8:32 AM, Christoph Hellwig wrote: > On Wed, Dec 12, 2018 at 08:22:37AM -0700, Jens Axboe wrote: >> That one is a little worse, since we only need a full page if we >> use all 256 segments. I don't want to make the fast case of >> 16 bytes single segment all

Re: [PATCH] sd: use mempool for discard special page

2018-12-12 Thread Jens Axboe
On 12/12/18 7:35 AM, Jens Axboe wrote: > On 12/12/18 7:21 AM, Christoph Hellwig wrote: >> Looks good: >> >> Reviewed-by: Christoph Hellwig >> >> Note that NVMe will need the same treatment. > > Indeed, I'll prep one for that too. That one is a little

Re: [PATCH] sd: use mempool for discard special page

2018-12-12 Thread Jens Axboe
On 12/12/18 7:21 AM, Christoph Hellwig wrote: > Looks good: > > Reviewed-by: Christoph Hellwig > > Note that NVMe will need the same treatment. Indeed, I'll prep one for that too. -- Jens Axboe

[PATCH] sd: use mempool for discard special page

2018-12-12 Thread Jens Axboe
/0x40 Ensure that the discard page allocation has a mempool backing, so we know we can make progress. Cc: sta...@vger.kernel.org Signed-off-by: Jens Axboe --- We actually hit this in production, it's not a theoretical issue. diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 4a

Re: [PATCH] scsi: Fix a harmless double shift bug

2018-12-07 Thread Jens Axboe
On 12/7/18 8:20 PM, Martin K. Petersen wrote: > > Jens, > > This went in through your tree. Can you please pick this fix up? Yep, applied, thanks Dan. -- Jens Axboe

Re: +AFs-PATCH+AF0- blk-mq: Set request mapping to NULL in blk+AF8-mq+AF8-put+AF8-driver+AF8-tag

2018-12-06 Thread Jens Axboe
provide control if driver wants to quit in-between or do some > retry logic etc. > > Why can't we add single API which provides the correct output. >From 4.21 and forward, there will only be blk/scsi-mq. This is exactly the problem with having to maintain two stacks, it's a huge pain. -- Jens Axboe

Re: [PATCH RFC 00/15] Zero ****s, hugload of hugs <3

2018-11-30 Thread Jens Axboe
. And with that, can we please put an end to this thread (and patchset)? -- Jens Axboe

Re: [PATCH RFC 00/15] Zero ****s, hugload of hugs <3

2018-11-30 Thread Jens Axboe
. How would anyone get offended by reading > technical comments? This is all beyond me... Agree, this is insanity. -- Jens Axboe

Re: [PATCHv4 0/3] scsi timeout handling updates

2018-11-28 Thread Jens Axboe
On 11/28/18 9:26 AM, Keith Busch wrote: > On Wed, Nov 28, 2018 at 08:58:00AM -0700, Jens Axboe wrote: >> On 11/28/18 8:49 AM, Keith Busch wrote: >>> On Wed, Nov 28, 2018 at 11:08:48AM +0100, Christoph Hellwig wrote: >>>> On Wed, Nov 28, 2018 at 06:07:01PM +0800, Ming

Re: [PATCHv4 0/3] scsi timeout handling updates

2018-11-28 Thread Jens Axboe
rder. If this were a real device, that'd probably result > in data corruption. null_blk just needs updating for this. -- Jens Axboe

Re: [PATCHv4 0/3] scsi timeout handling updates

2018-11-26 Thread Jens Axboe
to its completed state by > shifting that expense to lower level drivers that actually need it, > and removing the software layering violation that was required to use > that mechnaism. Thanks Keith, added for 4.21. -- Jens Axboe

Re: [PATCHv3 2/3] scsi: Do not rely on blk-mq for double completions

2018-11-26 Thread Jens Axboe
r two and then move that over as well. >> >> The only concurrent access is completion + timeout, otherwise access is >> single-threaded. I'm using the atomic operations only where it is >> needed. >> >> We implicitly clear the SCMD_COMPLETED flag along with SCMD_TAGGED in >> scsi_init_command() too, and I didn't want to add new overhead with >> new atomics. > > In general mixing access types on a single field (nevermind bit) > is going to cause us problems further down the road sooner or later. > > I'd be much happier with a separate field. Keith, will you please respin with the separate field? Would be nice to get this merged for 4.21. -- Jens Axboe

Re: [PATCH V2] SCSI: fix queue cleanup race before queue initialization is done

2018-11-21 Thread Jens Axboe
On 11/21/18 7:00 PM, Ming Lei wrote: > On Wed, Nov 21, 2018 at 06:42:51PM -0700, Jens Axboe wrote: >> On 11/21/18 6:00 PM, Ming Lei wrote: >>> On Wed, Nov 21, 2018 at 02:47:35PM -0700, Jens Axboe wrote: >>>> On 11/14/18 8:20 AM, Jens Axboe wrote: >>>

Re: [PATCH V2] SCSI: fix queue cleanup race before queue initialization is done

2018-11-21 Thread Jens Axboe
On 11/21/18 6:00 PM, Ming Lei wrote: > On Wed, Nov 21, 2018 at 02:47:35PM -0700, Jens Axboe wrote: >> On 11/14/18 8:20 AM, Jens Axboe wrote: >>> On 11/14/18 1:25 AM, Ming Lei wrote: >>>> c2856ae2f315d ("blk-mq: quiesce queue before freeing queue") has &

Re: [PATCH V2] SCSI: fix queue cleanup race before queue initialization is done

2018-11-21 Thread Jens Axboe
On 11/14/18 8:20 AM, Jens Axboe wrote: > On 11/14/18 1:25 AM, Ming Lei wrote: >> c2856ae2f315d ("blk-mq: quiesce queue before freeing queue") has >> already fixed this race, however the implied synchronize_rcu() >> in blk_mq_quiesce_queue() can slow down LUN probe

Re: [PATCHv3 2/3] scsi: Do not rely on blk-mq for double completions

2018-11-19 Thread Jens Axboe
!blk_mq_complete_request(cmd->request))) >> +clear_bit(__SCMD_COMPLETE, &cmd->flags); >> } > > This looks a little odd to me. If we didn't complete the command > someone else did. Why would we clear the bit in this case? It's strictly for the fake timeout, it didn't complete it, it just ignored it. This is an artifact of the weird way that works. -- Jens Axboe

Re: [PATCHv3 0/3] scsi timeout handling updates

2018-11-15 Thread Jens Axboe
ng violation that was required to use that mechnaism. Looks good to me. -- Jens Axboe

Re: [PATCH V2] SCSI: fix queue cleanup race before queue initialization is done

2018-11-14 Thread Jens Axboe
uest and the following run queue. Thanks applied, this bug was elusive but ever present in recent testing that we did internally, it's been a huge pain in the butt. The symptoms were usually a crash in blk_mq_get_driver_tag() with hctx->tags == NULL, or a crash inside deadline request insert off requeue. -- Jens Axboe

Re: [PATCH 1/2] scsi: Do not rely on blk-mq for double completions

2018-11-13 Thread Jens Axboe
On 11/13/18 12:45 PM, Keith Busch wrote: > On Tue, Nov 13, 2018 at 12:20:46PM -0700, Jens Axboe wrote: >> On 11/13/18 11:57 AM, Keith Busch wrote: >>> static void scsi_mq_done(struct scsi_cmnd *cmd) >>> { >>> + if (test_and_set_bit(__SCMD_COMPLETE,

Re: [PATCH 1/2] scsi: Do not rely on blk-mq for double completions

2018-11-13 Thread Jens Axboe
as going to suggest a request flag, but the request is gone at this point. So that won't really work... I'm with your solution as well, fwiw. -- Jens Axboe

Re: remove the legacy BLKPREP_* values

2018-11-10 Thread Jens Axboe
On 11/9/18 6:42 AM, Christoph Hellwig wrote: > Hi Jens, > > this series gets rid of the old BLKPREP_* values from the legacy block > layer in favor of always using a blk_status_t (or a bool in one case). Applied -- Jens Axboe

Re: remove the legacy BLKPREP_* values

2018-11-09 Thread Jens Axboe
take this through the block tree with the dependencies, I'll wait a bit to let folks take a closer look. -- Jens Axboe

Re: [PATCH 09/30] scsi: kill off the legacy IO path

2018-11-09 Thread Jens Axboe
ou to base >> the 4.21 SCSI branch on it to avoid conflicting changes. > > Sure, that's fine. Great, it's all sitting in my for-4.21/block branch now. -- Jens Axboe

Re: [PATCH 09/30] scsi: kill off the legacy IO path

2018-11-06 Thread Jens Axboe
, which would make it trivial for you to base the 4.21 SCSI branch on it to avoid conflicting changes. -- Jens Axboe

Re: [PATCH 21/30] block: remove dead elevator code

2018-11-01 Thread Jens Axboe
On 11/1/18 3:26 PM, Omar Sandoval wrote: > On Wed, Oct 31, 2018 at 11:59:13AM -0600, Jens Axboe wrote: >> This removes a bunch of core and elevator related code. On the core >> front, we remove anything related to queue running, draining, >> initialization, plugging, and cong

Re: [PATCH 09/30] scsi: kill off the legacy IO path

2018-11-01 Thread Jens Axboe
device_attribute *attr, char *buf) >> } >> static DEVICE_ATTR(host_busy, S_IRUGO, show_host_busy, NULL); >> >> +static ssize_t >> +show_use_blk_mq(struct device *dev, struct device_attribute *attr, char >> *buf) >> +{ >> +return snprintf(buf, 20, "1\n"); >> +} > > Looks like you forgot to change this to sprintf() Indeed, I'll make that change. Thanks for the review! -- Jens Axboe

Re: [PATCHSET v3 0/30] blk-mq driver conversions and legacy path removal

2018-11-01 Thread Jens Axboe
On 10/31/18 8:35 PM, Ming Lei wrote: > On Wed, Oct 31, 2018 at 11:58:52AM -0600, Jens Axboe wrote: >> This patch series converts the remaining drivers to blk-mq. SCSI >> supports both paths, this removes the legacy IO path from SCSI. At the >> end, legacy IO code and sche

[PATCH 23/30] block: kill legacy parts of timeout handling

2018-10-31 Thread Jens Axboe
The only user of legacy timing now is BSG, which is invoked from the mq timeout handler. Kill the legacy code, and rename the q->rq_timed_out_fn to q->bsg_job_timeout_fn. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-core.c | 1 - block/blk-settings.c

[PATCH 18/30] block: remove legacy rq tagging

2018-10-31 Thread Jens Axboe
It's now unused, kill it. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- Documentation/block/biodoc.txt | 88 block/Makefile | 2 +- block/blk-core.c | 6 - block/blk-mq-debugfs.c | 2 - block/blk-mq-tag.c

[PATCH 22/30] block: remove __blk_put_request()

2018-10-31 Thread Jens Axboe
Now there's no difference between blk_put_request() and __blk_put_request() anymore, get rid of the underscore version and convert the few callers. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-core.c | 9 - block/blk-me

[PATCH 08/30] scsi: provide mq_ops->busy() hook

2018-10-31 Thread Jens Axboe
Only the SCSI legacy path provides a way to check if target is currently busy, provide the same for the MQ path. Cc: linux-scsi@vger.kernel.org Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- drivers/scsi/scsi_lib.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers

[PATCH 17/30] blk-cgroup: remove legacy queue bypassing

2018-10-31 Thread Jens Axboe
We only support mq devices now. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-cgroup.c | 8 1 file changed, 8 deletions(-) diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 992da5592c6e..5f10d755ec52 100644 --- a/block/blk-cgroup.c +++ b/block/blk

[PATCH 25/30] block: remove request_list code

2018-10-31 Thread Jens Axboe
It's now dead code, nobody uses it. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-cgroup.c | 47 block/blk-core.c | 75 -- block/blk-mq.c | 4 -- block/blk.h| 3 -- include/

[PATCH 19/30] block: remove non mq parts from the flush code

2018-10-31 Thread Jens Axboe
Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-flush.c | 154 +- block/blk.h | 4 +- 2 files changed, 31 insertions(+), 127 deletions(-) diff --git a/block/blk-flush.c b/block/blk-flush.c index 8b44b86779da..9baa9a119447

[PATCH 26/30] block: kill request slab cache

2018-10-31 Thread Jens Axboe
Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-core.c | 8 block/blk.h | 1 - 2 files changed, 9 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 0678ec4b1169..951e8cf082e1 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -57,11

[PATCH 27/30] block: remove req_no_special_merge() from merging code

2018-10-31 Thread Jens Axboe
It'll always be false at this point, just remove it. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-merge.c | 25 +++-- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/block/blk-merge.c b/block/blk-merge.c index 7fedc03

[PATCH 07/30] blk-mq: provide mq_ops->busy() hook

2018-10-31 Thread Jens Axboe
We'll hook into this from blk_lld_busy(), allowing blk-mq to also return whether or not a given queue currently has requests in progress. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-core.c | 2 ++ include/linux/blk-mq.h | 6 ++ 2 files changed, 8 inser

[PATCH 30/30] block: get rid of q->softirq_done_fn()

2018-10-31 Thread Jens Axboe
With the legacy path gone, all we do is funnel it through the mq_ops->complete() operation. Signed-off-by: Jens Axboe --- block/blk-mq.c | 17 - block/blk-settings.c | 6 -- block/blk-softirq.c| 4 ++-- include/linux/blk-mq.h | 3 ++- include/linux/blkde

[PATCH 28/30] blk-merge: kill dead queue lock held check

2018-10-31 Thread Jens Axboe
This is dead code, any queue reaching this part has mq_ops attached. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-merge.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/block/blk-merge.c b/block/blk-merge.c index 3561dcce2260..0128284bded4 100644 --- a/block/blk

[PATCH 29/30] block: get rid of blk_queued_rq()

2018-10-31 Thread Jens Axboe
No point in hiding what this does, just open code it in the one spot where we are still using it. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-mq.c | 2 +- include/linux/blkdev.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/block/blk

[PATCH 21/30] block: remove dead elevator code

2018-10-31 Thread Jens Axboe
. Signed-off-by: Jens Axboe --- block/bfq-iosched.c |1 - block/blk-core.c | 1749 +- block/blk-exec.c | 20 +- block/blk-ioc.c | 33 +- block/blk-merge.c|5 - block/blk-settings.c | 36 - block/blk-sysfs.c

[PATCH 24/30] bsg: move bsg-lib parts outside of request queue

2018-10-31 Thread Jens Axboe
Get rid of the special bsg job fn and timeout handler, move them into a private bsg_set instead. Mostly from Christoph, with fixes for error handling and cleanups. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/bsg-lib.c | 43

[PATCH 16/30] blk-wbt: kill check for legacy queue type

2018-10-31 Thread Jens Axboe
Everything is blk-mq at this point, so it doesn't make any sense to have this option available as it does nothing. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/Kconfig | 6 -- block/blk-wbt.c | 3 +-- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/

[PATCH 15/30] block: remove blk_complete_request()

2018-10-31 Thread Jens Axboe
It's now unused. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-softirq.c| 20 include/linux/blkdev.h | 1 - 2 files changed, 21 deletions(-) diff --git a/block/blk-softirq.c b/block/blk-softirq.c index e47a2f751884..8ca0f6caf174 100644

[PATCH 14/30] bsg: convert to use blk-mq

2018-10-31 Thread Jens Axboe
Requires a few changes to the FC transport class as well. Cc: linux-scsi@vger.kernel.org Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn Tested-by: Benjamin Block Signed-off-by: Jens Axboe --- block/bsg-lib.c | 123 +++ drivers/scsi

[PATCH 13/30] bsg: provide bsg_remove_queue() helper

2018-10-31 Thread Jens Axboe
All drivers do unregister + cleanup, provide a helper for that. Cc: linux-scsi@vger.kernel.org Reviewed-by: Hannes Reinecke Reviewed-by: Johannes Thumshirn Reviewed-by: Christoph Hellwig Tested-by: Benjamin Block Signed-off-by: Jens Axboe --- block/bsg-lib.c | 9

[PATCH 12/30] bsg: pass in desired timeout handler

2018-10-31 Thread Jens Axboe
This will ease in the conversion to blk-mq, where we can't set a timeout handler after queue init. Cc: Johannes Thumshirn Cc: linux-scsi@vger.kernel.org Reviewed-by: Hannes Reinecke Tested-by: Benjamin Block Signed-off-by: Jens Axboe --- block/bsg-lib.c | 3 ++- dr

[PATCH 10/30] block: remove q->lld_busy_fn()

2018-10-31 Thread Jens Axboe
Nobody is using the legacy path for blk_lld_busy() anymore, remove it. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-core.c | 2 -- block/blk-settings.c | 6 -- include/linux/blkdev.h | 3 --- 3 files changed, 11 deletions(-) diff --git a/block/blk-core.c b

[PATCH 11/30] dasd: remove dead code

2018-10-31 Thread Jens Axboe
ewed-by: Jan Hoeppner Signed-off-by: Stefan Haberland Signed-off-by: Jens Axboe --- drivers/s390/block/dasd_ioctl.c | 22 +- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index 2016e0ed5865..8e26

[PATCH 09/30] scsi: kill off the legacy IO path

2018-10-31 Thread Jens Axboe
Cc: linux-scsi@vger.kernel.org Acked-by: Himanshu Madhani Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- Documentation/scsi/scsi-parameters.txt | 5 - drivers/scsi/Kconfig | 12 - drivers/scsi/cxlflash/main.c | 6 - drivers/scsi/hosts.c

[PATCH 06/30] blk-mq: remove legacy check in queue blk_freeze_queue()

2018-10-31 Thread Jens Axboe
Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-mq.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 4c82dc44d4d8..a58d2d953876 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -177,8 +177,6 @@ void blk_freeze_queue(struct

[PATCH 03/30] mspro_block: convert to blk-mq

2018-10-31 Thread Jens Axboe
Straight forward conversion, there's room for improvement. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- drivers/memstick/core/mspro_block.c | 121 +++- 1 file changed, 66 insertions(+), 55 deletions(-) diff --git a/drivers/memstick/core/mspro_block

[PATCH 05/30] blk-mq: remove the request_list usage

2018-10-31 Thread Jens Axboe
We don't do anything with it, that's just the legacy path. Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- block/blk-mq.c | 5 - 1 file changed, 5 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 3f91c6e5b17a..4c82dc44d4d8 100644 --- a/block/blk-mq.c +

[PATCHSET v3 0/30] blk-mq driver conversions and legacy path removal

2018-10-31 Thread Jens Axboe
| 18 +- include/scsi/scsi_tcq.h| 14 +- init/do_mounts_initrd.c|3 - init/initramfs.c |6 - init/main.c| 12 - 77 files changed, 837 insertions(+), 10733 deletions(-) -- Jens Axboe

[PATCH 04/30] ide: convert to blk-mq

2018-10-31 Thread Jens Axboe
Cc: David Miller Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- drivers/ide/ide-atapi.c | 25 -- drivers/ide/ide-cd.c| 175 +--- drivers/ide/ide-disk.c | 5 +- drivers/ide/ide-io.c| 100 +-- drivers/ide/ide-par

[PATCH 02/30] ms_block: convert to blk-mq

2018-10-31 Thread Jens Axboe
Signed-off-by: Jens Axboe --- drivers/memstick/core/ms_block.c | 110 +-- drivers/memstick/core/ms_block.h | 1 + 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c index 8a02f11076f9

[PATCH 01/30] sunvdc: convert to blk-mq

2018-10-31 Thread Jens Axboe
Convert from the old request_fn style driver to blk-mq. Cc: David Miller Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- drivers/block/sunvdc.c | 149 +++-- 1 file changed, 98 insertions(+), 51 deletions(-) diff --git a/drivers/block/sunvdc.c b

Re: remove exofs and the T10 OSD code V2

2018-10-31 Thread Jens Axboe
On 10/30/18 1:45 AM, Christoph Hellwig wrote: > On Mon, Oct 29, 2018 at 02:42:12PM -0600, Jens Axboe wrote: >> LGTM, for both: > > I also have this one on top as requested by Martin. The core block > bidi support is unfortunately also used by bsg-lib, although it is >

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 11:46 AM, Thomas Gleixner wrote: > On Tue, 30 Oct 2018, Jens Axboe wrote: >> On 10/30/18 11:25 AM, Thomas Gleixner wrote: >>> Jens, >>> >>> On Tue, 30 Oct 2018, Jens Axboe wrote: >>>> On 10/30/18 10:02 AM, Keith Busch wrote: >>>&

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 11:34 AM, Jens Axboe wrote: > On 10/30/18 11:25 AM, Thomas Gleixner wrote: >> Jens, >> >> On Tue, 30 Oct 2018, Jens Axboe wrote: >>> On 10/30/18 10:02 AM, Keith Busch wrote: >>>> pci_alloc_irq_vectors_affinity() starts at the provided ma

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 11:25 AM, Thomas Gleixner wrote: > Jens, > > On Tue, 30 Oct 2018, Jens Axboe wrote: >> On 10/30/18 10:02 AM, Keith Busch wrote: >>> pci_alloc_irq_vectors_affinity() starts at the provided max_vecs. If >>> that doesn't work, it will iterate down to

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 11:22 AM, Keith Busch wrote: > On Tue, Oct 30, 2018 at 11:09:04AM -0600, Jens Axboe wrote: >> Pretty trivial, below. This also keeps the queue mapping calculations >> more clean, as we don't have to do one after we're done allocating >> IRQs. > &g

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

2018-10-30 Thread Jens Axboe
just respin and keep the 'ctx' argument to keep that perfectly clear. It'll work just fine with different ctxs, but they will end up on a non-matching ctx which isn't ideal. -- Jens Axboe

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 10:42 AM, Jens Axboe wrote: > On 10/30/18 10:02 AM, Keith Busch wrote: >> On Tue, Oct 30, 2018 at 09:18:05AM -0600, Jens Axboe wrote: >>> On 10/30/18 9:08 AM, Keith Busch wrote: >>>> On Tue, Oct 30, 2018 at 08:53:37AM -0600, Jens Axboe wrote: >>>

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 10:02 AM, Keith Busch wrote: > On Tue, Oct 30, 2018 at 09:18:05AM -0600, Jens Axboe wrote: >> On 10/30/18 9:08 AM, Keith Busch wrote: >>> On Tue, Oct 30, 2018 at 08:53:37AM -0600, Jens Axboe wrote: >>>> The sum of the set can't exceed the n

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 9:08 AM, Keith Busch wrote: > On Tue, Oct 30, 2018 at 08:53:37AM -0600, Jens Axboe wrote: >> The sum of the set can't exceed the nvecs passed in, the nvecs passed in >> should be the less than or equal to nvecs. Granted this isn't enforced, >> and

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 8:45 AM, Keith Busch wrote: > On Tue, Oct 30, 2018 at 08:36:35AM -0600, Jens Axboe wrote: >> On 10/30/18 8:26 AM, Keith Busch wrote: >>> On Mon, Oct 29, 2018 at 10:37:35AM -0600, Jens Axboe wrote: >>>> diff --git a/kernel/irq/affinity.c b/kernel/irq/affi

Re: [PATCH 11/14] irq: add support for allocating (and affinitizing) sets of IRQs

2018-10-30 Thread Jens Axboe
On 10/30/18 8:26 AM, Keith Busch wrote: > On Mon, Oct 29, 2018 at 10:37:35AM -0600, Jens Axboe wrote: >> diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c >> index f4f29b9d90ee..2046a0f0f0f1 100644 >> --- a/kernel/irq/affinity.c >> +++ b/kernel/irq/aff

Re: [PATCHSET 0/28] blk-mq driver conversions and legacy path removal

2018-10-30 Thread Jens Axboe
On 10/30/18 3:41 AM, Ming Lei wrote: > On Mon, Oct 29, 2018 at 09:04:33AM -0600, Jens Axboe wrote: >> On 10/29/18 8:50 AM, Jens Axboe wrote: >>> On 10/29/18 6:00 AM, Ming Lei wrote: >>>> On Thu, Oct 25, 2018 at 03:10:11PM -0600, Jens Axboe wrote: >>>>&

  1   2   3   4   5   6   7   8   9   10   >