From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC 1/2] pci-dma-api-v1
Date: Sun, 30 Nov 2008 16:33:22 -0600 [thread overview]
Message-ID: <493314B2.1080508@codemonkey.ws> (raw)
In-Reply-To: <f43fc5580811271114u7ecc3277kc7518fb7dbf9b4c0@mail.gmail.com>
Blue Swirl wrote:
> On 11/27/08, Andrea Arcangeli <aarcange@redhat.com> wrote:
>
>> Hello everyone,
>>
>> Once we finish fixing storage performance with a real
>> bdrv_aio_readv/writev (now a blocker issue), a pci_dma_single can be
>> added for zero copy networking (one NIC per VM, or VMDq, IOV
>> etc..). The DMA API should allow for that too.
>>
>
> The previous similar attempt by Anthony for generic DMA using vectored
> IO was abandoned because the malloc/free overhead was more than the
> performance gain. Have you made any performance measurements? How does
> this version compare to the previous ones?
>
No, I never measured any malloc/free overhead. I think people are more
concerned with that than warranted. A good malloc implementation will
usually have O(1) complexity for similar sized allocs so malloc/free
should not be the bottleneck.
My attempt was abandoned because the API is complex and at the time,
zero copy wasn't the bottle neck we needed to overcome. Fortunately,
enough has progressed since then that it is now the bottle neck :-).
Regards,
Anthony Liguori
> I think the pci_ prefix can be removed, there is little PCI specific.
>
> For Sparc32 IOMMU (and probably other IOMMUS), it should be possible
> to register a function used in place of cpu_physical_memory_rw,
> c_p_m_can_dma etc. The goal is that it should be possible to stack the
> DMA resolvers (think of devices behind a number of buses).
>
>
>
prev parent reply other threads:[~2008-11-30 22:33 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-27 12:35 [Qemu-devel] [RFC 1/2] pci-dma-api-v1 Andrea Arcangeli
2008-11-27 12:43 ` [Qemu-devel] [RFC 2/2] bdrv_aio_readv/writev_em Andrea Arcangeli
2008-11-28 11:09 ` Jamie Lokier
2008-11-27 19:14 ` [Qemu-devel] [RFC 1/2] pci-dma-api-v1 Blue Swirl
2008-11-28 1:56 ` Andrea Arcangeli
2008-11-28 17:59 ` Blue Swirl
2008-11-28 18:50 ` Andrea Arcangeli
2008-11-28 19:03 ` Blue Swirl
2008-11-28 19:18 ` Jamie Lokier
2008-11-29 19:49 ` Avi Kivity
2008-11-30 17:20 ` Andrea Arcangeli
2008-11-30 22:31 ` Anthony Liguori
2008-11-30 18:04 ` Andrea Arcangeli
2008-11-30 17:41 ` [Qemu-devel] [RFC 1/1] pci-dma-api-v2 Andrea Arcangeli
2008-11-30 18:36 ` [Qemu-devel] " Blue Swirl
2008-11-30 19:04 ` Andrea Arcangeli
2008-11-30 19:11 ` Blue Swirl
2008-11-30 19:20 ` Andrea Arcangeli
2008-11-30 21:36 ` Blue Swirl
2008-11-30 22:54 ` Anthony Liguori
2008-11-30 22:50 ` [Qemu-devel] " Anthony Liguori
2008-12-01 9:41 ` Avi Kivity
2008-12-01 16:37 ` Anthony Liguori
2008-12-02 9:45 ` Avi Kivity
2008-11-30 22:38 ` [Qemu-devel] [RFC 1/2] pci-dma-api-v1 Anthony Liguori
2008-11-30 22:51 ` Jamie Lokier
2008-11-30 22:34 ` Anthony Liguori
2008-11-29 19:48 ` Avi Kivity
2008-11-30 17:29 ` Andrea Arcangeli
2008-11-30 20:27 ` Avi Kivity
2008-11-30 22:33 ` Andrea Arcangeli
2008-11-30 22:33 ` Anthony Liguori [this message]
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=493314B2.1080508@codemonkey.ws \
--to=anthony@codemonkey.ws \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).