Project

General

Profile

Actions

Bug #2577

open

virtio-blk iops performance is cpu limited on high end devices

Added by gjs278 over 10 years ago. Updated over 10 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
08/01/2013
Due date:
% Done:

0%

Estimated time:

Description

Qemu 1.5.2 on Gentoo AMD64 kernel 3.10.4 host with an i7 980x processor at 4.2ghz

qemu-system-x86_64 -machine accel=kvm -cpu host -drive file=/dev/fioa3,if=virtio,cache=none,aio=native -balloon virtio -smp 6 -m 6144M

/dev/fioa3 is a 160gb slc fusion-io card

DragonFlyBSD 3.4.2-RELEASE is the guest OS

  1. /tmp/rr1 /dev/vbd0
    Device /dev/vbd0 bufsize 512 limit 10.800GB nprocs 32
    randrand 1.001s 24293 loops = 41.202uS/loop
    randrand 1.002s 24384 loops = 41.072uS/loop
    randrand 1.001s 24633 loops = 40.640uS/loop
  1. /tmp/rr1 /dev/vbd0 4096
    Device /dev/vbd0 bufsize 4096 limit 10.800GB nprocs 32
    randrand 1.001s 24333 loops = 41.119uS/loop
    randrand 1.002s 24389 loops = 41.052uS/loop
    randrand 1.001s 24367 loops = 41.093uS/loop
  1. /tmp/rr1 /dev/vbd0 16384
    Device /dev/vbd0 bufsize 16384 limit 10.800GB nprocs 32
    randrand 1.001s 21006 loops = 41.619uS/loop
    randrand 1.002s 21167 loops = 41.348uS/loop
    randrand 1.001s 20520 loops = 48.850uS/loop

cpu usage on the host nears 100% while /tmp/rr1 is running. at nprocs 32, the device should be capable of at least 100k iops. the same 25k limit is seen using an ssd array as well.

Actions #1

Updated by vsrinivas over 10 years ago

  • Assignee set to vsrinivas
Actions #2

Updated by gjs278 over 10 years ago

  1. sysctl machdep.cpu_idle_hlt=0

Raises cpu usage on the host OS to 100% and results in better /tmp/rr1 numbers of around 30k loops at the 512 and 4096 block size, compared to the previous results of 25k max under machdep.cpu_idle_hlt = 2

Actions

Also available in: Atom PDF