linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: saeed.bishara@gmail.com (saeed bishara)
To: linux-arm-kernel@lists.infradead.org
Subject: Kirkwood PCI(e) write performance and DMA engine support for copy_{to, from}_user?
Date: Tue, 7 Sep 2010 10:58:08 +0300	[thread overview]
Message-ID: <AANLkTimqiAuv9XiU55VBxfPO6HZXCs5d9pshS3XDwsFc@mail.gmail.com> (raw)
In-Reply-To: <20100906141444.GD6897@debian-wegner1.datadisplay.de>

On Mon, Sep 6, 2010 at 5:14 PM, Wolfgang Wegner <ww-ml@gmx.de> wrote:
> On Mon, Sep 06, 2010 at 03:03:47PM +0100, Russell King - ARM Linux wrote:
>> On Mon, Sep 06, 2010 at 12:02:44PM +0200, Wolfgang Wegner wrote:
>> > Mapping the PCI memory space via mmap() resulted in some
>> > disappointing ~6.5 MBytes/second. I tried to modify page
>> > protection to pgprot_writecombine or pgprot_cached, but while
>> > this did reproducably change performance, it was only in
>> > some sub-percentage range. I am not sure if I understand
>> > correctly how other framebuffers handle this, but it seems
>> > the "raw" mmapped write performance is not cared about too
>> > much or maybe not that bad with most x86 chip sets?
>> > However, the idea left over after some trying and looking
>> > around is to use the DMA engine to speed up write() (and
>> > also read(), but this is not so important) system calls
>> > instead of using mmap.
>>
>> Framebuffer applications such as Xorg/Qt do not use read/write calls
>> to access their buffers because that will be painfully slow.
>
> BTW, the throughput I get with a "dd if=bitmap of=/dev/fb0 bs=512"
> is the same I get from my test application writing longwords
> sequentially to the mmapped frame buffer.
I'm not sure the writecombine is enabled properly, can you test that on DRAM?
you can do that be reserving some memory (mem=<dram size - 8M>), then
try to test throughput with and without writecombine.

saeed

  reply	other threads:[~2010-09-07  7:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-06 10:02 Kirkwood PCI(e) write performance and DMA engine support for copy_{to,from}_user? Wolfgang Wegner
2010-09-06 13:46 ` Kirkwood PCI(e) write performance and DMA engine support for copy_{to, from}_user? saeed bishara
2010-09-06 13:58   ` Kirkwood PCI(e) write performance and DMA engine support for copy_{to,from}_user? Wolfgang Wegner
2010-09-06 14:03 ` Russell King - ARM Linux
2010-09-06 14:11   ` Wolfgang Wegner
2010-09-06 14:14   ` Wolfgang Wegner
2010-09-07  7:58     ` saeed bishara [this message]
2010-09-07  9:52       ` Kirkwood PCI(e) write performance and DMA engine support for copy_{to, from}_user? saeed bishara
2010-09-07 16:11         ` Wolfgang Wegner
2010-09-07 19:14           ` Nicolas Pitre
2010-09-08  8:35             ` Wolfgang Wegner
2010-09-09 16:21               ` Wolfgang Wegner
2010-09-13 17:10                 ` Leon Woestenberg
2010-09-14  7:03                   ` Wolfgang Wegner
2010-09-15 23:39                     ` Leon Woestenberg
2010-09-07 18:38         ` Nicolas Pitre

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=AANLkTimqiAuv9XiU55VBxfPO6HZXCs5d9pshS3XDwsFc@mail.gmail.com \
    --to=saeed.bishara@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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).