All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <Damien.LeMoal@wdc.com>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Bob Liu <bob.liu@oracle.com>,
	"dm-devel@redhat.com" <dm-devel@redhat.com>,
	Mike Snitzer <snitzer@redhat.com>
Subject: Re: [PATCHv5 00/14] dm-zoned: metadata version 2
Date: Thu, 14 May 2020 00:55:10 +0000	[thread overview]
Message-ID: <BY5PR04MB6900B82F4BEE1B13B239D93EE7BC0@BY5PR04MB6900.namprd04.prod.outlook.com> (raw)
In-Reply-To: yq13683z7sj.fsf@oracle.com

On 2020/05/14 9:22, Martin K. Petersen wrote:
> 
> Damien,
> 
>> Any idea why the io_opt limit is not set to the physical block size
>> when the drive does not report an optimal transfer length ? Would it
>> be bad to set that value instead of leaving it to 0 ?
> 
> The original intent was that io_opt was a weak heuristic for something
> being a RAID device. Regular disk drives didn't report it. These days
> that distinction probably isn't relevant.
> 
> However, before we entertain departing from the historic io_opt
> behavior, I am a bit puzzled by the fact that you have a device that
> reports io_opt as 512 bytes. What kind of device performs best when each
> I/O is limited to a single logical block?
> 

Indeed. It is an NVMe M.2 consumer grade SSD. Nothing fancy. If you look at
nvme/host/core.c nvme_update_disk_info(), you will see that io_opt is set to the
block size... This is probably abusing this limit. So I guess the most elegant
fix may be to have nvme stop doing that ?


-- 
Damien Le Moal
Western Digital Research

  reply	other threads:[~2020-05-14  0:55 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-08  9:03 [PATCHv5 00/14] dm-zoned: metadata version 2 Hannes Reinecke
2020-05-08  9:03 ` [PATCH 01/14] dm-zoned: add 'status' and 'message' callbacks Hannes Reinecke
2020-05-08 16:29   ` Mike Snitzer
2020-05-08 18:25     ` Hannes Reinecke
2020-05-08 21:00       ` Mike Snitzer
2020-05-08  9:03 ` [PATCH 02/14] dm-zoned: store zone id within the zone structure and kill dmz_id() Hannes Reinecke
2020-05-08  9:03 ` [PATCH 03/14] dm-zoned: use array for superblock zones Hannes Reinecke
2020-05-08  9:03 ` [PATCH 04/14] dm-zoned: store device in struct dmz_sb Hannes Reinecke
2020-05-08  9:03 ` [PATCH 05/14] dm-zoned: move fields from struct dmz_dev to dmz_metadata Hannes Reinecke
2020-05-08  9:03 ` [PATCH 06/14] dm-zoned: introduce dmz_metadata_label() to format device name Hannes Reinecke
2020-05-08  9:03 ` [PATCH 07/14] dm-zoned: Introduce dmz_dev_is_dying() and dmz_check_dev() Hannes Reinecke
2020-05-08  9:03 ` [PATCH 08/14] dm-zoned: remove 'dev' argument from reclaim Hannes Reinecke
2020-05-08  9:03 ` [PATCH 09/14] dm-zoned: replace 'target' pointer in the bio context Hannes Reinecke
2020-05-08  9:03 ` [PATCH 10/14] dm-zoned: use dmz_zone_to_dev() when handling metadata I/O Hannes Reinecke
2020-05-08  9:03 ` [PATCH 11/14] dm-zoned: add metadata logging functions Hannes Reinecke
2020-05-08  9:03 ` [PATCH 12/14] dm-zoned: Reduce logging output on startup Hannes Reinecke
2020-05-11  2:48   ` Damien Le Moal
2020-05-08  9:03 ` [PATCH 13/14] dm-zoned: ignore metadata zone in dmz_alloc_zone() Hannes Reinecke
2020-05-08  9:03 ` [PATCH 14/14] dm-zoned: metadata version 2 Hannes Reinecke
2020-05-08 16:38   ` Mike Snitzer
2020-05-11  3:00   ` Damien Le Moal
2020-05-11  2:46 ` [PATCHv5 00/14] " Damien Le Moal
2020-05-11  6:31   ` Hannes Reinecke
2020-05-11  6:41     ` Damien Le Moal
2020-05-11  6:55     ` Damien Le Moal
2020-05-12 16:49     ` Mike Snitzer
2020-05-11 10:55   ` Damien Le Moal
2020-05-11 11:19     ` Hannes Reinecke
2020-05-11 11:25       ` Damien Le Moal
2020-05-11 11:24     ` Hannes Reinecke
2020-05-11 11:46       ` Damien Le Moal
2020-05-11 13:23         ` Damien Le Moal
2020-05-13 23:56           ` Damien Le Moal
2020-05-14  0:20             ` Martin K. Petersen
2020-05-14  0:55               ` Damien Le Moal [this message]
2020-05-14  2:19                 ` Martin K. Petersen
2020-05-14  2:22                   ` Damien Le Moal
2020-05-14  5:56                 ` Hannes Reinecke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BY5PR04MB6900B82F4BEE1B13B239D93EE7BC0@BY5PR04MB6900.namprd04.prod.outlook.com \
    --to=damien.lemoal@wdc.com \
    --cc=bob.liu@oracle.com \
    --cc=dm-devel@redhat.com \
    --cc=martin.petersen@oracle.com \
    --cc=snitzer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.