Re: Awful FreeBSD 9 block IO performance in KVM

From: Bryan Venteicher <bryanv_at_daemoninthecloset.org>
Date: Sun, 22 Jul 2012 11:08:37 -0500 (CDT)
----- Original Message -----
> From: "Dieter BSD" <dieterbsd_at_engineer.com>
> To: hackers_at_freebsd.org, current_at_freebsd.org
> Sent: Sunday, July 22, 2012 1:19:32 AM
> Subject: Re: Awful FreeBSD 9 block IO performance in KVM
> 
> >>> da0: 3.300MB/s transfers
> >>> da0: Command Queueing enabled
> >
> > root_at_freebsd:/root # dd if=/dev/zero of=/dev/da1 bs=16384
> > count=262144
> >
> > 4294967296 bytes transferred in 615.840721 secs (6974153 bytes/sec)
> 
> 1) Does a larger block size (bs=1m) help?
> 
> 2) That's roughly the speed I'd expect without queueing. Is it really
> making effective use of queueing, or is something limiting queueing to
> one transfer at a time?

The likely fix here is basically do vtblk_startio() in a separate
kproc that vtblk_strategy() enqueues bio's to. This has been on my
todo for a while, but haven't had the time. Also, the use of
bioq_disksort() probably doesn't gain much for virtualized disks,
but I never found much of a difference in my testing.

> _______________________________________________
> freebsd-hackers_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to
> "freebsd-hackers-unsubscribe_at_freebsd.org"
> 
Received on Sun Jul 22 2012 - 14:15:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC