All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rubén Rodríguez" <1600563@bugs.launchpad.net>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [Bug 1600563] Re: min_io_size is currently limited to size uint16_t
Date: Sat, 15 Jul 2017 18:05:24 -0000	[thread overview]
Message-ID: <150014192429.24106.12213370798228841941.malone@soybean.canonical.com> (raw)
In-Reply-To: 20160710075125.17855.72473.malonedeb@wampee.canonical.com

The value is set to uint16_t by mistake. The value is passed to Qemu in
bytes, but then it is divided by the sector size and passed to the vm in
sectors through a 16 bit register field. The vm kernel then multiplies
it again by sector size and shows (through /sys/block/x/queue) the value
in bytes. Because of this, the input value from the qemu side should be
uint32_t.

A simple patch is attached, correcting the problem. I think some extra
logic should be added after dividing by the page size, to prevent
overflowing the 16 bit register.

With that patch, I can pass a 4MB min and optimal io sizes successfully,
to match the stripe size used by RBD/Ceph. Sadly though, I see no
improvement coming out of it, but I'll document that in a separate bug
report.

root@cephvm:~# lsblk -t
NAME     ALIGNMENT  MIN-IO  OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE   RA WSAME
sda              0 4194304 4194304     512     512    1 noop      128 4096    2G

** Patch added: "min_io_size32.patch"
   https://bugs.launchpad.net/qemu/+bug/1600563/+attachment/4915272/+files/min_io_size32.patch

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1600563

Title:
  min_io_size is currently limited to size uint16_t

Status in QEMU:
  New

Bug description:
  I am using LVM VGs on MD-raid1 for hosting my KVM volumes. On the
  host, a VG looks like this:

  Disk /dev/vm/vol202a: 60 GiB, 64424509440 bytes, 125829120 sectors
  Units: sectors of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 4096 bytes
  I/O size (minimum/optimal): 131072 bytes / 131072 bytes

  In order to replicate the block device characteristics in the guest, I
  am using the following extra parameters:

  -set device.scsi0-0-0-0.logical_block_size=512
  -set device.scsi0-0-0-0.physical_block_size=4096
  -set device.scsi0-0-0-0.min_io_size=131072

  This doesn't work as qemu complains that min_io_size needs to be of
  type uint16_t.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1600563/+subscriptions

  reply	other threads:[~2017-07-15 18:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-10  7:51 [Qemu-devel] [Bug 1600563] [NEW] min_io_size is currently limited to size uint16_t Alex
2017-07-15 18:05 ` Rubén Rodríguez [this message]
2021-04-22  5:16 ` [Bug 1600563] " Thomas Huth
2021-06-22  4:17 ` Launchpad Bug Tracker

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=150014192429.24106.12213370798228841941.malone@soybean.canonical.com \
    --to=1600563@bugs.launchpad.net \
    --cc=qemu-devel@nongnu.org \
    /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.