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
next prev parent 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.