[Stgt-devel] ibmvio is slow

FUJITA Tomonori fujita.tomonori
Wed Jun 20 01:40:51 CEST 2007


From: Bastian Blank <waldi at berlios.de>
Subject: [Stgt-devel] ibmvio is slow
Date: Tue, 19 Jun 2007 19:18:38 +0200

> Hi folks
> 
> I tried the ibmvio target on a busy vioserver on a power5 machine. It
> works fine, I got no problem. It provides services to 7 initiators with
> at least 2 luns each.

Nice.


> But it is slow. I can write at most 15MiB/s to the disks, regardless of
> the count of the initiators and disks.
> 
> I used strace and saw the following:
> 
> | mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_SHARED, 14, 0xc6185) = 0xf7e28000 <0.000026>
> | write(8, "\0", 1)                       = 1 <0.002088>
> | munmap(0xf7f5e000, 12288)               = 0 <0.000022>
> | mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_SHARED, 14, 0xc61a5) = 0xf7e08000 <0.000025>
> | write(8, "\0", 1)                       = 1 <0.002060>
> | munmap(0xf7fde000, 4096)                = 0 <0.000022>
> | mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_SHARED, 14, 0xc61c5) = 0xf7de8000 <0.000023>
> | write(8, "\0", 1)                       = 1 <0.002130>
> | munmap(0xf7f12000, 73728)               = 0 <0.000031>
> 
> Each request produces a mmap, a write and a unmap. The time needed for the
> write, which seems to be a request available flag, needs 2ms, which means at
> most 50 requests/s.

We don't need to call mmap/unmap per request though this hack is
disable to keep the code simple. We need to find a way to avoid
registering/de-registering memory region for more high performance.

But we are not ready for them yet. I need to fix the patches in
the scsi-target tree and send them to upstream first.



More information about the stgt mailing list