public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Block driver changes for 3.20
@ 2015-02-12 20:57 Jens Axboe
  2015-02-12 22:37 ` Linus Torvalds
  2015-02-12 22:42 ` Stephen Rothwell
  0 siblings, 2 replies; 9+ messages in thread
From: Jens Axboe @ 2015-02-12 20:57 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel

Hi Linus,

This is the pull request for block drivers for 3.20. This branch sits on
top of (an earlier) for-3.20/core. It contains:

- The 4k/partition fixes for brd from Boaz/Matthew.

- A few xen front/back block fixes from David Vrabel and Roger Pau
  Monne.

- Floppy changes from Takashi, cleaning the device file creation.

- Switching libata to use the new blk-mq tagging policy, removing code
  (and a suboptimal implementation) from libata. This will throw you a
  merge conflict, since a bug in the original libata tagging code was
  fixed since this code was branched. Trivial. From Shaohua.

- Conversion of loop to blk-mq, from Ming Lei.

- Cleanup of the io_schedule() handling in bsg from Peter Zijlstra. He
  claims it improves on unreadable code, which will cost him a beer.

- Maintainer update or NDB, now handled by Markus Pargmann.

- NVMe:
        - Optimization from me that avoids a kmalloc/kfree per IO for
          smaller (<= 8KB) IO. This cuts about 1% of high IOPS CPU
          overhead.
        - Removal of (now) dead RCU code, a relic from before NVMe was
          converted to blk-mq.

Please pull!

  git://git.kernel.dk/linux-block.git for-3.20/drivers

----------------------------------------------------------------
Boaz Harrosh (2):
      brd: Fix all partitions BUGs
      brd: Request from fdisk 4k alignment

David Vrabel (1):
      xen-blkback: default to X86_32 ABI on x86

Jens Axboe (5):
      loop: add blk-mq.h include
      Merge branch 'for-3.20/core' into for-3.20/drivers
      null_blk: suppress invalid partition info
      Merge branch 'for-3.20/core' into for-3.20/drivers
      NVMe: avoid kmalloc/kfree for smaller IO

Markus Pargmann (1):
      MAINTAINERS: Update NBD maintainer

Matthew Wilcox (1):
      axonram: Fix bug in direct_access

Ming Lei (4):
      block: loop: improve performance via blk-mq
      block: loop: say goodby to bio
      block: loop: introduce lo_discard() and lo_req_flush()
      block: loop: don't handle REQ_FUA explicitly

Peter Zijlstra (1):
      block: Simplify bsg complete all

Roger Pau Monne (2):
      xen-blkback,xen-blkfront: add myself as maintainer
      xen-blkfront: fix accounting of reqs when migrating

Shaohua Li (3):
      libata: use blk taging
      libata: move sas ata tag allocation to libata-scsi.c
      libata: make sata_sil24 use fifo tag allocator

Takashi Iwai (1):
      floppy: Avoid manual call of device_create_file()

kaoudis (1):
      NVMe: within nvme_free_queues(), delete RCU sychro/deferred free

 MAINTAINERS                        |   4 +-
 arch/powerpc/sysdev/axonram.c      |   2 +-
 block/bsg.c                        |  72 +++----
 drivers/ata/libata-core.c          |  67 ++----
 drivers/ata/libata-scsi.c          |  30 ++-
 drivers/ata/libata.h               |   4 +-
 drivers/ata/sata_sil24.c           |   1 +
 drivers/block/brd.c                | 109 +++++-----
 drivers/block/floppy.c             |  17 +-
 drivers/block/loop.c               | 416 ++++++++++++++++++-------------------
 drivers/block/loop.h               |  18 +-
 drivers/block/null_blk.c           |   2 +-
 drivers/block/nvme-core.c          | 128 ++++++++----
 drivers/block/xen-blkback/common.h |   9 +
 drivers/block/xen-blkback/xenbus.c |   4 +-
 drivers/block/xen-blkfront.c       |   4 +-
 include/linux/libata.h             |   5 +-
 include/linux/nvme.h               |   3 +-
 include/linux/wait.h               |  15 ++
 19 files changed, 473 insertions(+), 437 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 20:57 [GIT PULL] Block driver changes for 3.20 Jens Axboe
@ 2015-02-12 22:37 ` Linus Torvalds
  2015-02-12 22:50   ` Jens Axboe
  2015-02-12 22:42 ` Stephen Rothwell
  1 sibling, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2015-02-12 22:37 UTC (permalink / raw)
  To: Jens Axboe, Tejun Heo, Ronny Hegewald, Dan Williams
  Cc: Linux Kernel Mailing List

On Thu, Feb 12, 2015 at 12:57 PM, Jens Axboe <axboe@fb.com> wrote:
>
> - Switching libata to use the new blk-mq tagging policy, removing code
>   (and a suboptimal implementation) from libata. This will throw you a
>   merge conflict, since a bug in the original libata tagging code was
>   fixed since this code was branched. Trivial. From Shaohua.

Somebody should still check my resolution, since the code had been
moved to another file. Tejun / Dan, it's your commit 72dd299d5039
("libata: allow sata_sil24 to opt-out of tag ordered submission") that
added a ATA_FLAG_LOWTAG, which conflicts with commit 98bd4be1ba95
("libata: move sas ata tag allocation to libata-scsi.c") that moved
the code.

I verified that it all looks sane, and still compiles, but somebody
should verify that the tag allocation changes still *work*,
particularly for that sata_sil24 case.

(I haven't pushed out quite yet, I'm waiting for the rest to compile
cleanly too, and then I'll do a local compile and boot to see that it
all works for me, but I'm writing this as a heads-up)

                           Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 20:57 [GIT PULL] Block driver changes for 3.20 Jens Axboe
  2015-02-12 22:37 ` Linus Torvalds
@ 2015-02-12 22:42 ` Stephen Rothwell
  1 sibling, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2015-02-12 22:42 UTC (permalink / raw)
  To: torvalds; +Cc: Jens Axboe, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 307 bytes --]

Hi Linus,

On Thu, 12 Feb 2015 13:57:52 -0700 Jens Axboe <axboe@fb.com> wrote:
>
> Shaohua Li (3):
>       libata: move sas ata tag allocation to libata-scsi.c

So, I assume you figured out the attached semantic conflict ...
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au


[-- Attachment #1.2: Type: message/rfc822, Size: 3575 bytes --]

[-- Attachment #1.2.1.1: Type: text/plain, Size: 1436 bytes --]

Hi Jens,

Today's linux-next merge of the block tree got a conflict in
drivers/ata/libata-core.c between commit 72dd299d5039 ("libata: allow
sata_sil24 to opt-out of tag ordered submission") from Linus' tree and
commit 98bd4be1ba95 ("libata: move sas ata tag allocation to
libata-scsi.c") from the block tree.

I fixed it up (I used the version from the block tree and then added
the following patch) and can carry the fix as necessary (no action is
required).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 27 Jan 2015 14:59:51 +1100
Subject: [PATCH] libata: fix for move of sas tag allocation code

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/ata/libata-scsi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index fd9be1756f0d..055e75d2176e 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -4240,7 +4240,10 @@ int ata_sas_allocate_tag(struct ata_port *ap)
 	unsigned int i, tag;
 
 	for (i = 0, tag = ap->sas_last_tag + 1; i < max_queue; i++, tag++) {
-		tag = tag < max_queue ? tag : 0;
+		if (ap->flags & ATA_FLAG_LOWTAG)
+			tag = i;
+		else
+			tag = tag < max_queue ? tag : 0;
 
 		/* the last tag is reserved for internal command. */
 		if (tag == ATA_TAG_INTERNAL)
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #1.2.1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 22:37 ` Linus Torvalds
@ 2015-02-12 22:50   ` Jens Axboe
  2015-02-12 22:55     ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Jens Axboe @ 2015-02-12 22:50 UTC (permalink / raw)
  To: Linus Torvalds, Tejun Heo, Ronny Hegewald, Dan Williams
  Cc: Linux Kernel Mailing List

On 02/12/2015 03:37 PM, Linus Torvalds wrote:
> On Thu, Feb 12, 2015 at 12:57 PM, Jens Axboe <axboe@fb.com> wrote:
>>
>> - Switching libata to use the new blk-mq tagging policy, removing code
>>    (and a suboptimal implementation) from libata. This will throw you a
>>    merge conflict, since a bug in the original libata tagging code was
>>    fixed since this code was branched. Trivial. From Shaohua.
>
> Somebody should still check my resolution, since the code had been
> moved to another file. Tejun / Dan, it's your commit 72dd299d5039
> ("libata: allow sata_sil24 to opt-out of tag ordered submission") that
> added a ATA_FLAG_LOWTAG, which conflicts with commit 98bd4be1ba95
> ("libata: move sas ata tag allocation to libata-scsi.c") that moved
> the code.
>
> I verified that it all looks sane, and still compiles, but somebody
> should verify that the tag allocation changes still *work*,
> particularly for that sata_sil24 case.
>
> (I haven't pushed out quite yet, I'm waiting for the rest to compile
> cleanly too, and then I'll do a local compile and boot to see that it
> all works for me, but I'm writing this as a heads-up)

When the code was moved, it also morphed into the sas specific tag 
allocation. And the LOWTAG part was for sil24, which doesn't call that 
code anymore. So either resolution is fine:

1) Drop the LOWTAG part of ata_sas_allocate_tag(), which is the easy 
resolve. Or,
2) Add the two LOWTAG lines in ata_sas_allocate_tag().

So don't worry too much about it, if it compiles, it's good...

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 22:50   ` Jens Axboe
@ 2015-02-12 22:55     ` Linus Torvalds
  2015-02-12 22:58       ` Jens Axboe
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2015-02-12 22:55 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Tejun Heo, Ronny Hegewald, Dan Williams,
	Linux Kernel Mailing List

On Thu, Feb 12, 2015 at 2:50 PM, Jens Axboe <axboe@fb.com> wrote:
>
> When the code was moved, it also morphed into the sas specific tag
> allocation. And the LOWTAG part was for sil24, which doesn't call that code
> anymore.

Hmm. So where does the sil24 get its tag allocation from then? Because
then *that* code presumably needs the LOWTAG hackery..

                       Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 22:55     ` Linus Torvalds
@ 2015-02-12 22:58       ` Jens Axboe
  2015-02-12 23:01         ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Jens Axboe @ 2015-02-12 22:58 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Tejun Heo, Ronny Hegewald, Dan Williams,
	Linux Kernel Mailing List

On 02/12/2015 03:55 PM, Linus Torvalds wrote:
> On Thu, Feb 12, 2015 at 2:50 PM, Jens Axboe <axboe@fb.com> wrote:
>>
>> When the code was moved, it also morphed into the sas specific tag
>> allocation. And the LOWTAG part was for sil24, which doesn't call that code
>> anymore.
>
> Hmm. So where does the sil24 get its tag allocation from then? Because
> then *that* code presumably needs the LOWTAG hackery..


commit 9269e23496ddd83b974536019cf420520df0ee7f
Author: Shaohua Li <shli@fb.com>
Date:   Fri Jan 23 20:17:59 2015 -0800

     libata: make sata_sil24 use fifo tag allocator

     libata starts using block tag now, we can use BLK_TAG_ALLOC_FIFO to
     solve the sata_sil24 tag bug.

     https://bugzilla.kernel.org/show_bug.cgi?id=87101

     Cc: Christoph Hellwig <hch@infradead.org>
     Signed-off-by: Shaohua Li <shli@fb.com>
     Acked-by: Tejun Heo <tj@kernel.org>
     Acked-by: Dan Williams <dan.j.williams@intel.com>
     Signed-off-by: Jens Axboe <axboe@fb.com>


-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 22:58       ` Jens Axboe
@ 2015-02-12 23:01         ` Linus Torvalds
  2015-02-12 23:02           ` Jens Axboe
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2015-02-12 23:01 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Tejun Heo, Ronny Hegewald, Dan Williams,
	Linux Kernel Mailing List

On Thu, Feb 12, 2015 at 2:58 PM, Jens Axboe <axboe@fb.com> wrote:
>
> commit 9269e23496ddd83b974536019cf420520df0ee7f
> Author: Shaohua Li <shli@fb.com>
> Date:   Fri Jan 23 20:17:59 2015 -0800
>
>     libata: make sata_sil24 use fifo tag allocator
>
>     libata starts using block tag now, we can use BLK_TAG_ALLOC_FIFO to
>     solve the sata_sil24 tag bug.

Ahh, ok. So we should probably just remove the now unused/useless
ATA_FLAG_LOWTAG entirely.

I'll leave my resolution alone, and leave that for Tejun if he cares.

Thanks,

                          Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 23:01         ` Linus Torvalds
@ 2015-02-12 23:02           ` Jens Axboe
  2015-02-13 12:03             ` Tejun Heo
  0 siblings, 1 reply; 9+ messages in thread
From: Jens Axboe @ 2015-02-12 23:02 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Tejun Heo, Ronny Hegewald, Dan Williams,
	Linux Kernel Mailing List

On 02/12/2015 04:01 PM, Linus Torvalds wrote:
> On Thu, Feb 12, 2015 at 2:58 PM, Jens Axboe <axboe@fb.com> wrote:
>>
>> commit 9269e23496ddd83b974536019cf420520df0ee7f
>> Author: Shaohua Li <shli@fb.com>
>> Date:   Fri Jan 23 20:17:59 2015 -0800
>>
>>      libata: make sata_sil24 use fifo tag allocator
>>
>>      libata starts using block tag now, we can use BLK_TAG_ALLOC_FIFO to
>>      solve the sata_sil24 tag bug.
>
> Ahh, ok. So we should probably just remove the now unused/useless
> ATA_FLAG_LOWTAG entirely.

Yeah, we can kill that after the fact. I probably should have pulled in 
that commit from Dan and fixed this up... But in any case, it'll be fine 
as is right now.



-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] Block driver changes for 3.20
  2015-02-12 23:02           ` Jens Axboe
@ 2015-02-13 12:03             ` Tejun Heo
  0 siblings, 0 replies; 9+ messages in thread
From: Tejun Heo @ 2015-02-13 12:03 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Linus Torvalds, Ronny Hegewald, Dan Williams,
	Linux Kernel Mailing List

Hello,

On Thu, Feb 12, 2015 at 04:02:43PM -0700, Jens Axboe wrote:
> Yeah, we can kill that after the fact. I probably should have pulled in that
> commit from Dan and fixed this up... But in any case, it'll be fine as is
> right now.

Yeap, the current code should be fine.  I'll remove the LOWTAG flag
from libata side in the coming devel window.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-02-13 12:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-12 20:57 [GIT PULL] Block driver changes for 3.20 Jens Axboe
2015-02-12 22:37 ` Linus Torvalds
2015-02-12 22:50   ` Jens Axboe
2015-02-12 22:55     ` Linus Torvalds
2015-02-12 22:58       ` Jens Axboe
2015-02-12 23:01         ` Linus Torvalds
2015-02-12 23:02           ` Jens Axboe
2015-02-13 12:03             ` Tejun Heo
2015-02-12 22:42 ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox