qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to disable(not ignore) disk discard feature


From: Frantisek Rysanek
Subject: Re: how to disable(not ignore) disk discard feature
Date: Wed, 10 Jan 2024 11:48:46 +0100

On 9 Jan 2024 at 0:20, d tbsky wrote:
>
> Since I am using RedHat family, I focus at q35 machine type 
> (pc-i440fx is no longer supported) and virtio-blk/virtio-scsi 
> device.
>
...
>
> trim is useful for ssd and sparse image file and I am using it. but 
> for hard disk I don't want extra layers to slow it down. so I use 
> thick-provisiond lvm device for vm disk backend.
>

Oh I see. You're saying that
-drive ...,discard=ignore
Does not prevent Windows (guest OS) from trying the 
discard=trim=unmap on the virtio disk device, merely those operations 
get ignored by QEMU.
Thus, Windows thinks it's trimming, while in reality it's just 
wasting time on void request+response transactions...
You're saying that apparently, virtio-blk or virtio-scsi still 
advertise the availability of that command (via SCSI INQUIRY / Vital 
Product Data / LBPU bit), or Windows understand that this is a virtio 
drive and just assumes that discard is available...

Hmm. I've just tried googling, if there's a way to do SCSI Command 
pass-through from the guest OS to the host-side physical SCSI device 
(should also work for SATA, if I understand correctly).
Here is what I've found:
https://gist.github.com/amshinde/b9b2763cb3f6752508ca522f41b583ca
i.e. it's three cmdline args to qemu-system: 1x -drive + 2x -device.

Personally I've never done this.
I always just specify the device node for a "file" in "raw" mode.

Also, I'd expect that the SCSI command passthrough could actually be 
slower for routine operation, because it doesn't make use of the 
block-level cache integrated with the host's (HV's) memory 
management...

I still think the SCSI or IDE style emulated controller might just do 
the trick, but I have no clue if your RedHat build of QEMU still 
offers those options.
In Debian, I tend to compile my own from upstream source code, 
because the distro package tends to be old and lack recent features. 
Fortunately my machines using qemu are on the experimental side :-) 
and can take a bit of punk / no harm done if something doesn't work.

Frank



reply via email to

[Prev in Thread] Current Thread [Next in Thread]